diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 09eee0f..c4b3d7a 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -67,11 +67,17 @@ WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} @@ -88,11 +94,17 @@ SELECT * FROM meter_train_plan WHERE is_del = 0 - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 09eee0f..c4b3d7a 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -67,11 +67,17 @@ WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} @@ -88,11 +94,17 @@ SELECT * FROM meter_train_plan WHERE is_del = 0 - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} 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 04ed845..d04eb14 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 @@ -90,5 +90,4 @@ @ApiModelProperty(value = "回退状态(已收入的状态) 1真0假", dataType = "Integer") private Integer FallbackState; - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 09eee0f..c4b3d7a 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -67,11 +67,17 @@ WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} @@ -88,11 +94,17 @@ SELECT * FROM meter_train_plan WHERE is_del = 0 - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} 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 04ed845..d04eb14 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 @@ -90,5 +90,4 @@ @ApiModelProperty(value = "回退状态(已收入的状态) 1真0假", dataType = "Integer") private Integer FallbackState; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java new file mode 100644 index 0000000..b06975f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java @@ -0,0 +1,16 @@ +package com.casic.missiles.dto.business.order; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OrderCancelRequest { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") + private String reason; +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 09eee0f..c4b3d7a 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -67,11 +67,17 @@ WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} @@ -88,11 +94,17 @@ SELECT * FROM meter_train_plan WHERE is_del = 0 - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} 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 04ed845..d04eb14 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 @@ -90,5 +90,4 @@ @ApiModelProperty(value = "回退状态(已收入的状态) 1真0假", dataType = "Integer") private Integer FallbackState; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java new file mode 100644 index 0000000..b06975f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java @@ -0,0 +1,16 @@ +package com.casic.missiles.dto.business.order; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OrderCancelRequest { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") + private String reason; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java index 9662eb8..d6206c5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java @@ -4,13 +4,18 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.List; +/** + * @author cz + */ @Data @ApiModel("设备接收") public class CertificateListRequest { @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") + @NotBlank(message = "表单id不能为空") private String formId; @ApiModelProperty(value = "证书编号", dataType = "String") @@ -20,7 +25,7 @@ private String orderNo; @ApiModelProperty(value = "委托方名称", dataType = "String") - private String cutomerName; + private String customerName; @ApiModelProperty(value = "样品编号", dataType = "String") private String sampleNo; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 09eee0f..c4b3d7a 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -67,11 +67,17 @@ WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} @@ -88,11 +94,17 @@ SELECT * FROM meter_train_plan WHERE is_del = 0 - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} 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 04ed845..d04eb14 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 @@ -90,5 +90,4 @@ @ApiModelProperty(value = "回退状态(已收入的状态) 1真0假", dataType = "Integer") private Integer FallbackState; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java new file mode 100644 index 0000000..b06975f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java @@ -0,0 +1,16 @@ +package com.casic.missiles.dto.business.order; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OrderCancelRequest { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") + private String reason; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java index 9662eb8..d6206c5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java @@ -4,13 +4,18 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.List; +/** + * @author cz + */ @Data @ApiModel("设备接收") public class CertificateListRequest { @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") + @NotBlank(message = "表单id不能为空") private String formId; @ApiModelProperty(value = "证书编号", dataType = "String") @@ -20,7 +25,7 @@ private String orderNo; @ApiModelProperty(value = "委托方名称", dataType = "String") - private String cutomerName; + private String customerName; @ApiModelProperty(value = "样品编号", dataType = "String") private String sampleNo; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java index 28c6d26..bacfc56 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java @@ -58,8 +58,14 @@ /** * 创建时间 */ - @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 表单id diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 09eee0f..c4b3d7a 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -67,11 +67,17 @@ WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} @@ -88,11 +94,17 @@ SELECT * FROM meter_train_plan WHERE is_del = 0 - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} 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 04ed845..d04eb14 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 @@ -90,5 +90,4 @@ @ApiModelProperty(value = "回退状态(已收入的状态) 1真0假", dataType = "Integer") private Integer FallbackState; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java new file mode 100644 index 0000000..b06975f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java @@ -0,0 +1,16 @@ +package com.casic.missiles.dto.business.order; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OrderCancelRequest { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") + private String reason; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java index 9662eb8..d6206c5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java @@ -4,13 +4,18 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.List; +/** + * @author cz + */ @Data @ApiModel("设备接收") public class CertificateListRequest { @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") + @NotBlank(message = "表单id不能为空") private String formId; @ApiModelProperty(value = "证书编号", dataType = "String") @@ -20,7 +25,7 @@ private String orderNo; @ApiModelProperty(value = "委托方名称", dataType = "String") - private String cutomerName; + private String customerName; @ApiModelProperty(value = "样品编号", dataType = "String") private String sampleNo; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java index 28c6d26..bacfc56 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java @@ -58,8 +58,14 @@ /** * 创建时间 */ - @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 表单id diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index 9528373..cd1066f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,7 +114,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 09eee0f..c4b3d7a 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -67,11 +67,17 @@ WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} @@ -88,11 +94,17 @@ SELECT * FROM meter_train_plan WHERE is_del = 0 - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} 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 04ed845..d04eb14 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 @@ -90,5 +90,4 @@ @ApiModelProperty(value = "回退状态(已收入的状态) 1真0假", dataType = "Integer") private Integer FallbackState; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java new file mode 100644 index 0000000..b06975f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java @@ -0,0 +1,16 @@ +package com.casic.missiles.dto.business.order; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OrderCancelRequest { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") + private String reason; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java index 9662eb8..d6206c5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java @@ -4,13 +4,18 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.List; +/** + * @author cz + */ @Data @ApiModel("设备接收") public class CertificateListRequest { @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") + @NotBlank(message = "表单id不能为空") private String formId; @ApiModelProperty(value = "证书编号", dataType = "String") @@ -20,7 +25,7 @@ private String orderNo; @ApiModelProperty(value = "委托方名称", dataType = "String") - private String cutomerName; + private String customerName; @ApiModelProperty(value = "样品编号", dataType = "String") private String sampleNo; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java index 28c6d26..bacfc56 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java @@ -58,8 +58,14 @@ /** * 创建时间 */ - @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 表单id diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index 9528373..cd1066f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,7 +114,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index b1048c1..bf75da4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,8 +111,8 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; /** * 可选决策项 diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 09eee0f..c4b3d7a 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -67,11 +67,17 @@ WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} @@ -88,11 +94,17 @@ SELECT * FROM meter_train_plan WHERE is_del = 0 - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} 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 04ed845..d04eb14 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 @@ -90,5 +90,4 @@ @ApiModelProperty(value = "回退状态(已收入的状态) 1真0假", dataType = "Integer") private Integer FallbackState; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java new file mode 100644 index 0000000..b06975f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java @@ -0,0 +1,16 @@ +package com.casic.missiles.dto.business.order; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OrderCancelRequest { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") + private String reason; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java index 9662eb8..d6206c5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java @@ -4,13 +4,18 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.List; +/** + * @author cz + */ @Data @ApiModel("设备接收") public class CertificateListRequest { @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") + @NotBlank(message = "表单id不能为空") private String formId; @ApiModelProperty(value = "证书编号", dataType = "String") @@ -20,7 +25,7 @@ private String orderNo; @ApiModelProperty(value = "委托方名称", dataType = "String") - private String cutomerName; + private String customerName; @ApiModelProperty(value = "样品编号", dataType = "String") private String sampleNo; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java index 28c6d26..bacfc56 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java @@ -58,8 +58,14 @@ /** * 创建时间 */ - @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 表单id diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index 9528373..cd1066f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,7 +114,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index b1048c1..bf75da4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,8 +111,8 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; /** * 可选决策项 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java index 9d1f2f0..8f0bfce 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java @@ -25,14 +25,26 @@ /** * 培训时间 */ - @ApiModelProperty(value = "培训时间(查询出该时间前列表倒序)", dataType = "String") - private String trainTime; + @ApiModelProperty(value = "培训开始时间", dataType = "String") + private String trainStartTime; + + /** + * 培训时间 + */ + @ApiModelProperty(value = "培训结束时间", dataType = "String") + private String trainEndTime; /** * 创建时间 */ - @ApiModelProperty(value = "创建时间(查询出该时间前列表倒序)", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 组织部门id-系统组织表 diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 09eee0f..c4b3d7a 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -67,11 +67,17 @@ WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} @@ -88,11 +94,17 @@ SELECT * FROM meter_train_plan WHERE is_del = 0 - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} 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 04ed845..d04eb14 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 @@ -90,5 +90,4 @@ @ApiModelProperty(value = "回退状态(已收入的状态) 1真0假", dataType = "Integer") private Integer FallbackState; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java new file mode 100644 index 0000000..b06975f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java @@ -0,0 +1,16 @@ +package com.casic.missiles.dto.business.order; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OrderCancelRequest { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") + private String reason; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java index 9662eb8..d6206c5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java @@ -4,13 +4,18 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.List; +/** + * @author cz + */ @Data @ApiModel("设备接收") public class CertificateListRequest { @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") + @NotBlank(message = "表单id不能为空") private String formId; @ApiModelProperty(value = "证书编号", dataType = "String") @@ -20,7 +25,7 @@ private String orderNo; @ApiModelProperty(value = "委托方名称", dataType = "String") - private String cutomerName; + private String customerName; @ApiModelProperty(value = "样品编号", dataType = "String") private String sampleNo; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java index 28c6d26..bacfc56 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java @@ -58,8 +58,14 @@ /** * 创建时间 */ - @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 表单id diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index 9528373..cd1066f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,7 +114,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index b1048c1..bf75da4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,8 +111,8 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; /** * 可选决策项 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java index 9d1f2f0..8f0bfce 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java @@ -25,14 +25,26 @@ /** * 培训时间 */ - @ApiModelProperty(value = "培训时间(查询出该时间前列表倒序)", dataType = "String") - private String trainTime; + @ApiModelProperty(value = "培训开始时间", dataType = "String") + private String trainStartTime; + + /** + * 培训时间 + */ + @ApiModelProperty(value = "培训结束时间", dataType = "String") + private String trainEndTime; /** * 创建时间 */ - @ApiModelProperty(value = "创建时间(查询出该时间前列表倒序)", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 组织部门id-系统组织表 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 8893256..847993f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -117,6 +117,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 09eee0f..c4b3d7a 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -67,11 +67,17 @@ WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} @@ -88,11 +94,17 @@ SELECT * FROM meter_train_plan WHERE is_del = 0 - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} 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 04ed845..d04eb14 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 @@ -90,5 +90,4 @@ @ApiModelProperty(value = "回退状态(已收入的状态) 1真0假", dataType = "Integer") private Integer FallbackState; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java new file mode 100644 index 0000000..b06975f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java @@ -0,0 +1,16 @@ +package com.casic.missiles.dto.business.order; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OrderCancelRequest { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") + private String reason; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java index 9662eb8..d6206c5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java @@ -4,13 +4,18 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.List; +/** + * @author cz + */ @Data @ApiModel("设备接收") public class CertificateListRequest { @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") + @NotBlank(message = "表单id不能为空") private String formId; @ApiModelProperty(value = "证书编号", dataType = "String") @@ -20,7 +25,7 @@ private String orderNo; @ApiModelProperty(value = "委托方名称", dataType = "String") - private String cutomerName; + private String customerName; @ApiModelProperty(value = "样品编号", dataType = "String") private String sampleNo; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java index 28c6d26..bacfc56 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java @@ -58,8 +58,14 @@ /** * 创建时间 */ - @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 表单id diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index 9528373..cd1066f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,7 +114,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index b1048c1..bf75da4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,8 +111,8 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; /** * 可选决策项 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java index 9d1f2f0..8f0bfce 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java @@ -25,14 +25,26 @@ /** * 培训时间 */ - @ApiModelProperty(value = "培训时间(查询出该时间前列表倒序)", dataType = "String") - private String trainTime; + @ApiModelProperty(value = "培训开始时间", dataType = "String") + private String trainStartTime; + + /** + * 培训时间 + */ + @ApiModelProperty(value = "培训结束时间", dataType = "String") + private String trainEndTime; /** * 创建时间 */ - @ApiModelProperty(value = "创建时间(查询出该时间前列表倒序)", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 组织部门id-系统组织表 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 8893256..847993f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -117,6 +117,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java new file mode 100644 index 0000000..17e0770 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java @@ -0,0 +1,37 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@TableName("business_deal_record") +@ApiModel("委托书操作记录") +@AllArgsConstructor +@Builder +@Data +public class BusinessDealRecord { + + private Long id; + + @ApiModelProperty("委托书id") + private Long orderId; + + @ApiModelProperty("原因") + private String recordContent; + + private Long createUser; + + @ApiModelProperty("操作人名称") + private String createUserName; + + @ApiModelProperty("创建时间") + private String createTime; + + @ApiModelProperty("备注") + private String remark; + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 09eee0f..c4b3d7a 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -67,11 +67,17 @@ WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} @@ -88,11 +94,17 @@ SELECT * FROM meter_train_plan WHERE is_del = 0 - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} 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 04ed845..d04eb14 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 @@ -90,5 +90,4 @@ @ApiModelProperty(value = "回退状态(已收入的状态) 1真0假", dataType = "Integer") private Integer FallbackState; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java new file mode 100644 index 0000000..b06975f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java @@ -0,0 +1,16 @@ +package com.casic.missiles.dto.business.order; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OrderCancelRequest { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") + private String reason; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java index 9662eb8..d6206c5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java @@ -4,13 +4,18 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.List; +/** + * @author cz + */ @Data @ApiModel("设备接收") public class CertificateListRequest { @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") + @NotBlank(message = "表单id不能为空") private String formId; @ApiModelProperty(value = "证书编号", dataType = "String") @@ -20,7 +25,7 @@ private String orderNo; @ApiModelProperty(value = "委托方名称", dataType = "String") - private String cutomerName; + private String customerName; @ApiModelProperty(value = "样品编号", dataType = "String") private String sampleNo; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java index 28c6d26..bacfc56 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java @@ -58,8 +58,14 @@ /** * 创建时间 */ - @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 表单id diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index 9528373..cd1066f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,7 +114,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index b1048c1..bf75da4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,8 +111,8 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; /** * 可选决策项 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java index 9d1f2f0..8f0bfce 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java @@ -25,14 +25,26 @@ /** * 培训时间 */ - @ApiModelProperty(value = "培训时间(查询出该时间前列表倒序)", dataType = "String") - private String trainTime; + @ApiModelProperty(value = "培训开始时间", dataType = "String") + private String trainStartTime; + + /** + * 培训时间 + */ + @ApiModelProperty(value = "培训结束时间", dataType = "String") + private String trainEndTime; /** * 创建时间 */ - @ApiModelProperty(value = "创建时间(查询出该时间前列表倒序)", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 组织部门id-系统组织表 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 8893256..847993f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -117,6 +117,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java new file mode 100644 index 0000000..17e0770 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java @@ -0,0 +1,37 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@TableName("business_deal_record") +@ApiModel("委托书操作记录") +@AllArgsConstructor +@Builder +@Data +public class BusinessDealRecord { + + private Long id; + + @ApiModelProperty("委托书id") + private Long orderId; + + @ApiModelProperty("原因") + private String recordContent; + + private Long createUser; + + @ApiModelProperty("操作人名称") + private String createUserName; + + @ApiModelProperty("创建时间") + private String createTime; + + @ApiModelProperty("备注") + private String remark; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java index 8778b11..9e960f6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java @@ -87,6 +87,9 @@ private Integer isDel; + @ApiModelProperty(value = "最后更新人员", dataType = "String") + private Long updateUser; + @ApiModelProperty(value = "创建人", dataType = "String") private Long createUser; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 09eee0f..c4b3d7a 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -67,11 +67,17 @@ WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} @@ -88,11 +94,17 @@ SELECT * FROM meter_train_plan WHERE is_del = 0 - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} 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 04ed845..d04eb14 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 @@ -90,5 +90,4 @@ @ApiModelProperty(value = "回退状态(已收入的状态) 1真0假", dataType = "Integer") private Integer FallbackState; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java new file mode 100644 index 0000000..b06975f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java @@ -0,0 +1,16 @@ +package com.casic.missiles.dto.business.order; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OrderCancelRequest { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") + private String reason; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java index 9662eb8..d6206c5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java @@ -4,13 +4,18 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.List; +/** + * @author cz + */ @Data @ApiModel("设备接收") public class CertificateListRequest { @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") + @NotBlank(message = "表单id不能为空") private String formId; @ApiModelProperty(value = "证书编号", dataType = "String") @@ -20,7 +25,7 @@ private String orderNo; @ApiModelProperty(value = "委托方名称", dataType = "String") - private String cutomerName; + private String customerName; @ApiModelProperty(value = "样品编号", dataType = "String") private String sampleNo; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java index 28c6d26..bacfc56 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java @@ -58,8 +58,14 @@ /** * 创建时间 */ - @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 表单id diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index 9528373..cd1066f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,7 +114,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index b1048c1..bf75da4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,8 +111,8 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; /** * 可选决策项 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java index 9d1f2f0..8f0bfce 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java @@ -25,14 +25,26 @@ /** * 培训时间 */ - @ApiModelProperty(value = "培训时间(查询出该时间前列表倒序)", dataType = "String") - private String trainTime; + @ApiModelProperty(value = "培训开始时间", dataType = "String") + private String trainStartTime; + + /** + * 培训时间 + */ + @ApiModelProperty(value = "培训结束时间", dataType = "String") + private String trainEndTime; /** * 创建时间 */ - @ApiModelProperty(value = "创建时间(查询出该时间前列表倒序)", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 组织部门id-系统组织表 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 8893256..847993f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -117,6 +117,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java new file mode 100644 index 0000000..17e0770 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java @@ -0,0 +1,37 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@TableName("business_deal_record") +@ApiModel("委托书操作记录") +@AllArgsConstructor +@Builder +@Data +public class BusinessDealRecord { + + private Long id; + + @ApiModelProperty("委托书id") + private Long orderId; + + @ApiModelProperty("原因") + private String recordContent; + + private Long createUser; + + @ApiModelProperty("操作人名称") + private String createUserName; + + @ApiModelProperty("创建时间") + private String createTime; + + @ApiModelProperty("备注") + private String remark; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java index 8778b11..9e960f6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java @@ -87,6 +87,9 @@ private Integer isDel; + @ApiModelProperty(value = "最后更新人员", dataType = "String") + private Long updateUser; + @ApiModelProperty(value = "创建人", dataType = "String") private Long createUser; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java new file mode 100644 index 0000000..6572d23 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java @@ -0,0 +1,31 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * @author cz + */ +@Data +@TableName("business_order_record") +public class BusinessOrderRecord { + + private Long id; + + private Long orderId; + + /** + * 记录内容 + */ + private String recordTContent; + + /** + * 创建人id + */ + private Long createUser; + + /** + * 创建人时间 + */ + private String createTime; +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 09eee0f..c4b3d7a 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -67,11 +67,17 @@ WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} @@ -88,11 +94,17 @@ SELECT * FROM meter_train_plan WHERE is_del = 0 - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} 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 04ed845..d04eb14 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 @@ -90,5 +90,4 @@ @ApiModelProperty(value = "回退状态(已收入的状态) 1真0假", dataType = "Integer") private Integer FallbackState; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java new file mode 100644 index 0000000..b06975f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java @@ -0,0 +1,16 @@ +package com.casic.missiles.dto.business.order; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OrderCancelRequest { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") + private String reason; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java index 9662eb8..d6206c5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java @@ -4,13 +4,18 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.List; +/** + * @author cz + */ @Data @ApiModel("设备接收") public class CertificateListRequest { @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") + @NotBlank(message = "表单id不能为空") private String formId; @ApiModelProperty(value = "证书编号", dataType = "String") @@ -20,7 +25,7 @@ private String orderNo; @ApiModelProperty(value = "委托方名称", dataType = "String") - private String cutomerName; + private String customerName; @ApiModelProperty(value = "样品编号", dataType = "String") private String sampleNo; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java index 28c6d26..bacfc56 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java @@ -58,8 +58,14 @@ /** * 创建时间 */ - @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 表单id diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index 9528373..cd1066f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,7 +114,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index b1048c1..bf75da4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,8 +111,8 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; /** * 可选决策项 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java index 9d1f2f0..8f0bfce 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java @@ -25,14 +25,26 @@ /** * 培训时间 */ - @ApiModelProperty(value = "培训时间(查询出该时间前列表倒序)", dataType = "String") - private String trainTime; + @ApiModelProperty(value = "培训开始时间", dataType = "String") + private String trainStartTime; + + /** + * 培训时间 + */ + @ApiModelProperty(value = "培训结束时间", dataType = "String") + private String trainEndTime; /** * 创建时间 */ - @ApiModelProperty(value = "创建时间(查询出该时间前列表倒序)", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 组织部门id-系统组织表 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 8893256..847993f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -117,6 +117,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java new file mode 100644 index 0000000..17e0770 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java @@ -0,0 +1,37 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@TableName("business_deal_record") +@ApiModel("委托书操作记录") +@AllArgsConstructor +@Builder +@Data +public class BusinessDealRecord { + + private Long id; + + @ApiModelProperty("委托书id") + private Long orderId; + + @ApiModelProperty("原因") + private String recordContent; + + private Long createUser; + + @ApiModelProperty("操作人名称") + private String createUserName; + + @ApiModelProperty("创建时间") + private String createTime; + + @ApiModelProperty("备注") + private String remark; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java index 8778b11..9e960f6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java @@ -87,6 +87,9 @@ private Integer isDel; + @ApiModelProperty(value = "最后更新人员", dataType = "String") + private Long updateUser; + @ApiModelProperty(value = "创建人", dataType = "String") private Long createUser; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java new file mode 100644 index 0000000..6572d23 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java @@ -0,0 +1,31 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * @author cz + */ +@Data +@TableName("business_order_record") +public class BusinessOrderRecord { + + private Long id; + + private Long orderId; + + /** + * 记录内容 + */ + private String recordTContent; + + /** + * 创建人id + */ + private Long createUser; + + /** + * 创建人时间 + */ + private String createTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java index ae324f0..ffc21af 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java @@ -146,7 +146,7 @@ private String remark; /** - * 流程定义id + * 流程实例id */ @ApiModelProperty(value = "流程实例id(未通过培训计划编辑接口必传参数)", dataType = "String") @TableField("process_id") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 09eee0f..c4b3d7a 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -67,11 +67,17 @@ WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} @@ -88,11 +94,17 @@ SELECT * FROM meter_train_plan WHERE is_del = 0 - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} 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 04ed845..d04eb14 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 @@ -90,5 +90,4 @@ @ApiModelProperty(value = "回退状态(已收入的状态) 1真0假", dataType = "Integer") private Integer FallbackState; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java new file mode 100644 index 0000000..b06975f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java @@ -0,0 +1,16 @@ +package com.casic.missiles.dto.business.order; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OrderCancelRequest { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") + private String reason; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java index 9662eb8..d6206c5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java @@ -4,13 +4,18 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.List; +/** + * @author cz + */ @Data @ApiModel("设备接收") public class CertificateListRequest { @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") + @NotBlank(message = "表单id不能为空") private String formId; @ApiModelProperty(value = "证书编号", dataType = "String") @@ -20,7 +25,7 @@ private String orderNo; @ApiModelProperty(value = "委托方名称", dataType = "String") - private String cutomerName; + private String customerName; @ApiModelProperty(value = "样品编号", dataType = "String") private String sampleNo; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java index 28c6d26..bacfc56 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java @@ -58,8 +58,14 @@ /** * 创建时间 */ - @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 表单id diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index 9528373..cd1066f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,7 +114,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index b1048c1..bf75da4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,8 +111,8 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; /** * 可选决策项 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java index 9d1f2f0..8f0bfce 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java @@ -25,14 +25,26 @@ /** * 培训时间 */ - @ApiModelProperty(value = "培训时间(查询出该时间前列表倒序)", dataType = "String") - private String trainTime; + @ApiModelProperty(value = "培训开始时间", dataType = "String") + private String trainStartTime; + + /** + * 培训时间 + */ + @ApiModelProperty(value = "培训结束时间", dataType = "String") + private String trainEndTime; /** * 创建时间 */ - @ApiModelProperty(value = "创建时间(查询出该时间前列表倒序)", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 组织部门id-系统组织表 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 8893256..847993f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -117,6 +117,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java new file mode 100644 index 0000000..17e0770 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java @@ -0,0 +1,37 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@TableName("business_deal_record") +@ApiModel("委托书操作记录") +@AllArgsConstructor +@Builder +@Data +public class BusinessDealRecord { + + private Long id; + + @ApiModelProperty("委托书id") + private Long orderId; + + @ApiModelProperty("原因") + private String recordContent; + + private Long createUser; + + @ApiModelProperty("操作人名称") + private String createUserName; + + @ApiModelProperty("创建时间") + private String createTime; + + @ApiModelProperty("备注") + private String remark; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java index 8778b11..9e960f6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java @@ -87,6 +87,9 @@ private Integer isDel; + @ApiModelProperty(value = "最后更新人员", dataType = "String") + private Long updateUser; + @ApiModelProperty(value = "创建人", dataType = "String") private Long createUser; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java new file mode 100644 index 0000000..6572d23 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java @@ -0,0 +1,31 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * @author cz + */ +@Data +@TableName("business_order_record") +public class BusinessOrderRecord { + + private Long id; + + private Long orderId; + + /** + * 记录内容 + */ + private String recordTContent; + + /** + * 创建人id + */ + private Long createUser; + + /** + * 创建人时间 + */ + private String createTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java index ae324f0..ffc21af 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java @@ -146,7 +146,7 @@ private String remark; /** - * 流程定义id + * 流程实例id */ @ApiModelProperty(value = "流程实例id(未通过培训计划编辑接口必传参数)", dataType = "String") @TableField("process_id") 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 a0cceda..230c779 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 @@ -1,7 +1,6 @@ package com.casic.missiles.service.Impl.business; import cn.hutool.core.lang.Assert; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; @@ -15,14 +14,12 @@ import com.casic.missiles.dto.business.print.CertificateListRequest; import com.casic.missiles.dto.business.print.CertificateListResponse; import com.casic.missiles.dto.business.print.CertificateRefusePrintRequest; -import com.casic.missiles.dto.flowable.AllApproveDTO; 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.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -40,6 +37,9 @@ import java.util.*; import java.util.stream.Collectors; +/** + * @author cz + */ @Service @AllArgsConstructor public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { @@ -81,16 +81,19 @@ } @Override - @Transactional - public ReturnDTO agreeAginPrint(ApprovalAgreeRequest request) { - ReturnDTO returnDTO = approvalOperateService.agree(request); - return returnDTO; + public ReturnDTO agreeAgainPrint(ApprovalAgreeRequest request) { + return approvalOperateService.agree(request); } + /** + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * + * @return + */ @Override @Transactional public ReturnDTO refuseAgainPrint(CertificateRefusePrintRequest request) { - ApprovalRefuseRequest approvalRefuseRequest=new ApprovalRefuseRequest(); + ApprovalRefuseRequest approvalRefuseRequest = new ApprovalRefuseRequest(); approvalRefuseRequest.setTaskId(request.getTaskId()); approvalRefuseRequest.setComments(request.getComments()); ReturnDTO returnDTO = approvalOperateService.refuse(approvalRefuseRequest); @@ -99,8 +102,9 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setPrintStatus("2");//设置为不能打印 - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //设置为不能打印 + certificateReport.setPrintStatus("2"); + certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -108,7 +112,9 @@ return ReturnUtil.success(); } - //提交审批流程,修改证书审批状态、修改打印状态 + /** + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + */ @Transactional @Override public ReturnDTO submitAgainPrint(BaseApprovalSubmitRequest request) { @@ -119,8 +125,10 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //审批状态为审批中 - certificateReport.setPrintStatus("3"); //打印状态审批中 + //审批状态为审批中 + certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //打印状态审批中 + certificateReport.setPrintStatus("3"); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -128,13 +136,14 @@ return ReturnUtil.success(); } - //可打印:只需要查询可打印状态即可 - //查询工作流 + /** + * 可打印:只需要查询可打印状态即可,待审批状态,查询工作流,同时传输任务id + */ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)) { handlerBeApproved(approvalList, page, request); - } else if (request.getPrintStatus().equals("0")) { + } else if("0".equals(request.getPrintStatus())) { request.setApprovalStatus(null); approvalList.setRecords(this.baseMapper.selectBatchForApprovalList(page, request, null)); } else { @@ -147,18 +156,9 @@ return approvalList; } - private Page handleAllApprovalListResponse(Page approvalList, List allApproveList) { - Map taskMap = allApproveList.stream().collect(Collectors.toMap(AllApproveDTO::getBusinessKey, AllApproveDTO::getStatus)); - //状态补全 - approvalList.getRecords().forEach(approval -> { - approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); - approval.setApprovalStatus(taskMap.get(String.valueOf(approval.getId()))); - }); - //排序 - approvalList.setRecords(approvalList.getRecords().stream().sorted(Comparator.comparing(CertificateListResponse::getCreateTime).reversed()).collect(Collectors.toList())); - return approvalList; - } - + /** + * 查询待审批状态的打印证书,查询业务主键信息,据此查询相应的证书,并填充相应的工作流状态 + */ private Page handlerBeApproved(Page approvalList, Page page, CertificateListRequest request) { List businessKeys = new ArrayList<>(); List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); @@ -179,11 +179,4 @@ return approvalList; } - private void handleApprovalListResponse(Page approvalList, String status) { - approvalList.getRecords().stream().forEach(result -> { - //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 - result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); - }); - } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 09eee0f..c4b3d7a 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -67,11 +67,17 @@ WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} @@ -88,11 +94,17 @@ SELECT * FROM meter_train_plan WHERE is_del = 0 - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} 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 04ed845..d04eb14 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 @@ -90,5 +90,4 @@ @ApiModelProperty(value = "回退状态(已收入的状态) 1真0假", dataType = "Integer") private Integer FallbackState; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java new file mode 100644 index 0000000..b06975f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java @@ -0,0 +1,16 @@ +package com.casic.missiles.dto.business.order; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OrderCancelRequest { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") + private String reason; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java index 9662eb8..d6206c5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java @@ -4,13 +4,18 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.List; +/** + * @author cz + */ @Data @ApiModel("设备接收") public class CertificateListRequest { @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") + @NotBlank(message = "表单id不能为空") private String formId; @ApiModelProperty(value = "证书编号", dataType = "String") @@ -20,7 +25,7 @@ private String orderNo; @ApiModelProperty(value = "委托方名称", dataType = "String") - private String cutomerName; + private String customerName; @ApiModelProperty(value = "样品编号", dataType = "String") private String sampleNo; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java index 28c6d26..bacfc56 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java @@ -58,8 +58,14 @@ /** * 创建时间 */ - @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 表单id diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index 9528373..cd1066f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,7 +114,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index b1048c1..bf75da4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,8 +111,8 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; /** * 可选决策项 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java index 9d1f2f0..8f0bfce 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java @@ -25,14 +25,26 @@ /** * 培训时间 */ - @ApiModelProperty(value = "培训时间(查询出该时间前列表倒序)", dataType = "String") - private String trainTime; + @ApiModelProperty(value = "培训开始时间", dataType = "String") + private String trainStartTime; + + /** + * 培训时间 + */ + @ApiModelProperty(value = "培训结束时间", dataType = "String") + private String trainEndTime; /** * 创建时间 */ - @ApiModelProperty(value = "创建时间(查询出该时间前列表倒序)", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 组织部门id-系统组织表 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 8893256..847993f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -117,6 +117,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java new file mode 100644 index 0000000..17e0770 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java @@ -0,0 +1,37 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@TableName("business_deal_record") +@ApiModel("委托书操作记录") +@AllArgsConstructor +@Builder +@Data +public class BusinessDealRecord { + + private Long id; + + @ApiModelProperty("委托书id") + private Long orderId; + + @ApiModelProperty("原因") + private String recordContent; + + private Long createUser; + + @ApiModelProperty("操作人名称") + private String createUserName; + + @ApiModelProperty("创建时间") + private String createTime; + + @ApiModelProperty("备注") + private String remark; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java index 8778b11..9e960f6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java @@ -87,6 +87,9 @@ private Integer isDel; + @ApiModelProperty(value = "最后更新人员", dataType = "String") + private Long updateUser; + @ApiModelProperty(value = "创建人", dataType = "String") private Long createUser; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java new file mode 100644 index 0000000..6572d23 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java @@ -0,0 +1,31 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * @author cz + */ +@Data +@TableName("business_order_record") +public class BusinessOrderRecord { + + private Long id; + + private Long orderId; + + /** + * 记录内容 + */ + private String recordTContent; + + /** + * 创建人id + */ + private Long createUser; + + /** + * 创建人时间 + */ + private String createTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java index ae324f0..ffc21af 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java @@ -146,7 +146,7 @@ private String remark; /** - * 流程定义id + * 流程实例id */ @ApiModelProperty(value = "流程实例id(未通过培训计划编辑接口必传参数)", dataType = "String") @TableField("process_id") 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 a0cceda..230c779 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 @@ -1,7 +1,6 @@ package com.casic.missiles.service.Impl.business; import cn.hutool.core.lang.Assert; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; @@ -15,14 +14,12 @@ import com.casic.missiles.dto.business.print.CertificateListRequest; import com.casic.missiles.dto.business.print.CertificateListResponse; import com.casic.missiles.dto.business.print.CertificateRefusePrintRequest; -import com.casic.missiles.dto.flowable.AllApproveDTO; 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.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -40,6 +37,9 @@ import java.util.*; import java.util.stream.Collectors; +/** + * @author cz + */ @Service @AllArgsConstructor public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { @@ -81,16 +81,19 @@ } @Override - @Transactional - public ReturnDTO agreeAginPrint(ApprovalAgreeRequest request) { - ReturnDTO returnDTO = approvalOperateService.agree(request); - return returnDTO; + public ReturnDTO agreeAgainPrint(ApprovalAgreeRequest request) { + return approvalOperateService.agree(request); } + /** + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * + * @return + */ @Override @Transactional public ReturnDTO refuseAgainPrint(CertificateRefusePrintRequest request) { - ApprovalRefuseRequest approvalRefuseRequest=new ApprovalRefuseRequest(); + ApprovalRefuseRequest approvalRefuseRequest = new ApprovalRefuseRequest(); approvalRefuseRequest.setTaskId(request.getTaskId()); approvalRefuseRequest.setComments(request.getComments()); ReturnDTO returnDTO = approvalOperateService.refuse(approvalRefuseRequest); @@ -99,8 +102,9 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setPrintStatus("2");//设置为不能打印 - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //设置为不能打印 + certificateReport.setPrintStatus("2"); + certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -108,7 +112,9 @@ return ReturnUtil.success(); } - //提交审批流程,修改证书审批状态、修改打印状态 + /** + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + */ @Transactional @Override public ReturnDTO submitAgainPrint(BaseApprovalSubmitRequest request) { @@ -119,8 +125,10 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //审批状态为审批中 - certificateReport.setPrintStatus("3"); //打印状态审批中 + //审批状态为审批中 + certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //打印状态审批中 + certificateReport.setPrintStatus("3"); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -128,13 +136,14 @@ return ReturnUtil.success(); } - //可打印:只需要查询可打印状态即可 - //查询工作流 + /** + * 可打印:只需要查询可打印状态即可,待审批状态,查询工作流,同时传输任务id + */ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)) { handlerBeApproved(approvalList, page, request); - } else if (request.getPrintStatus().equals("0")) { + } else if("0".equals(request.getPrintStatus())) { request.setApprovalStatus(null); approvalList.setRecords(this.baseMapper.selectBatchForApprovalList(page, request, null)); } else { @@ -147,18 +156,9 @@ return approvalList; } - private Page handleAllApprovalListResponse(Page approvalList, List allApproveList) { - Map taskMap = allApproveList.stream().collect(Collectors.toMap(AllApproveDTO::getBusinessKey, AllApproveDTO::getStatus)); - //状态补全 - approvalList.getRecords().forEach(approval -> { - approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); - approval.setApprovalStatus(taskMap.get(String.valueOf(approval.getId()))); - }); - //排序 - approvalList.setRecords(approvalList.getRecords().stream().sorted(Comparator.comparing(CertificateListResponse::getCreateTime).reversed()).collect(Collectors.toList())); - return approvalList; - } - + /** + * 查询待审批状态的打印证书,查询业务主键信息,据此查询相应的证书,并填充相应的工作流状态 + */ private Page handlerBeApproved(Page approvalList, Page page, CertificateListRequest request) { List businessKeys = new ArrayList<>(); List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); @@ -179,11 +179,4 @@ return approvalList; } - private void handleApprovalListResponse(Page approvalList, String status) { - approvalList.getRecords().stream().forEach(result -> { - //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 - result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); - }); - } - } 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 b397f83..859010b 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 @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.business; -import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -46,7 +45,9 @@ private final IBaseExportService iBaseExportService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; - //** 送检人查询条件不在设备交接单中,需要联查才可以实现 + /** + * 送检人查询条件不在设备交接单中,需要联查才可以实现 + */ @Override public Page exchangeListPage(Page page, InterchangeListRequest request) throws Exception { page.setRecords(this.baseMapper.selectInterchangeListPage(page, request)); @@ -54,7 +55,8 @@ } @Override - public BusinessInterchangeDetailResponse exchangeDetail(Long id) { ; + public BusinessInterchangeDetailResponse exchangeDetail(Long id) { + ; BusinessInterchangeDetailResponse businessExchange = this.baseMapper.getInfoById(id); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", businessExchange.getOrderId()); @@ -71,19 +73,21 @@ @Override @Transactional public ReturnDTO deleteExchange(Long id) { - Integer deleteFlag = this.baseMapper.deleteById(id); - //交接单绑定的肯定有样品,所以samplUpdateFlag肯定为true - Boolean samplUpdateFlag = sampleStatusDeletor(id) > 0; - if (deleteFlag > 0 && samplUpdateFlag) { + int deleteFlag = this.baseMapper.deleteById(id); + //交接单绑定的肯定有样品,所以sampleUpdateFlag肯定为true + boolean sampleUpdateFlag = sampleStatusDeletor(id) > 0; + if (deleteFlag > 0 && sampleUpdateFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //更新不对样品有任何操作 + /** + * 更新不对样品有任何操作 + */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { - Integer updateFlag = this.baseMapper.updateById(businessInterchange); + int updateFlag = this.baseMapper.updateById(businessInterchange); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -94,8 +98,8 @@ @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { populationExchange(businessInterchange); - Integer addFlag = this.baseMapper.insert(businessInterchange); - Boolean sampleAddFlag = true; + int addFlag = this.baseMapper.insert(businessInterchange); + boolean sampleAddFlag = true; if (!CollectionUtils.isEmpty(businessInterchange.getCustomerSampleList())) { for (CustomerSampleListVO sampleInfo : businessInterchange.getCustomerSampleList()) { sampleAddFlag = sampleAddFlag && sampleStatusUpdator(sampleInfo, businessInterchange.getId()) > 0; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 09eee0f..c4b3d7a 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -67,11 +67,17 @@ WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} @@ -88,11 +94,17 @@ SELECT * FROM meter_train_plan WHERE is_del = 0 - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} 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 04ed845..d04eb14 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 @@ -90,5 +90,4 @@ @ApiModelProperty(value = "回退状态(已收入的状态) 1真0假", dataType = "Integer") private Integer FallbackState; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java new file mode 100644 index 0000000..b06975f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java @@ -0,0 +1,16 @@ +package com.casic.missiles.dto.business.order; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OrderCancelRequest { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") + private String reason; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java index 9662eb8..d6206c5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java @@ -4,13 +4,18 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.List; +/** + * @author cz + */ @Data @ApiModel("设备接收") public class CertificateListRequest { @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") + @NotBlank(message = "表单id不能为空") private String formId; @ApiModelProperty(value = "证书编号", dataType = "String") @@ -20,7 +25,7 @@ private String orderNo; @ApiModelProperty(value = "委托方名称", dataType = "String") - private String cutomerName; + private String customerName; @ApiModelProperty(value = "样品编号", dataType = "String") private String sampleNo; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java index 28c6d26..bacfc56 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java @@ -58,8 +58,14 @@ /** * 创建时间 */ - @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 表单id diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index 9528373..cd1066f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,7 +114,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index b1048c1..bf75da4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,8 +111,8 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; /** * 可选决策项 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java index 9d1f2f0..8f0bfce 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java @@ -25,14 +25,26 @@ /** * 培训时间 */ - @ApiModelProperty(value = "培训时间(查询出该时间前列表倒序)", dataType = "String") - private String trainTime; + @ApiModelProperty(value = "培训开始时间", dataType = "String") + private String trainStartTime; + + /** + * 培训时间 + */ + @ApiModelProperty(value = "培训结束时间", dataType = "String") + private String trainEndTime; /** * 创建时间 */ - @ApiModelProperty(value = "创建时间(查询出该时间前列表倒序)", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 组织部门id-系统组织表 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 8893256..847993f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -117,6 +117,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java new file mode 100644 index 0000000..17e0770 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java @@ -0,0 +1,37 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@TableName("business_deal_record") +@ApiModel("委托书操作记录") +@AllArgsConstructor +@Builder +@Data +public class BusinessDealRecord { + + private Long id; + + @ApiModelProperty("委托书id") + private Long orderId; + + @ApiModelProperty("原因") + private String recordContent; + + private Long createUser; + + @ApiModelProperty("操作人名称") + private String createUserName; + + @ApiModelProperty("创建时间") + private String createTime; + + @ApiModelProperty("备注") + private String remark; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java index 8778b11..9e960f6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java @@ -87,6 +87,9 @@ private Integer isDel; + @ApiModelProperty(value = "最后更新人员", dataType = "String") + private Long updateUser; + @ApiModelProperty(value = "创建人", dataType = "String") private Long createUser; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java new file mode 100644 index 0000000..6572d23 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java @@ -0,0 +1,31 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * @author cz + */ +@Data +@TableName("business_order_record") +public class BusinessOrderRecord { + + private Long id; + + private Long orderId; + + /** + * 记录内容 + */ + private String recordTContent; + + /** + * 创建人id + */ + private Long createUser; + + /** + * 创建人时间 + */ + private String createTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java index ae324f0..ffc21af 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java @@ -146,7 +146,7 @@ private String remark; /** - * 流程定义id + * 流程实例id */ @ApiModelProperty(value = "流程实例id(未通过培训计划编辑接口必传参数)", dataType = "String") @TableField("process_id") 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 a0cceda..230c779 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 @@ -1,7 +1,6 @@ package com.casic.missiles.service.Impl.business; import cn.hutool.core.lang.Assert; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; @@ -15,14 +14,12 @@ import com.casic.missiles.dto.business.print.CertificateListRequest; import com.casic.missiles.dto.business.print.CertificateListResponse; import com.casic.missiles.dto.business.print.CertificateRefusePrintRequest; -import com.casic.missiles.dto.flowable.AllApproveDTO; 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.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -40,6 +37,9 @@ import java.util.*; import java.util.stream.Collectors; +/** + * @author cz + */ @Service @AllArgsConstructor public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { @@ -81,16 +81,19 @@ } @Override - @Transactional - public ReturnDTO agreeAginPrint(ApprovalAgreeRequest request) { - ReturnDTO returnDTO = approvalOperateService.agree(request); - return returnDTO; + public ReturnDTO agreeAgainPrint(ApprovalAgreeRequest request) { + return approvalOperateService.agree(request); } + /** + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * + * @return + */ @Override @Transactional public ReturnDTO refuseAgainPrint(CertificateRefusePrintRequest request) { - ApprovalRefuseRequest approvalRefuseRequest=new ApprovalRefuseRequest(); + ApprovalRefuseRequest approvalRefuseRequest = new ApprovalRefuseRequest(); approvalRefuseRequest.setTaskId(request.getTaskId()); approvalRefuseRequest.setComments(request.getComments()); ReturnDTO returnDTO = approvalOperateService.refuse(approvalRefuseRequest); @@ -99,8 +102,9 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setPrintStatus("2");//设置为不能打印 - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //设置为不能打印 + certificateReport.setPrintStatus("2"); + certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -108,7 +112,9 @@ return ReturnUtil.success(); } - //提交审批流程,修改证书审批状态、修改打印状态 + /** + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + */ @Transactional @Override public ReturnDTO submitAgainPrint(BaseApprovalSubmitRequest request) { @@ -119,8 +125,10 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //审批状态为审批中 - certificateReport.setPrintStatus("3"); //打印状态审批中 + //审批状态为审批中 + certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //打印状态审批中 + certificateReport.setPrintStatus("3"); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -128,13 +136,14 @@ return ReturnUtil.success(); } - //可打印:只需要查询可打印状态即可 - //查询工作流 + /** + * 可打印:只需要查询可打印状态即可,待审批状态,查询工作流,同时传输任务id + */ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)) { handlerBeApproved(approvalList, page, request); - } else if (request.getPrintStatus().equals("0")) { + } else if("0".equals(request.getPrintStatus())) { request.setApprovalStatus(null); approvalList.setRecords(this.baseMapper.selectBatchForApprovalList(page, request, null)); } else { @@ -147,18 +156,9 @@ return approvalList; } - private Page handleAllApprovalListResponse(Page approvalList, List allApproveList) { - Map taskMap = allApproveList.stream().collect(Collectors.toMap(AllApproveDTO::getBusinessKey, AllApproveDTO::getStatus)); - //状态补全 - approvalList.getRecords().forEach(approval -> { - approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); - approval.setApprovalStatus(taskMap.get(String.valueOf(approval.getId()))); - }); - //排序 - approvalList.setRecords(approvalList.getRecords().stream().sorted(Comparator.comparing(CertificateListResponse::getCreateTime).reversed()).collect(Collectors.toList())); - return approvalList; - } - + /** + * 查询待审批状态的打印证书,查询业务主键信息,据此查询相应的证书,并填充相应的工作流状态 + */ private Page handlerBeApproved(Page approvalList, Page page, CertificateListRequest request) { List businessKeys = new ArrayList<>(); List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); @@ -179,11 +179,4 @@ return approvalList; } - private void handleApprovalListResponse(Page approvalList, String status) { - approvalList.getRecords().stream().forEach(result -> { - //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 - result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); - }); - } - } 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 b397f83..859010b 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 @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.business; -import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -46,7 +45,9 @@ private final IBaseExportService iBaseExportService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; - //** 送检人查询条件不在设备交接单中,需要联查才可以实现 + /** + * 送检人查询条件不在设备交接单中,需要联查才可以实现 + */ @Override public Page exchangeListPage(Page page, InterchangeListRequest request) throws Exception { page.setRecords(this.baseMapper.selectInterchangeListPage(page, request)); @@ -54,7 +55,8 @@ } @Override - public BusinessInterchangeDetailResponse exchangeDetail(Long id) { ; + public BusinessInterchangeDetailResponse exchangeDetail(Long id) { + ; BusinessInterchangeDetailResponse businessExchange = this.baseMapper.getInfoById(id); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", businessExchange.getOrderId()); @@ -71,19 +73,21 @@ @Override @Transactional public ReturnDTO deleteExchange(Long id) { - Integer deleteFlag = this.baseMapper.deleteById(id); - //交接单绑定的肯定有样品,所以samplUpdateFlag肯定为true - Boolean samplUpdateFlag = sampleStatusDeletor(id) > 0; - if (deleteFlag > 0 && samplUpdateFlag) { + int deleteFlag = this.baseMapper.deleteById(id); + //交接单绑定的肯定有样品,所以sampleUpdateFlag肯定为true + boolean sampleUpdateFlag = sampleStatusDeletor(id) > 0; + if (deleteFlag > 0 && sampleUpdateFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //更新不对样品有任何操作 + /** + * 更新不对样品有任何操作 + */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { - Integer updateFlag = this.baseMapper.updateById(businessInterchange); + int updateFlag = this.baseMapper.updateById(businessInterchange); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -94,8 +98,8 @@ @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { populationExchange(businessInterchange); - Integer addFlag = this.baseMapper.insert(businessInterchange); - Boolean sampleAddFlag = true; + int addFlag = this.baseMapper.insert(businessInterchange); + boolean sampleAddFlag = true; if (!CollectionUtils.isEmpty(businessInterchange.getCustomerSampleList())) { for (CustomerSampleListVO sampleInfo : businessInterchange.getCustomerSampleList()) { sampleAddFlag = sampleAddFlag && sampleStatusUpdator(sampleInfo, businessInterchange.getId()) > 0; 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 3bd316c..585a207 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 @@ -215,13 +215,7 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - Map resultMap = SqlRunner.db().selectOne( - "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + - "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + - "JOIN sys_user su ON srr.USERID = su.ID " + - "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + - "WHERE su.ID = {0}" + - "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + Map resultMap = selectDirectDept(user); if(CollectionUtils.isEmpty(resultMap) || Objects.isNull(resultMap.get("deptId"))){ return new Page<>(); } @@ -390,16 +384,7 @@ Long maxNo = labExecutiveTemplateInfoMapper.selectMaxTemplateNo(); for (int i = 0; i < labExecutiveInfos.size(); i++) { BusinessLabExecutiveInfo lab = labExecutiveInfos.get(i); - BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); - templateInfo.setTemplateCode(templateCode); -// templateInfo.setSampleTypeId(); - templateInfo.setSampleId(lab.getSampleId()); - templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); - templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); -// templateInfo.setMeasureItem(); - templateInfo.setExecuteSequence(lab.getMeasureSequence()); -// templateInfo.setCreateUser(); + BusinessLabExecutiveTemplateInfo templateInfo = getBusinessLabExecutiveTemplateInfo(maxNo, i, lab); labList.add(templateInfo); } if(labExecutiveTemplateInfoService.saveBatch(labList)) log.info("实验室检测记录批量保存为实验室检测模板成功"); @@ -422,6 +407,20 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { + BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); + String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + templateInfo.setTemplateCode(templateCode); +// templateInfo.setSampleTypeId(); + templateInfo.setSampleId(lab.getSampleId()); + templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); + templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); +// templateInfo.setMeasureItem(); + templateInfo.setExecuteSequence(lab.getMeasureSequence()); +// templateInfo.setCreateUser(); + return templateInfo; + } + @Override public ReturnDTO updateExecutiveList(UpdateExecutiveListRequest request) { //删除前端已删除的ids @@ -469,7 +468,6 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - //登录用户id获取计量人员id,实验室检测信息中存储的是计量人员id MeterStaff meterStaff = getMeterStaffInfo(user); if(Objects.isNull(meterStaff)) throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_NOT_STAFF); Long userId = meterStaff.getId(); @@ -510,7 +508,6 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - //登录用户id获取计量人员id,实验室检测信息中存储的是计量人员id MeterStaff meterStaff = getMeterStaffInfo(user); if(Objects.isNull(meterStaff)) throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_NOT_STAFF); Long userId = meterStaff.getId(); @@ -518,15 +515,7 @@ //删除实验室检测列表中退回数据 int deleteFlag = labExecutiveInfoMapper.deleteById(request.getId()); //退回操作记录表中增加数据 - BusinessLabExecutiveOperateLog operateLog = new BusinessLabExecutiveOperateLog(); - operateLog.setOrderId(request.getOrderId()); - operateLog.setSampleId(request.getSampleId()); - operateLog.setMeasureDeptId(request.getMeasureSegmentId()); - operateLog.setMeasurePersonId(request.getMeasurePersonId()); - operateLog.setOperatePersonId(userId); - operateLog.setOperatePersonName(user.getName()); - operateLog.setMeasureStatus(MeasureStatusEnum.SEND_BACK); - operateLog.setOperateReason(request.getOperateReason()); + BusinessLabExecutiveOperateLog operateLog = getBusinessLabExecutiveOperateLog(request, user, userId); int insertFlag = labExecutiveOperateLogMapper.insert(operateLog); if(deleteFlag > 0 && insertFlag > 0){ //退回后会将下一个要执行的实验室检测状态更新为待分配,将后面的实验室顺序变更为连续(都进行减1) @@ -596,4 +585,29 @@ } }); } + + private Map selectDirectDept(AuthUser user) { + Map resultMap = SqlRunner.db().selectOne( + "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON srr.USERID = su.ID " + + "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + + "WHERE su.ID = {0}" + + "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + return resultMap; + } + + private BusinessLabExecutiveOperateLog getBusinessLabExecutiveOperateLog(ExecutiveSendBackRequest request, AuthUser user, Long userId) { + BusinessLabExecutiveOperateLog operateLog = new BusinessLabExecutiveOperateLog(); + operateLog.setOrderId(request.getOrderId()); + operateLog.setSampleId(request.getSampleId()); + operateLog.setMeasureDeptId(request.getMeasureSegmentId()); + operateLog.setMeasurePersonId(request.getMeasurePersonId()); + operateLog.setOperatePersonId(userId); + operateLog.setOperatePersonName(user.getName()); + operateLog.setMeasureStatus(MeasureStatusEnum.SEND_BACK); + operateLog.setOperateReason(request.getOperateReason()); + return operateLog; + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 09eee0f..c4b3d7a 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -67,11 +67,17 @@ WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} @@ -88,11 +94,17 @@ SELECT * FROM meter_train_plan WHERE is_del = 0 - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} 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 04ed845..d04eb14 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 @@ -90,5 +90,4 @@ @ApiModelProperty(value = "回退状态(已收入的状态) 1真0假", dataType = "Integer") private Integer FallbackState; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java new file mode 100644 index 0000000..b06975f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java @@ -0,0 +1,16 @@ +package com.casic.missiles.dto.business.order; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OrderCancelRequest { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") + private String reason; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java index 9662eb8..d6206c5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java @@ -4,13 +4,18 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.List; +/** + * @author cz + */ @Data @ApiModel("设备接收") public class CertificateListRequest { @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") + @NotBlank(message = "表单id不能为空") private String formId; @ApiModelProperty(value = "证书编号", dataType = "String") @@ -20,7 +25,7 @@ private String orderNo; @ApiModelProperty(value = "委托方名称", dataType = "String") - private String cutomerName; + private String customerName; @ApiModelProperty(value = "样品编号", dataType = "String") private String sampleNo; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java index 28c6d26..bacfc56 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java @@ -58,8 +58,14 @@ /** * 创建时间 */ - @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 表单id diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index 9528373..cd1066f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,7 +114,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index b1048c1..bf75da4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,8 +111,8 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; /** * 可选决策项 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java index 9d1f2f0..8f0bfce 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java @@ -25,14 +25,26 @@ /** * 培训时间 */ - @ApiModelProperty(value = "培训时间(查询出该时间前列表倒序)", dataType = "String") - private String trainTime; + @ApiModelProperty(value = "培训开始时间", dataType = "String") + private String trainStartTime; + + /** + * 培训时间 + */ + @ApiModelProperty(value = "培训结束时间", dataType = "String") + private String trainEndTime; /** * 创建时间 */ - @ApiModelProperty(value = "创建时间(查询出该时间前列表倒序)", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 组织部门id-系统组织表 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 8893256..847993f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -117,6 +117,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java new file mode 100644 index 0000000..17e0770 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java @@ -0,0 +1,37 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@TableName("business_deal_record") +@ApiModel("委托书操作记录") +@AllArgsConstructor +@Builder +@Data +public class BusinessDealRecord { + + private Long id; + + @ApiModelProperty("委托书id") + private Long orderId; + + @ApiModelProperty("原因") + private String recordContent; + + private Long createUser; + + @ApiModelProperty("操作人名称") + private String createUserName; + + @ApiModelProperty("创建时间") + private String createTime; + + @ApiModelProperty("备注") + private String remark; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java index 8778b11..9e960f6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java @@ -87,6 +87,9 @@ private Integer isDel; + @ApiModelProperty(value = "最后更新人员", dataType = "String") + private Long updateUser; + @ApiModelProperty(value = "创建人", dataType = "String") private Long createUser; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java new file mode 100644 index 0000000..6572d23 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java @@ -0,0 +1,31 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * @author cz + */ +@Data +@TableName("business_order_record") +public class BusinessOrderRecord { + + private Long id; + + private Long orderId; + + /** + * 记录内容 + */ + private String recordTContent; + + /** + * 创建人id + */ + private Long createUser; + + /** + * 创建人时间 + */ + private String createTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java index ae324f0..ffc21af 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java @@ -146,7 +146,7 @@ private String remark; /** - * 流程定义id + * 流程实例id */ @ApiModelProperty(value = "流程实例id(未通过培训计划编辑接口必传参数)", dataType = "String") @TableField("process_id") 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 a0cceda..230c779 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 @@ -1,7 +1,6 @@ package com.casic.missiles.service.Impl.business; import cn.hutool.core.lang.Assert; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; @@ -15,14 +14,12 @@ import com.casic.missiles.dto.business.print.CertificateListRequest; import com.casic.missiles.dto.business.print.CertificateListResponse; import com.casic.missiles.dto.business.print.CertificateRefusePrintRequest; -import com.casic.missiles.dto.flowable.AllApproveDTO; 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.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -40,6 +37,9 @@ import java.util.*; import java.util.stream.Collectors; +/** + * @author cz + */ @Service @AllArgsConstructor public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { @@ -81,16 +81,19 @@ } @Override - @Transactional - public ReturnDTO agreeAginPrint(ApprovalAgreeRequest request) { - ReturnDTO returnDTO = approvalOperateService.agree(request); - return returnDTO; + public ReturnDTO agreeAgainPrint(ApprovalAgreeRequest request) { + return approvalOperateService.agree(request); } + /** + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * + * @return + */ @Override @Transactional public ReturnDTO refuseAgainPrint(CertificateRefusePrintRequest request) { - ApprovalRefuseRequest approvalRefuseRequest=new ApprovalRefuseRequest(); + ApprovalRefuseRequest approvalRefuseRequest = new ApprovalRefuseRequest(); approvalRefuseRequest.setTaskId(request.getTaskId()); approvalRefuseRequest.setComments(request.getComments()); ReturnDTO returnDTO = approvalOperateService.refuse(approvalRefuseRequest); @@ -99,8 +102,9 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setPrintStatus("2");//设置为不能打印 - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //设置为不能打印 + certificateReport.setPrintStatus("2"); + certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -108,7 +112,9 @@ return ReturnUtil.success(); } - //提交审批流程,修改证书审批状态、修改打印状态 + /** + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + */ @Transactional @Override public ReturnDTO submitAgainPrint(BaseApprovalSubmitRequest request) { @@ -119,8 +125,10 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //审批状态为审批中 - certificateReport.setPrintStatus("3"); //打印状态审批中 + //审批状态为审批中 + certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //打印状态审批中 + certificateReport.setPrintStatus("3"); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -128,13 +136,14 @@ return ReturnUtil.success(); } - //可打印:只需要查询可打印状态即可 - //查询工作流 + /** + * 可打印:只需要查询可打印状态即可,待审批状态,查询工作流,同时传输任务id + */ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)) { handlerBeApproved(approvalList, page, request); - } else if (request.getPrintStatus().equals("0")) { + } else if("0".equals(request.getPrintStatus())) { request.setApprovalStatus(null); approvalList.setRecords(this.baseMapper.selectBatchForApprovalList(page, request, null)); } else { @@ -147,18 +156,9 @@ return approvalList; } - private Page handleAllApprovalListResponse(Page approvalList, List allApproveList) { - Map taskMap = allApproveList.stream().collect(Collectors.toMap(AllApproveDTO::getBusinessKey, AllApproveDTO::getStatus)); - //状态补全 - approvalList.getRecords().forEach(approval -> { - approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); - approval.setApprovalStatus(taskMap.get(String.valueOf(approval.getId()))); - }); - //排序 - approvalList.setRecords(approvalList.getRecords().stream().sorted(Comparator.comparing(CertificateListResponse::getCreateTime).reversed()).collect(Collectors.toList())); - return approvalList; - } - + /** + * 查询待审批状态的打印证书,查询业务主键信息,据此查询相应的证书,并填充相应的工作流状态 + */ private Page handlerBeApproved(Page approvalList, Page page, CertificateListRequest request) { List businessKeys = new ArrayList<>(); List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); @@ -179,11 +179,4 @@ return approvalList; } - private void handleApprovalListResponse(Page approvalList, String status) { - approvalList.getRecords().stream().forEach(result -> { - //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 - result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); - }); - } - } 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 b397f83..859010b 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 @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.business; -import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -46,7 +45,9 @@ private final IBaseExportService iBaseExportService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; - //** 送检人查询条件不在设备交接单中,需要联查才可以实现 + /** + * 送检人查询条件不在设备交接单中,需要联查才可以实现 + */ @Override public Page exchangeListPage(Page page, InterchangeListRequest request) throws Exception { page.setRecords(this.baseMapper.selectInterchangeListPage(page, request)); @@ -54,7 +55,8 @@ } @Override - public BusinessInterchangeDetailResponse exchangeDetail(Long id) { ; + public BusinessInterchangeDetailResponse exchangeDetail(Long id) { + ; BusinessInterchangeDetailResponse businessExchange = this.baseMapper.getInfoById(id); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", businessExchange.getOrderId()); @@ -71,19 +73,21 @@ @Override @Transactional public ReturnDTO deleteExchange(Long id) { - Integer deleteFlag = this.baseMapper.deleteById(id); - //交接单绑定的肯定有样品,所以samplUpdateFlag肯定为true - Boolean samplUpdateFlag = sampleStatusDeletor(id) > 0; - if (deleteFlag > 0 && samplUpdateFlag) { + int deleteFlag = this.baseMapper.deleteById(id); + //交接单绑定的肯定有样品,所以sampleUpdateFlag肯定为true + boolean sampleUpdateFlag = sampleStatusDeletor(id) > 0; + if (deleteFlag > 0 && sampleUpdateFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //更新不对样品有任何操作 + /** + * 更新不对样品有任何操作 + */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { - Integer updateFlag = this.baseMapper.updateById(businessInterchange); + int updateFlag = this.baseMapper.updateById(businessInterchange); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -94,8 +98,8 @@ @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { populationExchange(businessInterchange); - Integer addFlag = this.baseMapper.insert(businessInterchange); - Boolean sampleAddFlag = true; + int addFlag = this.baseMapper.insert(businessInterchange); + boolean sampleAddFlag = true; if (!CollectionUtils.isEmpty(businessInterchange.getCustomerSampleList())) { for (CustomerSampleListVO sampleInfo : businessInterchange.getCustomerSampleList()) { sampleAddFlag = sampleAddFlag && sampleStatusUpdator(sampleInfo, businessInterchange.getId()) > 0; 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 3bd316c..585a207 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 @@ -215,13 +215,7 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - Map resultMap = SqlRunner.db().selectOne( - "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + - "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + - "JOIN sys_user su ON srr.USERID = su.ID " + - "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + - "WHERE su.ID = {0}" + - "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + Map resultMap = selectDirectDept(user); if(CollectionUtils.isEmpty(resultMap) || Objects.isNull(resultMap.get("deptId"))){ return new Page<>(); } @@ -390,16 +384,7 @@ Long maxNo = labExecutiveTemplateInfoMapper.selectMaxTemplateNo(); for (int i = 0; i < labExecutiveInfos.size(); i++) { BusinessLabExecutiveInfo lab = labExecutiveInfos.get(i); - BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); - templateInfo.setTemplateCode(templateCode); -// templateInfo.setSampleTypeId(); - templateInfo.setSampleId(lab.getSampleId()); - templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); - templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); -// templateInfo.setMeasureItem(); - templateInfo.setExecuteSequence(lab.getMeasureSequence()); -// templateInfo.setCreateUser(); + BusinessLabExecutiveTemplateInfo templateInfo = getBusinessLabExecutiveTemplateInfo(maxNo, i, lab); labList.add(templateInfo); } if(labExecutiveTemplateInfoService.saveBatch(labList)) log.info("实验室检测记录批量保存为实验室检测模板成功"); @@ -422,6 +407,20 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { + BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); + String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + templateInfo.setTemplateCode(templateCode); +// templateInfo.setSampleTypeId(); + templateInfo.setSampleId(lab.getSampleId()); + templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); + templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); +// templateInfo.setMeasureItem(); + templateInfo.setExecuteSequence(lab.getMeasureSequence()); +// templateInfo.setCreateUser(); + return templateInfo; + } + @Override public ReturnDTO updateExecutiveList(UpdateExecutiveListRequest request) { //删除前端已删除的ids @@ -469,7 +468,6 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - //登录用户id获取计量人员id,实验室检测信息中存储的是计量人员id MeterStaff meterStaff = getMeterStaffInfo(user); if(Objects.isNull(meterStaff)) throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_NOT_STAFF); Long userId = meterStaff.getId(); @@ -510,7 +508,6 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - //登录用户id获取计量人员id,实验室检测信息中存储的是计量人员id MeterStaff meterStaff = getMeterStaffInfo(user); if(Objects.isNull(meterStaff)) throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_NOT_STAFF); Long userId = meterStaff.getId(); @@ -518,15 +515,7 @@ //删除实验室检测列表中退回数据 int deleteFlag = labExecutiveInfoMapper.deleteById(request.getId()); //退回操作记录表中增加数据 - BusinessLabExecutiveOperateLog operateLog = new BusinessLabExecutiveOperateLog(); - operateLog.setOrderId(request.getOrderId()); - operateLog.setSampleId(request.getSampleId()); - operateLog.setMeasureDeptId(request.getMeasureSegmentId()); - operateLog.setMeasurePersonId(request.getMeasurePersonId()); - operateLog.setOperatePersonId(userId); - operateLog.setOperatePersonName(user.getName()); - operateLog.setMeasureStatus(MeasureStatusEnum.SEND_BACK); - operateLog.setOperateReason(request.getOperateReason()); + BusinessLabExecutiveOperateLog operateLog = getBusinessLabExecutiveOperateLog(request, user, userId); int insertFlag = labExecutiveOperateLogMapper.insert(operateLog); if(deleteFlag > 0 && insertFlag > 0){ //退回后会将下一个要执行的实验室检测状态更新为待分配,将后面的实验室顺序变更为连续(都进行减1) @@ -596,4 +585,29 @@ } }); } + + private Map selectDirectDept(AuthUser user) { + Map resultMap = SqlRunner.db().selectOne( + "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON srr.USERID = su.ID " + + "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + + "WHERE su.ID = {0}" + + "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + return resultMap; + } + + private BusinessLabExecutiveOperateLog getBusinessLabExecutiveOperateLog(ExecutiveSendBackRequest request, AuthUser user, Long userId) { + BusinessLabExecutiveOperateLog operateLog = new BusinessLabExecutiveOperateLog(); + operateLog.setOrderId(request.getOrderId()); + operateLog.setSampleId(request.getSampleId()); + operateLog.setMeasureDeptId(request.getMeasureSegmentId()); + operateLog.setMeasurePersonId(request.getMeasurePersonId()); + operateLog.setOperatePersonId(userId); + operateLog.setOperatePersonName(user.getName()); + operateLog.setMeasureStatus(MeasureStatusEnum.SEND_BACK); + operateLog.setOperateReason(request.getOperateReason()); + return operateLog; + } + } 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 f6b3933..48742b4 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 @@ -9,14 +9,17 @@ import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.ExportEnum; import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; import com.casic.missiles.mapper.business.BusinessOrderMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -49,18 +52,19 @@ @AllArgsConstructor public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { - private final BusinessOrderListReponseMapper orderListReponseMapper; + private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; private final CustomerSampleService customerSampleService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; + private final BusinessDealRecordMapper dealRecordMapper; /** * 1、分页查询 2、批量查询所有的委托书、样品关系 => 进行以sampleId为key主键map list 3、查询计算样品数量 */ @Override public Page orderListPage(Page page, OrderListRequest request) throws Exception { - QueryWrapper wrapper = listParamWrapper(request); - Page resultPage = this.orderListReponseMapper.selectPage(page, wrapper); + QueryWrapper wrapper = listParamWrapperBuilder(request); + Page resultPage = this.orderListResponseMapper.selectPage(page, wrapper); List orderSampleList = sampleRelationMapper.selectList(null); Map> orderSampleMap = orderSampleList.stream().collect( Collectors.groupingBy(BusinessOrderSampleRelation::getOrderId) @@ -74,7 +78,9 @@ return resultPage; } - // 1、查询委托书详情 2、对样品列表进行查询 3、设置默认在库标志 + /** + * 1、查询委托书详情 2、对样品列表进行查询 3、设置默认在库标志 + */ @Override public BusinessOrder orderDetail(Long id) { BusinessOrder businessOrder = this.baseMapper.selectById(id); @@ -91,29 +97,24 @@ return businessOrder; } - @Override - public ReturnDTO deleteOrder(Long id) { - Integer deleteFlag = this.baseMapper.deleteById(id); - if (deleteFlag > 0) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - - // 删除样品和委托书的明细关系,填充传输的明细样品数据, - // 对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + /** + * 1、删除样品和委托书的明细关系,填充传输的明细样品数据 + * 2、对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + */ @Override public ReturnDTO updateOrder(BusinessOrder businessOrder) { - Integer updateFlag = this.baseMapper.updateById(businessOrder); - this.sampleStatusDeletor(businessOrder.getId()); - Boolean sampleUpdateFlag = true; + AuthUser authUser = ShiroKit.getUser(); + businessOrder.setUpdateUser(authUser.getId()); + int updateFlag = this.baseMapper.updateById(businessOrder); + this.deleteSampleById(businessOrder.getId()); + boolean sampleUpdateFlag = true; this.doSampleListPopulation(businessOrder); for (CustomerSampleInfo sampleInfo : businessOrder.getCustomerSampleInfoList()) { sampleInfo.setDeliverer(businessOrder.getDeliverer()); sampleInfo.setDelivererTel(businessOrder.getDelivererTel()); - if (sampleInfo.getIsExistSample().equals("0")) { + if ("0".equals(sampleInfo.getIsExistSample())) { ReturnDTO returnDTO = customerSampleService.addSample(sampleInfo); - sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode().equals("200"); + sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode().equals(200); } else { ReturnDTO returnDTO = customerSampleService.updateSample(sampleInfo); sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode() == 200; @@ -126,25 +127,27 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //删除样品和委托书的明细关系,填充传输的明细样品数据, - // 对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + /** + * 1、删除样品和委托书的明细关系,填充传输的明细样品数据 + * 2、对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + */ @Override @Transactional public ReturnDTO addOrder(BusinessOrder businessOrder) { initOrderInfo(businessOrder); - Integer addFlag = this.baseMapper.insert(businessOrder); - Boolean sampleAddFlag = true; - this.sampleStatusDeletor(businessOrder.getId()); + int addFlag = this.baseMapper.insert(businessOrder); + boolean sampleAddFlag = true; + this.deleteSampleById(businessOrder.getId()); this.doSampleListPopulation(businessOrder); for (CustomerSampleInfo sampleInfo : businessOrder.getCustomerSampleInfoList()) { sampleInfo.setDeliverer(businessOrder.getDeliverer()); sampleInfo.setDelivererTel(businessOrder.getDelivererTel()); - if (sampleInfo.getIsExistSample().equals("0")) { + if ("0".equals(sampleInfo.getIsExistSample())) { ReturnDTO returnDTO = customerSampleService.addSample(sampleInfo); - sampleAddFlag = sampleAddFlag && returnDTO.getCode() == 200; + sampleAddFlag = sampleAddFlag && returnDTO.getCode().equals(200); } else { ReturnDTO returnDTO = customerSampleService.updateSample(sampleInfo); - sampleAddFlag = sampleAddFlag && returnDTO.getCode() == 200; + sampleAddFlag = sampleAddFlag && returnDTO.getCode().equals(200); } sampleAddFlag = sampleAddFlag && sampleStatusCreator(sampleInfo.getOrderId(), sampleInfo.getMeasureContent(), sampleInfo.getId()) > 0; } @@ -154,58 +157,135 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //如查询说明,补充对是否加急的excel文档表现 + /** + * 1、判断是否存在ids,进行其他参数属性的初始化 + * 2、查询查询构建 + * 3、查询样品关系,构建委托书样品数量map集合 + * 4、字典值进行状态转化 + */ @Override public void orderExport(OrderListRequest request, HttpServletResponse response) { try { - List orderListReponseList; + List orderResponseList; if (!CollectionUtils.isEmpty(request.getIds())) { - orderListReponseList = orderListReponseMapper.selectBatchIds(request.getIds()); + orderResponseList = orderListResponseMapper.selectBatchIds(request.getIds()); } else { - QueryWrapper wrapper = listParamWrapper(request); - orderListReponseList = this.orderListReponseMapper.selectList(wrapper); + QueryWrapper wrapper = listParamWrapperBuilder(request); + orderResponseList = this.orderListResponseMapper.selectList(wrapper); } + //查询样品关系,构建委托书样品数量map集合, List orderSampleList = sampleRelationMapper.selectList(null); Map> orderSampleMap = orderSampleList.stream().collect( Collectors.groupingBy(BusinessOrderSampleRelation::getOrderId) ); - orderListReponseList.forEach( + orderResponseList.forEach( orderSample -> orderSample.setSampleCount(orderSampleMap.containsKey(orderSample.getId()) ? orderSampleMap.get(orderSample.getId()).size() : 0) ); - for (OrderListReponse orderListReponse : orderListReponseList) { - orderListReponse.setIsUrgent(orderListReponse.getIsUrgent().equals("1") ? "是" : "否"); + //字典转换 + for (OrderListReponse orderListReponse : orderResponseList) { + orderListReponse.setIsUrgent("1".equals(orderListReponse.getIsUrgent()) ? "是" : "否"); DictCodeUtils.convertDictCodeToName(orderListReponse); } - iBaseExportService.exportExcel(response, OrderListReponse.class, orderListReponseList, ExportEnum.ORDER_EXPORT.getSheetName()); + iBaseExportService.exportExcel(response, OrderListReponse.class, orderResponseList, ExportEnum.ORDER_EXPORT.getSheetName()); } catch (Exception ex) { log.error("委托书导出出现异常,异常信息为{}", ex); } } + /** + * 通过状态对委托书状态进行更新 + */ @Override - public ReturnDTO updateStatusById(Long id, String status) { - BusinessOrder businessOrder = new BusinessOrder(); - businessOrder.setId(id); - businessOrder.setStatus(status); - Integer updateFlag = this.baseMapper.updateById(businessOrder); - if (updateFlag > 0) { + public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { + int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); + int addDealRecordFlag = addDealRecord(orderCancelRequest); + if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 取消记录,修改委托书状态,同时生成委托书操作日志,供用户查询 + */ + @Override + @Transactional + public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int addDealRecordFlag = addDealRecord(orderCancelRequest); + if (updateFlag > 0 && addDealRecordFlag > 0) { + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + /** + * 操作记录的查询 + */ + @Override + public List optionRecord(Long id) { + QueryWrapper dealRecordQueryWrapper = new QueryWrapper() + .eq("order_id", id); + return dealRecordMapper.selectList(dealRecordQueryWrapper); + } + + /** + * 新增操作记录 + */ + private int addDealRecord(OrderCancelRequest orderCancelRequest) { + AuthUser authUser = ShiroKit.getUser(); + BusinessDealRecord businessDealRecord = BusinessDealRecord.builder() + .createUser(authUser.getId()) + .createUserName(authUser.getName()) + .recordContent(reasonConvert(orderCancelRequest.getReason())) + .orderId(orderCancelRequest.getId()) + .build(); + return dealRecordMapper.insert(businessDealRecord); + } + + /** + * 强调正在做状态更新 + */ + private int doUpdateStatusById(Long orderId, String status) { + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(orderId); + businessOrder.setStatus(status); + AuthUser authUser = ShiroKit.getUser(); + businessOrder.setUpdateUser(authUser.getId()); + return this.baseMapper.updateById(businessOrder); + } + + /** + * 原因字典转化为相应的值 + */ + private String reasonConvert(String reasonIds) { + String reasonStr = ""; + if (StringUtils.isEmpty(reasonIds)) { + return reasonStr; + } + String[] reasonIdList = reasonIds.split(","); + for (String reasonId : reasonIdList) { + String reasonContent = dealRecordMapper.getDictContent(reasonId); + reasonStr = reasonStr + reasonContent + ","; + } + return reasonStr.substring(0, reasonStr.length() - 1); + } + private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); + businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); businessOrder.setStatus("1"); } - - private QueryWrapper listParamWrapper(OrderListRequest request) { + /** + * 委托书列表查询构建方法 + */ + private QueryWrapper listParamWrapperBuilder(OrderListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getDeliverer()), "deliverer", request.getDeliverer()); @@ -223,21 +303,19 @@ return queryWrapper; } - private Integer sampleStatusDeletor(Long orderId) { + private int deleteSampleById(Long orderId) { QueryWrapper sampleStatusRelationWrapper = new QueryWrapper() .eq("order_id", orderId); - Integer sampleStatus = this.sampleRelationMapper.delete(sampleStatusRelationWrapper); - return sampleStatus; + return this.sampleRelationMapper.delete(sampleStatusRelationWrapper); } - private Integer sampleStatusCreator(Long orderId, String measureContent, Long sampleId) { + private int sampleStatusCreator(Long orderId, String measureContent, Long sampleId) { BusinessOrderSampleRelation sampleStatusPopulation = new BusinessOrderSampleRelation(); sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); sampleStatusPopulation.setMeasureType("1"); - Integer sampleStatus = this.sampleRelationMapper.insert(sampleStatusPopulation); - return sampleStatus; + return this.sampleRelationMapper.insert(sampleStatusPopulation); } private void doSampleListPopulation(BusinessOrder businessOrder) { @@ -249,4 +327,5 @@ } ); } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 09eee0f..c4b3d7a 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -67,11 +67,17 @@ WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} @@ -88,11 +94,17 @@ SELECT * FROM meter_train_plan WHERE is_del = 0 - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} 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 04ed845..d04eb14 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 @@ -90,5 +90,4 @@ @ApiModelProperty(value = "回退状态(已收入的状态) 1真0假", dataType = "Integer") private Integer FallbackState; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java new file mode 100644 index 0000000..b06975f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java @@ -0,0 +1,16 @@ +package com.casic.missiles.dto.business.order; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OrderCancelRequest { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") + private String reason; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java index 9662eb8..d6206c5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java @@ -4,13 +4,18 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.List; +/** + * @author cz + */ @Data @ApiModel("设备接收") public class CertificateListRequest { @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") + @NotBlank(message = "表单id不能为空") private String formId; @ApiModelProperty(value = "证书编号", dataType = "String") @@ -20,7 +25,7 @@ private String orderNo; @ApiModelProperty(value = "委托方名称", dataType = "String") - private String cutomerName; + private String customerName; @ApiModelProperty(value = "样品编号", dataType = "String") private String sampleNo; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java index 28c6d26..bacfc56 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java @@ -58,8 +58,14 @@ /** * 创建时间 */ - @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 表单id diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index 9528373..cd1066f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,7 +114,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index b1048c1..bf75da4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,8 +111,8 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; /** * 可选决策项 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java index 9d1f2f0..8f0bfce 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java @@ -25,14 +25,26 @@ /** * 培训时间 */ - @ApiModelProperty(value = "培训时间(查询出该时间前列表倒序)", dataType = "String") - private String trainTime; + @ApiModelProperty(value = "培训开始时间", dataType = "String") + private String trainStartTime; + + /** + * 培训时间 + */ + @ApiModelProperty(value = "培训结束时间", dataType = "String") + private String trainEndTime; /** * 创建时间 */ - @ApiModelProperty(value = "创建时间(查询出该时间前列表倒序)", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 组织部门id-系统组织表 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 8893256..847993f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -117,6 +117,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java new file mode 100644 index 0000000..17e0770 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java @@ -0,0 +1,37 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@TableName("business_deal_record") +@ApiModel("委托书操作记录") +@AllArgsConstructor +@Builder +@Data +public class BusinessDealRecord { + + private Long id; + + @ApiModelProperty("委托书id") + private Long orderId; + + @ApiModelProperty("原因") + private String recordContent; + + private Long createUser; + + @ApiModelProperty("操作人名称") + private String createUserName; + + @ApiModelProperty("创建时间") + private String createTime; + + @ApiModelProperty("备注") + private String remark; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java index 8778b11..9e960f6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java @@ -87,6 +87,9 @@ private Integer isDel; + @ApiModelProperty(value = "最后更新人员", dataType = "String") + private Long updateUser; + @ApiModelProperty(value = "创建人", dataType = "String") private Long createUser; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java new file mode 100644 index 0000000..6572d23 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java @@ -0,0 +1,31 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * @author cz + */ +@Data +@TableName("business_order_record") +public class BusinessOrderRecord { + + private Long id; + + private Long orderId; + + /** + * 记录内容 + */ + private String recordTContent; + + /** + * 创建人id + */ + private Long createUser; + + /** + * 创建人时间 + */ + private String createTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java index ae324f0..ffc21af 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java @@ -146,7 +146,7 @@ private String remark; /** - * 流程定义id + * 流程实例id */ @ApiModelProperty(value = "流程实例id(未通过培训计划编辑接口必传参数)", dataType = "String") @TableField("process_id") 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 a0cceda..230c779 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 @@ -1,7 +1,6 @@ package com.casic.missiles.service.Impl.business; import cn.hutool.core.lang.Assert; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; @@ -15,14 +14,12 @@ import com.casic.missiles.dto.business.print.CertificateListRequest; import com.casic.missiles.dto.business.print.CertificateListResponse; import com.casic.missiles.dto.business.print.CertificateRefusePrintRequest; -import com.casic.missiles.dto.flowable.AllApproveDTO; 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.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -40,6 +37,9 @@ import java.util.*; import java.util.stream.Collectors; +/** + * @author cz + */ @Service @AllArgsConstructor public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { @@ -81,16 +81,19 @@ } @Override - @Transactional - public ReturnDTO agreeAginPrint(ApprovalAgreeRequest request) { - ReturnDTO returnDTO = approvalOperateService.agree(request); - return returnDTO; + public ReturnDTO agreeAgainPrint(ApprovalAgreeRequest request) { + return approvalOperateService.agree(request); } + /** + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * + * @return + */ @Override @Transactional public ReturnDTO refuseAgainPrint(CertificateRefusePrintRequest request) { - ApprovalRefuseRequest approvalRefuseRequest=new ApprovalRefuseRequest(); + ApprovalRefuseRequest approvalRefuseRequest = new ApprovalRefuseRequest(); approvalRefuseRequest.setTaskId(request.getTaskId()); approvalRefuseRequest.setComments(request.getComments()); ReturnDTO returnDTO = approvalOperateService.refuse(approvalRefuseRequest); @@ -99,8 +102,9 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setPrintStatus("2");//设置为不能打印 - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //设置为不能打印 + certificateReport.setPrintStatus("2"); + certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -108,7 +112,9 @@ return ReturnUtil.success(); } - //提交审批流程,修改证书审批状态、修改打印状态 + /** + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + */ @Transactional @Override public ReturnDTO submitAgainPrint(BaseApprovalSubmitRequest request) { @@ -119,8 +125,10 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //审批状态为审批中 - certificateReport.setPrintStatus("3"); //打印状态审批中 + //审批状态为审批中 + certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //打印状态审批中 + certificateReport.setPrintStatus("3"); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -128,13 +136,14 @@ return ReturnUtil.success(); } - //可打印:只需要查询可打印状态即可 - //查询工作流 + /** + * 可打印:只需要查询可打印状态即可,待审批状态,查询工作流,同时传输任务id + */ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)) { handlerBeApproved(approvalList, page, request); - } else if (request.getPrintStatus().equals("0")) { + } else if("0".equals(request.getPrintStatus())) { request.setApprovalStatus(null); approvalList.setRecords(this.baseMapper.selectBatchForApprovalList(page, request, null)); } else { @@ -147,18 +156,9 @@ return approvalList; } - private Page handleAllApprovalListResponse(Page approvalList, List allApproveList) { - Map taskMap = allApproveList.stream().collect(Collectors.toMap(AllApproveDTO::getBusinessKey, AllApproveDTO::getStatus)); - //状态补全 - approvalList.getRecords().forEach(approval -> { - approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); - approval.setApprovalStatus(taskMap.get(String.valueOf(approval.getId()))); - }); - //排序 - approvalList.setRecords(approvalList.getRecords().stream().sorted(Comparator.comparing(CertificateListResponse::getCreateTime).reversed()).collect(Collectors.toList())); - return approvalList; - } - + /** + * 查询待审批状态的打印证书,查询业务主键信息,据此查询相应的证书,并填充相应的工作流状态 + */ private Page handlerBeApproved(Page approvalList, Page page, CertificateListRequest request) { List businessKeys = new ArrayList<>(); List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); @@ -179,11 +179,4 @@ return approvalList; } - private void handleApprovalListResponse(Page approvalList, String status) { - approvalList.getRecords().stream().forEach(result -> { - //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 - result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); - }); - } - } 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 b397f83..859010b 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 @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.business; -import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -46,7 +45,9 @@ private final IBaseExportService iBaseExportService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; - //** 送检人查询条件不在设备交接单中,需要联查才可以实现 + /** + * 送检人查询条件不在设备交接单中,需要联查才可以实现 + */ @Override public Page exchangeListPage(Page page, InterchangeListRequest request) throws Exception { page.setRecords(this.baseMapper.selectInterchangeListPage(page, request)); @@ -54,7 +55,8 @@ } @Override - public BusinessInterchangeDetailResponse exchangeDetail(Long id) { ; + public BusinessInterchangeDetailResponse exchangeDetail(Long id) { + ; BusinessInterchangeDetailResponse businessExchange = this.baseMapper.getInfoById(id); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", businessExchange.getOrderId()); @@ -71,19 +73,21 @@ @Override @Transactional public ReturnDTO deleteExchange(Long id) { - Integer deleteFlag = this.baseMapper.deleteById(id); - //交接单绑定的肯定有样品,所以samplUpdateFlag肯定为true - Boolean samplUpdateFlag = sampleStatusDeletor(id) > 0; - if (deleteFlag > 0 && samplUpdateFlag) { + int deleteFlag = this.baseMapper.deleteById(id); + //交接单绑定的肯定有样品,所以sampleUpdateFlag肯定为true + boolean sampleUpdateFlag = sampleStatusDeletor(id) > 0; + if (deleteFlag > 0 && sampleUpdateFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //更新不对样品有任何操作 + /** + * 更新不对样品有任何操作 + */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { - Integer updateFlag = this.baseMapper.updateById(businessInterchange); + int updateFlag = this.baseMapper.updateById(businessInterchange); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -94,8 +98,8 @@ @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { populationExchange(businessInterchange); - Integer addFlag = this.baseMapper.insert(businessInterchange); - Boolean sampleAddFlag = true; + int addFlag = this.baseMapper.insert(businessInterchange); + boolean sampleAddFlag = true; if (!CollectionUtils.isEmpty(businessInterchange.getCustomerSampleList())) { for (CustomerSampleListVO sampleInfo : businessInterchange.getCustomerSampleList()) { sampleAddFlag = sampleAddFlag && sampleStatusUpdator(sampleInfo, businessInterchange.getId()) > 0; 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 3bd316c..585a207 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 @@ -215,13 +215,7 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - Map resultMap = SqlRunner.db().selectOne( - "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + - "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + - "JOIN sys_user su ON srr.USERID = su.ID " + - "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + - "WHERE su.ID = {0}" + - "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + Map resultMap = selectDirectDept(user); if(CollectionUtils.isEmpty(resultMap) || Objects.isNull(resultMap.get("deptId"))){ return new Page<>(); } @@ -390,16 +384,7 @@ Long maxNo = labExecutiveTemplateInfoMapper.selectMaxTemplateNo(); for (int i = 0; i < labExecutiveInfos.size(); i++) { BusinessLabExecutiveInfo lab = labExecutiveInfos.get(i); - BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); - templateInfo.setTemplateCode(templateCode); -// templateInfo.setSampleTypeId(); - templateInfo.setSampleId(lab.getSampleId()); - templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); - templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); -// templateInfo.setMeasureItem(); - templateInfo.setExecuteSequence(lab.getMeasureSequence()); -// templateInfo.setCreateUser(); + BusinessLabExecutiveTemplateInfo templateInfo = getBusinessLabExecutiveTemplateInfo(maxNo, i, lab); labList.add(templateInfo); } if(labExecutiveTemplateInfoService.saveBatch(labList)) log.info("实验室检测记录批量保存为实验室检测模板成功"); @@ -422,6 +407,20 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { + BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); + String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + templateInfo.setTemplateCode(templateCode); +// templateInfo.setSampleTypeId(); + templateInfo.setSampleId(lab.getSampleId()); + templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); + templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); +// templateInfo.setMeasureItem(); + templateInfo.setExecuteSequence(lab.getMeasureSequence()); +// templateInfo.setCreateUser(); + return templateInfo; + } + @Override public ReturnDTO updateExecutiveList(UpdateExecutiveListRequest request) { //删除前端已删除的ids @@ -469,7 +468,6 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - //登录用户id获取计量人员id,实验室检测信息中存储的是计量人员id MeterStaff meterStaff = getMeterStaffInfo(user); if(Objects.isNull(meterStaff)) throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_NOT_STAFF); Long userId = meterStaff.getId(); @@ -510,7 +508,6 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - //登录用户id获取计量人员id,实验室检测信息中存储的是计量人员id MeterStaff meterStaff = getMeterStaffInfo(user); if(Objects.isNull(meterStaff)) throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_NOT_STAFF); Long userId = meterStaff.getId(); @@ -518,15 +515,7 @@ //删除实验室检测列表中退回数据 int deleteFlag = labExecutiveInfoMapper.deleteById(request.getId()); //退回操作记录表中增加数据 - BusinessLabExecutiveOperateLog operateLog = new BusinessLabExecutiveOperateLog(); - operateLog.setOrderId(request.getOrderId()); - operateLog.setSampleId(request.getSampleId()); - operateLog.setMeasureDeptId(request.getMeasureSegmentId()); - operateLog.setMeasurePersonId(request.getMeasurePersonId()); - operateLog.setOperatePersonId(userId); - operateLog.setOperatePersonName(user.getName()); - operateLog.setMeasureStatus(MeasureStatusEnum.SEND_BACK); - operateLog.setOperateReason(request.getOperateReason()); + BusinessLabExecutiveOperateLog operateLog = getBusinessLabExecutiveOperateLog(request, user, userId); int insertFlag = labExecutiveOperateLogMapper.insert(operateLog); if(deleteFlag > 0 && insertFlag > 0){ //退回后会将下一个要执行的实验室检测状态更新为待分配,将后面的实验室顺序变更为连续(都进行减1) @@ -596,4 +585,29 @@ } }); } + + private Map selectDirectDept(AuthUser user) { + Map resultMap = SqlRunner.db().selectOne( + "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON srr.USERID = su.ID " + + "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + + "WHERE su.ID = {0}" + + "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + return resultMap; + } + + private BusinessLabExecutiveOperateLog getBusinessLabExecutiveOperateLog(ExecutiveSendBackRequest request, AuthUser user, Long userId) { + BusinessLabExecutiveOperateLog operateLog = new BusinessLabExecutiveOperateLog(); + operateLog.setOrderId(request.getOrderId()); + operateLog.setSampleId(request.getSampleId()); + operateLog.setMeasureDeptId(request.getMeasureSegmentId()); + operateLog.setMeasurePersonId(request.getMeasurePersonId()); + operateLog.setOperatePersonId(userId); + operateLog.setOperatePersonName(user.getName()); + operateLog.setMeasureStatus(MeasureStatusEnum.SEND_BACK); + operateLog.setOperateReason(request.getOperateReason()); + return operateLog; + } + } 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 f6b3933..48742b4 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 @@ -9,14 +9,17 @@ import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.ExportEnum; import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; import com.casic.missiles.mapper.business.BusinessOrderMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -49,18 +52,19 @@ @AllArgsConstructor public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { - private final BusinessOrderListReponseMapper orderListReponseMapper; + private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; private final CustomerSampleService customerSampleService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; + private final BusinessDealRecordMapper dealRecordMapper; /** * 1、分页查询 2、批量查询所有的委托书、样品关系 => 进行以sampleId为key主键map list 3、查询计算样品数量 */ @Override public Page orderListPage(Page page, OrderListRequest request) throws Exception { - QueryWrapper wrapper = listParamWrapper(request); - Page resultPage = this.orderListReponseMapper.selectPage(page, wrapper); + QueryWrapper wrapper = listParamWrapperBuilder(request); + Page resultPage = this.orderListResponseMapper.selectPage(page, wrapper); List orderSampleList = sampleRelationMapper.selectList(null); Map> orderSampleMap = orderSampleList.stream().collect( Collectors.groupingBy(BusinessOrderSampleRelation::getOrderId) @@ -74,7 +78,9 @@ return resultPage; } - // 1、查询委托书详情 2、对样品列表进行查询 3、设置默认在库标志 + /** + * 1、查询委托书详情 2、对样品列表进行查询 3、设置默认在库标志 + */ @Override public BusinessOrder orderDetail(Long id) { BusinessOrder businessOrder = this.baseMapper.selectById(id); @@ -91,29 +97,24 @@ return businessOrder; } - @Override - public ReturnDTO deleteOrder(Long id) { - Integer deleteFlag = this.baseMapper.deleteById(id); - if (deleteFlag > 0) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - - // 删除样品和委托书的明细关系,填充传输的明细样品数据, - // 对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + /** + * 1、删除样品和委托书的明细关系,填充传输的明细样品数据 + * 2、对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + */ @Override public ReturnDTO updateOrder(BusinessOrder businessOrder) { - Integer updateFlag = this.baseMapper.updateById(businessOrder); - this.sampleStatusDeletor(businessOrder.getId()); - Boolean sampleUpdateFlag = true; + AuthUser authUser = ShiroKit.getUser(); + businessOrder.setUpdateUser(authUser.getId()); + int updateFlag = this.baseMapper.updateById(businessOrder); + this.deleteSampleById(businessOrder.getId()); + boolean sampleUpdateFlag = true; this.doSampleListPopulation(businessOrder); for (CustomerSampleInfo sampleInfo : businessOrder.getCustomerSampleInfoList()) { sampleInfo.setDeliverer(businessOrder.getDeliverer()); sampleInfo.setDelivererTel(businessOrder.getDelivererTel()); - if (sampleInfo.getIsExistSample().equals("0")) { + if ("0".equals(sampleInfo.getIsExistSample())) { ReturnDTO returnDTO = customerSampleService.addSample(sampleInfo); - sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode().equals("200"); + sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode().equals(200); } else { ReturnDTO returnDTO = customerSampleService.updateSample(sampleInfo); sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode() == 200; @@ -126,25 +127,27 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //删除样品和委托书的明细关系,填充传输的明细样品数据, - // 对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + /** + * 1、删除样品和委托书的明细关系,填充传输的明细样品数据 + * 2、对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + */ @Override @Transactional public ReturnDTO addOrder(BusinessOrder businessOrder) { initOrderInfo(businessOrder); - Integer addFlag = this.baseMapper.insert(businessOrder); - Boolean sampleAddFlag = true; - this.sampleStatusDeletor(businessOrder.getId()); + int addFlag = this.baseMapper.insert(businessOrder); + boolean sampleAddFlag = true; + this.deleteSampleById(businessOrder.getId()); this.doSampleListPopulation(businessOrder); for (CustomerSampleInfo sampleInfo : businessOrder.getCustomerSampleInfoList()) { sampleInfo.setDeliverer(businessOrder.getDeliverer()); sampleInfo.setDelivererTel(businessOrder.getDelivererTel()); - if (sampleInfo.getIsExistSample().equals("0")) { + if ("0".equals(sampleInfo.getIsExistSample())) { ReturnDTO returnDTO = customerSampleService.addSample(sampleInfo); - sampleAddFlag = sampleAddFlag && returnDTO.getCode() == 200; + sampleAddFlag = sampleAddFlag && returnDTO.getCode().equals(200); } else { ReturnDTO returnDTO = customerSampleService.updateSample(sampleInfo); - sampleAddFlag = sampleAddFlag && returnDTO.getCode() == 200; + sampleAddFlag = sampleAddFlag && returnDTO.getCode().equals(200); } sampleAddFlag = sampleAddFlag && sampleStatusCreator(sampleInfo.getOrderId(), sampleInfo.getMeasureContent(), sampleInfo.getId()) > 0; } @@ -154,58 +157,135 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //如查询说明,补充对是否加急的excel文档表现 + /** + * 1、判断是否存在ids,进行其他参数属性的初始化 + * 2、查询查询构建 + * 3、查询样品关系,构建委托书样品数量map集合 + * 4、字典值进行状态转化 + */ @Override public void orderExport(OrderListRequest request, HttpServletResponse response) { try { - List orderListReponseList; + List orderResponseList; if (!CollectionUtils.isEmpty(request.getIds())) { - orderListReponseList = orderListReponseMapper.selectBatchIds(request.getIds()); + orderResponseList = orderListResponseMapper.selectBatchIds(request.getIds()); } else { - QueryWrapper wrapper = listParamWrapper(request); - orderListReponseList = this.orderListReponseMapper.selectList(wrapper); + QueryWrapper wrapper = listParamWrapperBuilder(request); + orderResponseList = this.orderListResponseMapper.selectList(wrapper); } + //查询样品关系,构建委托书样品数量map集合, List orderSampleList = sampleRelationMapper.selectList(null); Map> orderSampleMap = orderSampleList.stream().collect( Collectors.groupingBy(BusinessOrderSampleRelation::getOrderId) ); - orderListReponseList.forEach( + orderResponseList.forEach( orderSample -> orderSample.setSampleCount(orderSampleMap.containsKey(orderSample.getId()) ? orderSampleMap.get(orderSample.getId()).size() : 0) ); - for (OrderListReponse orderListReponse : orderListReponseList) { - orderListReponse.setIsUrgent(orderListReponse.getIsUrgent().equals("1") ? "是" : "否"); + //字典转换 + for (OrderListReponse orderListReponse : orderResponseList) { + orderListReponse.setIsUrgent("1".equals(orderListReponse.getIsUrgent()) ? "是" : "否"); DictCodeUtils.convertDictCodeToName(orderListReponse); } - iBaseExportService.exportExcel(response, OrderListReponse.class, orderListReponseList, ExportEnum.ORDER_EXPORT.getSheetName()); + iBaseExportService.exportExcel(response, OrderListReponse.class, orderResponseList, ExportEnum.ORDER_EXPORT.getSheetName()); } catch (Exception ex) { log.error("委托书导出出现异常,异常信息为{}", ex); } } + /** + * 通过状态对委托书状态进行更新 + */ @Override - public ReturnDTO updateStatusById(Long id, String status) { - BusinessOrder businessOrder = new BusinessOrder(); - businessOrder.setId(id); - businessOrder.setStatus(status); - Integer updateFlag = this.baseMapper.updateById(businessOrder); - if (updateFlag > 0) { + public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { + int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); + int addDealRecordFlag = addDealRecord(orderCancelRequest); + if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 取消记录,修改委托书状态,同时生成委托书操作日志,供用户查询 + */ + @Override + @Transactional + public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int addDealRecordFlag = addDealRecord(orderCancelRequest); + if (updateFlag > 0 && addDealRecordFlag > 0) { + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + /** + * 操作记录的查询 + */ + @Override + public List optionRecord(Long id) { + QueryWrapper dealRecordQueryWrapper = new QueryWrapper() + .eq("order_id", id); + return dealRecordMapper.selectList(dealRecordQueryWrapper); + } + + /** + * 新增操作记录 + */ + private int addDealRecord(OrderCancelRequest orderCancelRequest) { + AuthUser authUser = ShiroKit.getUser(); + BusinessDealRecord businessDealRecord = BusinessDealRecord.builder() + .createUser(authUser.getId()) + .createUserName(authUser.getName()) + .recordContent(reasonConvert(orderCancelRequest.getReason())) + .orderId(orderCancelRequest.getId()) + .build(); + return dealRecordMapper.insert(businessDealRecord); + } + + /** + * 强调正在做状态更新 + */ + private int doUpdateStatusById(Long orderId, String status) { + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(orderId); + businessOrder.setStatus(status); + AuthUser authUser = ShiroKit.getUser(); + businessOrder.setUpdateUser(authUser.getId()); + return this.baseMapper.updateById(businessOrder); + } + + /** + * 原因字典转化为相应的值 + */ + private String reasonConvert(String reasonIds) { + String reasonStr = ""; + if (StringUtils.isEmpty(reasonIds)) { + return reasonStr; + } + String[] reasonIdList = reasonIds.split(","); + for (String reasonId : reasonIdList) { + String reasonContent = dealRecordMapper.getDictContent(reasonId); + reasonStr = reasonStr + reasonContent + ","; + } + return reasonStr.substring(0, reasonStr.length() - 1); + } + private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); + businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); businessOrder.setStatus("1"); } - - private QueryWrapper listParamWrapper(OrderListRequest request) { + /** + * 委托书列表查询构建方法 + */ + private QueryWrapper listParamWrapperBuilder(OrderListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getDeliverer()), "deliverer", request.getDeliverer()); @@ -223,21 +303,19 @@ return queryWrapper; } - private Integer sampleStatusDeletor(Long orderId) { + private int deleteSampleById(Long orderId) { QueryWrapper sampleStatusRelationWrapper = new QueryWrapper() .eq("order_id", orderId); - Integer sampleStatus = this.sampleRelationMapper.delete(sampleStatusRelationWrapper); - return sampleStatus; + return this.sampleRelationMapper.delete(sampleStatusRelationWrapper); } - private Integer sampleStatusCreator(Long orderId, String measureContent, Long sampleId) { + private int sampleStatusCreator(Long orderId, String measureContent, Long sampleId) { BusinessOrderSampleRelation sampleStatusPopulation = new BusinessOrderSampleRelation(); sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); sampleStatusPopulation.setMeasureType("1"); - Integer sampleStatus = this.sampleRelationMapper.insert(sampleStatusPopulation); - return sampleStatus; + return this.sampleRelationMapper.insert(sampleStatusPopulation); } private void doSampleListPopulation(BusinessOrder businessOrder) { @@ -249,4 +327,5 @@ } ); } + } 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 e922dc2..07c88e9 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 com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -11,8 +12,6 @@ import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; -import com.casic.missiles.dto.business.interchange.InterchangeListResponse; -import com.casic.missiles.dto.meter.TrainPlanApprovalListResponse; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; @@ -21,20 +20,22 @@ import com.casic.missiles.mapper.business.*; import com.casic.missiles.model.business.*; import com.casic.missiles.service.business.IBusinessDispatchService; -import com.casic.missiles.utils.ConvertUtils; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.util.ObjectUtils; -import org.springframework.util.StringUtils; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Objects; import java.util.Optional; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -45,84 +46,59 @@ private final BusinessLabExecutiveInfoMapper labExecutiveInfoMapper; private final IBaseExportService iBaseExportService; - //终止、回退、收入、归还、催办按钮 - //列表返回只需要控制已收入回退按钮显示的权限即可,其中回退在没有任何实验室进行的情况,可以进行设备的回退 + /** + * 终止、回退、收入、归还、催办按钮 + * 列表返回只需要控制已收入回退按钮显示的权限即可,其中回退在没有任何实验室进行的情况,可以进行设备的回退 + */ @Override public Page listPage(Page page, DeviceDispatchDTO request) { -// //查询委托书和样品关联表中的各状态的样品 - Page dispatchVOPage = orderSampleRelationMapper.getSampleListByStatus(page, request); + //查询委托书和样品关联表中的各状态的样品 + Page dispatchVoPage = orderSampleRelationMapper.getSampleListByStatus(page, request); log.info("设备收发-当前查询样品状态为:{}", request.getSampleStatus()); - List records = dispatchVOPage.getRecords(); + List records = dispatchVoPage.getRecords(); if (CollectionUtils.isEmpty(records)) { return new Page<>(); } - doDispatchVOPagePopution(records, request); - return dispatchVOPage; - } - - - //进行已收入分页的当前环节回填、出具证书回填 - private void doDispatchVOPopulation(DeviceDispatchVO dispatchVO, Long sampleId, Long orderId) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); - HandOutLabExecutiveDTO handOutLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); - Integer measureNumberStatus = labExecutiveInfoMapper.getMeasureNumberStatus(orderId, sampleId); - // - if (!Objects.isNull(handOutLabExecutiveDTO)) { - dispatchVO.setRequireCertifications(handOutLabExecutiveDTO.getRequireCertifications()); - dispatchVO.setCurrentSegment(handOutLabExecutiveDTO.getDeptName()); - Long measureDeptId = handOutLabExecutiveDTO.getMeasureDeptId(); - dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, measureDeptId)); - } else { - dispatchVO.setAlreadyCertifications(0); - dispatchVO.setRequireCertifications(ObjectUtils.isEmpty(measureNumberStatus) ? 0 : measureNumberStatus); - } - if (!ObjectUtils.isEmpty(measureNumberStatus) && measureNumberStatus > 0) { - dispatchVO.setFallbackState(0);//不可以进行回退 - } else { - dispatchVO.setFallbackState(1);//可以进行回退 - } + doPopulateDispatch(records, request); + return dispatchVoPage; } /** - * 重点填充类 - * - * @param dispatchVOPage - * @param request + * 分发列表填充 */ - private void doDispatchVOPagePopution(List dispatchVOPage, DeviceDispatchDTO request) { - dispatchVOPage.stream().forEach( + private void doPopulateDispatch(List dispatchVOPage, DeviceDispatchDTO request) { + dispatchVOPage.forEach( dispatchVO -> { Long orderId = dispatchVO.getOrderId(); Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && request.getSampleStatus().equals("8") && noSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { - //待分发状态,分发性质:有退回就是退回分发,当前检定环节:待分配,已出具证书:无,出具证书总数:无 + //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 case SampleStatusEnum.TO_HANDOUT: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //检测中状态,分发性质:无,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 + //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 case SampleStatusEnum.IN_MEASURE: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //检测完状态,分发性质:无,当前检定环节:完成,已出具证书:无,出具证书总数:无 + //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 case SampleStatusEnum.MEASURE_COMPLETE: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //超期样品(即检测超期,未在应检完时间检完),分发性质:无,当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 + doDispatchVoPopulation(dispatchVO, sampleId, orderId); + return; + //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 case SampleStatusEnum.BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); - Long deptId = overLabExecutiveDTO.getMeasureDeptId(); + Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); dispatchVO.setRequireCertifications(overLabExecutiveDTO.getRequireCertifications()); - if (checkSampleFinshStauts(dispatchVO)) { + // 判断样品是完成或接收状态,直接显示即可 + if (checkSampleFinishStatus(dispatchVO)) { return; } dispatchVO.setCurrentSegment(overLabExecutiveDTO.getDeptName()); break; + default: + break; } } ); @@ -131,8 +107,7 @@ @Override public void exportSampleDispatchList(DeviceDispatchDTO request, HttpServletResponse response) { try { - - Page deviceDispatchVOPage = PageFactory.defaultPage(); + Page deviceDispatchVOPage; if (!CollectionUtils.isEmpty(request.getIds())) { initDeviceDispatchDTOEmpty(request); } else { @@ -150,29 +125,59 @@ } + /** + * 状态更新 + */ @Override public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer updateFalg = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFalg > 0) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - - //终止操作,不仅更新状态,同时进行实验室状态的更新 - @Override - @Transactional - public ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, true); - //实验室状态数据的更新 - reasonPopulation(deviceStatusChangeDTO); + Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); if (updateFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - private void reasonPopulation(DeviceStatusChangeDTO deviceStatusChangeDTO) { + /** + * 终止操作,不仅更新状态,同时进行实验室状态原因的更新 + */ + @Override + @Transactional + public ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO) { + Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, true); + //实验室状态数据的更新 + updateLabExecutiveInfo(deviceStatusChangeDTO); + if (updateFlag > 0) { + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + /** + * 进行已收入分页的当前环节回填、出具证书回填 + */ + private void doDispatchVoPopulation(DeviceDispatchVO dispatchVO, Long sampleId, Long orderId) { + dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + HandOutLabExecutiveDTO handOutLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); + Integer measureNumberStatus = labExecutiveInfoMapper.getMeasureNumberStatus(orderId, sampleId); + //证书,当前环节的回填 + if (!Objects.isNull(handOutLabExecutiveDTO)) { + dispatchVO.setRequireCertifications(handOutLabExecutiveDTO.getRequireCertifications()); + dispatchVO.setCurrentSegment(handOutLabExecutiveDTO.getDeptName()); + Long measureDeptId = handOutLabExecutiveDTO.getMeasureDeptId(); + dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, measureDeptId)); + } else { + dispatchVO.setAlreadyCertifications(0); + dispatchVO.setRequireCertifications(ObjectUtils.isEmpty(measureNumberStatus) ? 0 : measureNumberStatus); + } + //处于检测中、检测完、待检测的实验室大于0,不可以进行回退,否则可以进行回退 + if (!ObjectUtils.isEmpty(measureNumberStatus) && measureNumberStatus > 0) { + dispatchVO.setFallbackState(0); + } else { + dispatchVO.setFallbackState(1); + } + } + + private void updateLabExecutiveInfo(DeviceStatusChangeDTO deviceStatusChangeDTO) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); @@ -182,10 +187,13 @@ labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } + /** + * 消息催办 + */ @Override public ReturnDTO rushDoProcess(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer deleteFalg = this.baseMapper.deleteById(deviceStatusChangeDTO.getOrderId()); - if (deleteFalg > 0) { + int deleteFlag = this.baseMapper.deleteById(deviceStatusChangeDTO.getOrderId()); + if (deleteFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -203,7 +211,7 @@ return null; } Optional handOutLabExecutiveDTOOptional = labExecutiveList.stream().findFirst(); - return handOutLabExecutiveDTOOptional.isPresent() ? handOutLabExecutiveDTOOptional.get() : null; + return handOutLabExecutiveDTOOptional.orElse(null); } private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { @@ -214,7 +222,9 @@ return wrapper; } - //更新检测完成后,执行当前正在进行数据 + /** + * 更新检测完成后,执行当前正在进行数据 + */ private Integer statusChangeUpdator(DeviceStatusChangeDTO statusChangeDTO, Boolean terminateFlag) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); @@ -227,15 +237,18 @@ return this.orderSampleRelationMapper.update(businessOrderSampleRelation, queryWrapper); } - //判断不是自检 - private Boolean noSelfMeasure(DeviceDispatchVO dispatchVO) { - if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType()) && (dispatchVO.getMeasureType().equals("1") || dispatchVO.getMeasureType().equals("2"))) { - String currentSegment = dispatchVO.getMeasureType().equals("1") ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; - dispatchVO.setCurrentSegment(currentSegment); - return true; - } else { - return false; + /** + * 判断不是自检 + */ + 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; + dispatchVO.setCurrentSegment(currentSegment); + return true; + } } + return false; } private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { @@ -250,8 +263,10 @@ request.setEndTime(null); } - // 判断样品是完成或接收状态,直接显示即可 - private Boolean checkSampleFinshStauts(DeviceDispatchVO dispatchVO) { + /** + * 判断样品是完成或接收状态,直接显示即可 + */ + private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); return true; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 09eee0f..c4b3d7a 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -67,11 +67,17 @@ WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} @@ -88,11 +94,17 @@ SELECT * FROM meter_train_plan WHERE is_del = 0 - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} 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 04ed845..d04eb14 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 @@ -90,5 +90,4 @@ @ApiModelProperty(value = "回退状态(已收入的状态) 1真0假", dataType = "Integer") private Integer FallbackState; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java new file mode 100644 index 0000000..b06975f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java @@ -0,0 +1,16 @@ +package com.casic.missiles.dto.business.order; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OrderCancelRequest { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") + private String reason; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java index 9662eb8..d6206c5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java @@ -4,13 +4,18 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.List; +/** + * @author cz + */ @Data @ApiModel("设备接收") public class CertificateListRequest { @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") + @NotBlank(message = "表单id不能为空") private String formId; @ApiModelProperty(value = "证书编号", dataType = "String") @@ -20,7 +25,7 @@ private String orderNo; @ApiModelProperty(value = "委托方名称", dataType = "String") - private String cutomerName; + private String customerName; @ApiModelProperty(value = "样品编号", dataType = "String") private String sampleNo; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java index 28c6d26..bacfc56 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java @@ -58,8 +58,14 @@ /** * 创建时间 */ - @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 表单id diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index 9528373..cd1066f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,7 +114,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index b1048c1..bf75da4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,8 +111,8 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; /** * 可选决策项 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java index 9d1f2f0..8f0bfce 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java @@ -25,14 +25,26 @@ /** * 培训时间 */ - @ApiModelProperty(value = "培训时间(查询出该时间前列表倒序)", dataType = "String") - private String trainTime; + @ApiModelProperty(value = "培训开始时间", dataType = "String") + private String trainStartTime; + + /** + * 培训时间 + */ + @ApiModelProperty(value = "培训结束时间", dataType = "String") + private String trainEndTime; /** * 创建时间 */ - @ApiModelProperty(value = "创建时间(查询出该时间前列表倒序)", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 组织部门id-系统组织表 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 8893256..847993f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -117,6 +117,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java new file mode 100644 index 0000000..17e0770 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java @@ -0,0 +1,37 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@TableName("business_deal_record") +@ApiModel("委托书操作记录") +@AllArgsConstructor +@Builder +@Data +public class BusinessDealRecord { + + private Long id; + + @ApiModelProperty("委托书id") + private Long orderId; + + @ApiModelProperty("原因") + private String recordContent; + + private Long createUser; + + @ApiModelProperty("操作人名称") + private String createUserName; + + @ApiModelProperty("创建时间") + private String createTime; + + @ApiModelProperty("备注") + private String remark; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java index 8778b11..9e960f6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java @@ -87,6 +87,9 @@ private Integer isDel; + @ApiModelProperty(value = "最后更新人员", dataType = "String") + private Long updateUser; + @ApiModelProperty(value = "创建人", dataType = "String") private Long createUser; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java new file mode 100644 index 0000000..6572d23 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java @@ -0,0 +1,31 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * @author cz + */ +@Data +@TableName("business_order_record") +public class BusinessOrderRecord { + + private Long id; + + private Long orderId; + + /** + * 记录内容 + */ + private String recordTContent; + + /** + * 创建人id + */ + private Long createUser; + + /** + * 创建人时间 + */ + private String createTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java index ae324f0..ffc21af 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java @@ -146,7 +146,7 @@ private String remark; /** - * 流程定义id + * 流程实例id */ @ApiModelProperty(value = "流程实例id(未通过培训计划编辑接口必传参数)", dataType = "String") @TableField("process_id") 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 a0cceda..230c779 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 @@ -1,7 +1,6 @@ package com.casic.missiles.service.Impl.business; import cn.hutool.core.lang.Assert; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; @@ -15,14 +14,12 @@ import com.casic.missiles.dto.business.print.CertificateListRequest; import com.casic.missiles.dto.business.print.CertificateListResponse; import com.casic.missiles.dto.business.print.CertificateRefusePrintRequest; -import com.casic.missiles.dto.flowable.AllApproveDTO; 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.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -40,6 +37,9 @@ import java.util.*; import java.util.stream.Collectors; +/** + * @author cz + */ @Service @AllArgsConstructor public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { @@ -81,16 +81,19 @@ } @Override - @Transactional - public ReturnDTO agreeAginPrint(ApprovalAgreeRequest request) { - ReturnDTO returnDTO = approvalOperateService.agree(request); - return returnDTO; + public ReturnDTO agreeAgainPrint(ApprovalAgreeRequest request) { + return approvalOperateService.agree(request); } + /** + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * + * @return + */ @Override @Transactional public ReturnDTO refuseAgainPrint(CertificateRefusePrintRequest request) { - ApprovalRefuseRequest approvalRefuseRequest=new ApprovalRefuseRequest(); + ApprovalRefuseRequest approvalRefuseRequest = new ApprovalRefuseRequest(); approvalRefuseRequest.setTaskId(request.getTaskId()); approvalRefuseRequest.setComments(request.getComments()); ReturnDTO returnDTO = approvalOperateService.refuse(approvalRefuseRequest); @@ -99,8 +102,9 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setPrintStatus("2");//设置为不能打印 - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //设置为不能打印 + certificateReport.setPrintStatus("2"); + certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -108,7 +112,9 @@ return ReturnUtil.success(); } - //提交审批流程,修改证书审批状态、修改打印状态 + /** + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + */ @Transactional @Override public ReturnDTO submitAgainPrint(BaseApprovalSubmitRequest request) { @@ -119,8 +125,10 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //审批状态为审批中 - certificateReport.setPrintStatus("3"); //打印状态审批中 + //审批状态为审批中 + certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //打印状态审批中 + certificateReport.setPrintStatus("3"); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -128,13 +136,14 @@ return ReturnUtil.success(); } - //可打印:只需要查询可打印状态即可 - //查询工作流 + /** + * 可打印:只需要查询可打印状态即可,待审批状态,查询工作流,同时传输任务id + */ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)) { handlerBeApproved(approvalList, page, request); - } else if (request.getPrintStatus().equals("0")) { + } else if("0".equals(request.getPrintStatus())) { request.setApprovalStatus(null); approvalList.setRecords(this.baseMapper.selectBatchForApprovalList(page, request, null)); } else { @@ -147,18 +156,9 @@ return approvalList; } - private Page handleAllApprovalListResponse(Page approvalList, List allApproveList) { - Map taskMap = allApproveList.stream().collect(Collectors.toMap(AllApproveDTO::getBusinessKey, AllApproveDTO::getStatus)); - //状态补全 - approvalList.getRecords().forEach(approval -> { - approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); - approval.setApprovalStatus(taskMap.get(String.valueOf(approval.getId()))); - }); - //排序 - approvalList.setRecords(approvalList.getRecords().stream().sorted(Comparator.comparing(CertificateListResponse::getCreateTime).reversed()).collect(Collectors.toList())); - return approvalList; - } - + /** + * 查询待审批状态的打印证书,查询业务主键信息,据此查询相应的证书,并填充相应的工作流状态 + */ private Page handlerBeApproved(Page approvalList, Page page, CertificateListRequest request) { List businessKeys = new ArrayList<>(); List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); @@ -179,11 +179,4 @@ return approvalList; } - private void handleApprovalListResponse(Page approvalList, String status) { - approvalList.getRecords().stream().forEach(result -> { - //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 - result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); - }); - } - } 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 b397f83..859010b 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 @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.business; -import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -46,7 +45,9 @@ private final IBaseExportService iBaseExportService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; - //** 送检人查询条件不在设备交接单中,需要联查才可以实现 + /** + * 送检人查询条件不在设备交接单中,需要联查才可以实现 + */ @Override public Page exchangeListPage(Page page, InterchangeListRequest request) throws Exception { page.setRecords(this.baseMapper.selectInterchangeListPage(page, request)); @@ -54,7 +55,8 @@ } @Override - public BusinessInterchangeDetailResponse exchangeDetail(Long id) { ; + public BusinessInterchangeDetailResponse exchangeDetail(Long id) { + ; BusinessInterchangeDetailResponse businessExchange = this.baseMapper.getInfoById(id); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", businessExchange.getOrderId()); @@ -71,19 +73,21 @@ @Override @Transactional public ReturnDTO deleteExchange(Long id) { - Integer deleteFlag = this.baseMapper.deleteById(id); - //交接单绑定的肯定有样品,所以samplUpdateFlag肯定为true - Boolean samplUpdateFlag = sampleStatusDeletor(id) > 0; - if (deleteFlag > 0 && samplUpdateFlag) { + int deleteFlag = this.baseMapper.deleteById(id); + //交接单绑定的肯定有样品,所以sampleUpdateFlag肯定为true + boolean sampleUpdateFlag = sampleStatusDeletor(id) > 0; + if (deleteFlag > 0 && sampleUpdateFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //更新不对样品有任何操作 + /** + * 更新不对样品有任何操作 + */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { - Integer updateFlag = this.baseMapper.updateById(businessInterchange); + int updateFlag = this.baseMapper.updateById(businessInterchange); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -94,8 +98,8 @@ @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { populationExchange(businessInterchange); - Integer addFlag = this.baseMapper.insert(businessInterchange); - Boolean sampleAddFlag = true; + int addFlag = this.baseMapper.insert(businessInterchange); + boolean sampleAddFlag = true; if (!CollectionUtils.isEmpty(businessInterchange.getCustomerSampleList())) { for (CustomerSampleListVO sampleInfo : businessInterchange.getCustomerSampleList()) { sampleAddFlag = sampleAddFlag && sampleStatusUpdator(sampleInfo, businessInterchange.getId()) > 0; 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 3bd316c..585a207 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 @@ -215,13 +215,7 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - Map resultMap = SqlRunner.db().selectOne( - "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + - "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + - "JOIN sys_user su ON srr.USERID = su.ID " + - "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + - "WHERE su.ID = {0}" + - "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + Map resultMap = selectDirectDept(user); if(CollectionUtils.isEmpty(resultMap) || Objects.isNull(resultMap.get("deptId"))){ return new Page<>(); } @@ -390,16 +384,7 @@ Long maxNo = labExecutiveTemplateInfoMapper.selectMaxTemplateNo(); for (int i = 0; i < labExecutiveInfos.size(); i++) { BusinessLabExecutiveInfo lab = labExecutiveInfos.get(i); - BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); - templateInfo.setTemplateCode(templateCode); -// templateInfo.setSampleTypeId(); - templateInfo.setSampleId(lab.getSampleId()); - templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); - templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); -// templateInfo.setMeasureItem(); - templateInfo.setExecuteSequence(lab.getMeasureSequence()); -// templateInfo.setCreateUser(); + BusinessLabExecutiveTemplateInfo templateInfo = getBusinessLabExecutiveTemplateInfo(maxNo, i, lab); labList.add(templateInfo); } if(labExecutiveTemplateInfoService.saveBatch(labList)) log.info("实验室检测记录批量保存为实验室检测模板成功"); @@ -422,6 +407,20 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { + BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); + String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + templateInfo.setTemplateCode(templateCode); +// templateInfo.setSampleTypeId(); + templateInfo.setSampleId(lab.getSampleId()); + templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); + templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); +// templateInfo.setMeasureItem(); + templateInfo.setExecuteSequence(lab.getMeasureSequence()); +// templateInfo.setCreateUser(); + return templateInfo; + } + @Override public ReturnDTO updateExecutiveList(UpdateExecutiveListRequest request) { //删除前端已删除的ids @@ -469,7 +468,6 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - //登录用户id获取计量人员id,实验室检测信息中存储的是计量人员id MeterStaff meterStaff = getMeterStaffInfo(user); if(Objects.isNull(meterStaff)) throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_NOT_STAFF); Long userId = meterStaff.getId(); @@ -510,7 +508,6 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - //登录用户id获取计量人员id,实验室检测信息中存储的是计量人员id MeterStaff meterStaff = getMeterStaffInfo(user); if(Objects.isNull(meterStaff)) throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_NOT_STAFF); Long userId = meterStaff.getId(); @@ -518,15 +515,7 @@ //删除实验室检测列表中退回数据 int deleteFlag = labExecutiveInfoMapper.deleteById(request.getId()); //退回操作记录表中增加数据 - BusinessLabExecutiveOperateLog operateLog = new BusinessLabExecutiveOperateLog(); - operateLog.setOrderId(request.getOrderId()); - operateLog.setSampleId(request.getSampleId()); - operateLog.setMeasureDeptId(request.getMeasureSegmentId()); - operateLog.setMeasurePersonId(request.getMeasurePersonId()); - operateLog.setOperatePersonId(userId); - operateLog.setOperatePersonName(user.getName()); - operateLog.setMeasureStatus(MeasureStatusEnum.SEND_BACK); - operateLog.setOperateReason(request.getOperateReason()); + BusinessLabExecutiveOperateLog operateLog = getBusinessLabExecutiveOperateLog(request, user, userId); int insertFlag = labExecutiveOperateLogMapper.insert(operateLog); if(deleteFlag > 0 && insertFlag > 0){ //退回后会将下一个要执行的实验室检测状态更新为待分配,将后面的实验室顺序变更为连续(都进行减1) @@ -596,4 +585,29 @@ } }); } + + private Map selectDirectDept(AuthUser user) { + Map resultMap = SqlRunner.db().selectOne( + "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON srr.USERID = su.ID " + + "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + + "WHERE su.ID = {0}" + + "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + return resultMap; + } + + private BusinessLabExecutiveOperateLog getBusinessLabExecutiveOperateLog(ExecutiveSendBackRequest request, AuthUser user, Long userId) { + BusinessLabExecutiveOperateLog operateLog = new BusinessLabExecutiveOperateLog(); + operateLog.setOrderId(request.getOrderId()); + operateLog.setSampleId(request.getSampleId()); + operateLog.setMeasureDeptId(request.getMeasureSegmentId()); + operateLog.setMeasurePersonId(request.getMeasurePersonId()); + operateLog.setOperatePersonId(userId); + operateLog.setOperatePersonName(user.getName()); + operateLog.setMeasureStatus(MeasureStatusEnum.SEND_BACK); + operateLog.setOperateReason(request.getOperateReason()); + return operateLog; + } + } 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 f6b3933..48742b4 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 @@ -9,14 +9,17 @@ import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.ExportEnum; import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; import com.casic.missiles.mapper.business.BusinessOrderMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -49,18 +52,19 @@ @AllArgsConstructor public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { - private final BusinessOrderListReponseMapper orderListReponseMapper; + private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; private final CustomerSampleService customerSampleService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; + private final BusinessDealRecordMapper dealRecordMapper; /** * 1、分页查询 2、批量查询所有的委托书、样品关系 => 进行以sampleId为key主键map list 3、查询计算样品数量 */ @Override public Page orderListPage(Page page, OrderListRequest request) throws Exception { - QueryWrapper wrapper = listParamWrapper(request); - Page resultPage = this.orderListReponseMapper.selectPage(page, wrapper); + QueryWrapper wrapper = listParamWrapperBuilder(request); + Page resultPage = this.orderListResponseMapper.selectPage(page, wrapper); List orderSampleList = sampleRelationMapper.selectList(null); Map> orderSampleMap = orderSampleList.stream().collect( Collectors.groupingBy(BusinessOrderSampleRelation::getOrderId) @@ -74,7 +78,9 @@ return resultPage; } - // 1、查询委托书详情 2、对样品列表进行查询 3、设置默认在库标志 + /** + * 1、查询委托书详情 2、对样品列表进行查询 3、设置默认在库标志 + */ @Override public BusinessOrder orderDetail(Long id) { BusinessOrder businessOrder = this.baseMapper.selectById(id); @@ -91,29 +97,24 @@ return businessOrder; } - @Override - public ReturnDTO deleteOrder(Long id) { - Integer deleteFlag = this.baseMapper.deleteById(id); - if (deleteFlag > 0) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - - // 删除样品和委托书的明细关系,填充传输的明细样品数据, - // 对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + /** + * 1、删除样品和委托书的明细关系,填充传输的明细样品数据 + * 2、对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + */ @Override public ReturnDTO updateOrder(BusinessOrder businessOrder) { - Integer updateFlag = this.baseMapper.updateById(businessOrder); - this.sampleStatusDeletor(businessOrder.getId()); - Boolean sampleUpdateFlag = true; + AuthUser authUser = ShiroKit.getUser(); + businessOrder.setUpdateUser(authUser.getId()); + int updateFlag = this.baseMapper.updateById(businessOrder); + this.deleteSampleById(businessOrder.getId()); + boolean sampleUpdateFlag = true; this.doSampleListPopulation(businessOrder); for (CustomerSampleInfo sampleInfo : businessOrder.getCustomerSampleInfoList()) { sampleInfo.setDeliverer(businessOrder.getDeliverer()); sampleInfo.setDelivererTel(businessOrder.getDelivererTel()); - if (sampleInfo.getIsExistSample().equals("0")) { + if ("0".equals(sampleInfo.getIsExistSample())) { ReturnDTO returnDTO = customerSampleService.addSample(sampleInfo); - sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode().equals("200"); + sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode().equals(200); } else { ReturnDTO returnDTO = customerSampleService.updateSample(sampleInfo); sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode() == 200; @@ -126,25 +127,27 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //删除样品和委托书的明细关系,填充传输的明细样品数据, - // 对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + /** + * 1、删除样品和委托书的明细关系,填充传输的明细样品数据 + * 2、对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + */ @Override @Transactional public ReturnDTO addOrder(BusinessOrder businessOrder) { initOrderInfo(businessOrder); - Integer addFlag = this.baseMapper.insert(businessOrder); - Boolean sampleAddFlag = true; - this.sampleStatusDeletor(businessOrder.getId()); + int addFlag = this.baseMapper.insert(businessOrder); + boolean sampleAddFlag = true; + this.deleteSampleById(businessOrder.getId()); this.doSampleListPopulation(businessOrder); for (CustomerSampleInfo sampleInfo : businessOrder.getCustomerSampleInfoList()) { sampleInfo.setDeliverer(businessOrder.getDeliverer()); sampleInfo.setDelivererTel(businessOrder.getDelivererTel()); - if (sampleInfo.getIsExistSample().equals("0")) { + if ("0".equals(sampleInfo.getIsExistSample())) { ReturnDTO returnDTO = customerSampleService.addSample(sampleInfo); - sampleAddFlag = sampleAddFlag && returnDTO.getCode() == 200; + sampleAddFlag = sampleAddFlag && returnDTO.getCode().equals(200); } else { ReturnDTO returnDTO = customerSampleService.updateSample(sampleInfo); - sampleAddFlag = sampleAddFlag && returnDTO.getCode() == 200; + sampleAddFlag = sampleAddFlag && returnDTO.getCode().equals(200); } sampleAddFlag = sampleAddFlag && sampleStatusCreator(sampleInfo.getOrderId(), sampleInfo.getMeasureContent(), sampleInfo.getId()) > 0; } @@ -154,58 +157,135 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //如查询说明,补充对是否加急的excel文档表现 + /** + * 1、判断是否存在ids,进行其他参数属性的初始化 + * 2、查询查询构建 + * 3、查询样品关系,构建委托书样品数量map集合 + * 4、字典值进行状态转化 + */ @Override public void orderExport(OrderListRequest request, HttpServletResponse response) { try { - List orderListReponseList; + List orderResponseList; if (!CollectionUtils.isEmpty(request.getIds())) { - orderListReponseList = orderListReponseMapper.selectBatchIds(request.getIds()); + orderResponseList = orderListResponseMapper.selectBatchIds(request.getIds()); } else { - QueryWrapper wrapper = listParamWrapper(request); - orderListReponseList = this.orderListReponseMapper.selectList(wrapper); + QueryWrapper wrapper = listParamWrapperBuilder(request); + orderResponseList = this.orderListResponseMapper.selectList(wrapper); } + //查询样品关系,构建委托书样品数量map集合, List orderSampleList = sampleRelationMapper.selectList(null); Map> orderSampleMap = orderSampleList.stream().collect( Collectors.groupingBy(BusinessOrderSampleRelation::getOrderId) ); - orderListReponseList.forEach( + orderResponseList.forEach( orderSample -> orderSample.setSampleCount(orderSampleMap.containsKey(orderSample.getId()) ? orderSampleMap.get(orderSample.getId()).size() : 0) ); - for (OrderListReponse orderListReponse : orderListReponseList) { - orderListReponse.setIsUrgent(orderListReponse.getIsUrgent().equals("1") ? "是" : "否"); + //字典转换 + for (OrderListReponse orderListReponse : orderResponseList) { + orderListReponse.setIsUrgent("1".equals(orderListReponse.getIsUrgent()) ? "是" : "否"); DictCodeUtils.convertDictCodeToName(orderListReponse); } - iBaseExportService.exportExcel(response, OrderListReponse.class, orderListReponseList, ExportEnum.ORDER_EXPORT.getSheetName()); + iBaseExportService.exportExcel(response, OrderListReponse.class, orderResponseList, ExportEnum.ORDER_EXPORT.getSheetName()); } catch (Exception ex) { log.error("委托书导出出现异常,异常信息为{}", ex); } } + /** + * 通过状态对委托书状态进行更新 + */ @Override - public ReturnDTO updateStatusById(Long id, String status) { - BusinessOrder businessOrder = new BusinessOrder(); - businessOrder.setId(id); - businessOrder.setStatus(status); - Integer updateFlag = this.baseMapper.updateById(businessOrder); - if (updateFlag > 0) { + public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { + int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); + int addDealRecordFlag = addDealRecord(orderCancelRequest); + if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 取消记录,修改委托书状态,同时生成委托书操作日志,供用户查询 + */ + @Override + @Transactional + public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int addDealRecordFlag = addDealRecord(orderCancelRequest); + if (updateFlag > 0 && addDealRecordFlag > 0) { + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + /** + * 操作记录的查询 + */ + @Override + public List optionRecord(Long id) { + QueryWrapper dealRecordQueryWrapper = new QueryWrapper() + .eq("order_id", id); + return dealRecordMapper.selectList(dealRecordQueryWrapper); + } + + /** + * 新增操作记录 + */ + private int addDealRecord(OrderCancelRequest orderCancelRequest) { + AuthUser authUser = ShiroKit.getUser(); + BusinessDealRecord businessDealRecord = BusinessDealRecord.builder() + .createUser(authUser.getId()) + .createUserName(authUser.getName()) + .recordContent(reasonConvert(orderCancelRequest.getReason())) + .orderId(orderCancelRequest.getId()) + .build(); + return dealRecordMapper.insert(businessDealRecord); + } + + /** + * 强调正在做状态更新 + */ + private int doUpdateStatusById(Long orderId, String status) { + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(orderId); + businessOrder.setStatus(status); + AuthUser authUser = ShiroKit.getUser(); + businessOrder.setUpdateUser(authUser.getId()); + return this.baseMapper.updateById(businessOrder); + } + + /** + * 原因字典转化为相应的值 + */ + private String reasonConvert(String reasonIds) { + String reasonStr = ""; + if (StringUtils.isEmpty(reasonIds)) { + return reasonStr; + } + String[] reasonIdList = reasonIds.split(","); + for (String reasonId : reasonIdList) { + String reasonContent = dealRecordMapper.getDictContent(reasonId); + reasonStr = reasonStr + reasonContent + ","; + } + return reasonStr.substring(0, reasonStr.length() - 1); + } + private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); + businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); businessOrder.setStatus("1"); } - - private QueryWrapper listParamWrapper(OrderListRequest request) { + /** + * 委托书列表查询构建方法 + */ + private QueryWrapper listParamWrapperBuilder(OrderListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getDeliverer()), "deliverer", request.getDeliverer()); @@ -223,21 +303,19 @@ return queryWrapper; } - private Integer sampleStatusDeletor(Long orderId) { + private int deleteSampleById(Long orderId) { QueryWrapper sampleStatusRelationWrapper = new QueryWrapper() .eq("order_id", orderId); - Integer sampleStatus = this.sampleRelationMapper.delete(sampleStatusRelationWrapper); - return sampleStatus; + return this.sampleRelationMapper.delete(sampleStatusRelationWrapper); } - private Integer sampleStatusCreator(Long orderId, String measureContent, Long sampleId) { + private int sampleStatusCreator(Long orderId, String measureContent, Long sampleId) { BusinessOrderSampleRelation sampleStatusPopulation = new BusinessOrderSampleRelation(); sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); sampleStatusPopulation.setMeasureType("1"); - Integer sampleStatus = this.sampleRelationMapper.insert(sampleStatusPopulation); - return sampleStatus; + return this.sampleRelationMapper.insert(sampleStatusPopulation); } private void doSampleListPopulation(BusinessOrder businessOrder) { @@ -249,4 +327,5 @@ } ); } + } 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 e922dc2..07c88e9 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 com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -11,8 +12,6 @@ import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; -import com.casic.missiles.dto.business.interchange.InterchangeListResponse; -import com.casic.missiles.dto.meter.TrainPlanApprovalListResponse; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; @@ -21,20 +20,22 @@ import com.casic.missiles.mapper.business.*; import com.casic.missiles.model.business.*; import com.casic.missiles.service.business.IBusinessDispatchService; -import com.casic.missiles.utils.ConvertUtils; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.util.ObjectUtils; -import org.springframework.util.StringUtils; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Objects; import java.util.Optional; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -45,84 +46,59 @@ private final BusinessLabExecutiveInfoMapper labExecutiveInfoMapper; private final IBaseExportService iBaseExportService; - //终止、回退、收入、归还、催办按钮 - //列表返回只需要控制已收入回退按钮显示的权限即可,其中回退在没有任何实验室进行的情况,可以进行设备的回退 + /** + * 终止、回退、收入、归还、催办按钮 + * 列表返回只需要控制已收入回退按钮显示的权限即可,其中回退在没有任何实验室进行的情况,可以进行设备的回退 + */ @Override public Page listPage(Page page, DeviceDispatchDTO request) { -// //查询委托书和样品关联表中的各状态的样品 - Page dispatchVOPage = orderSampleRelationMapper.getSampleListByStatus(page, request); + //查询委托书和样品关联表中的各状态的样品 + Page dispatchVoPage = orderSampleRelationMapper.getSampleListByStatus(page, request); log.info("设备收发-当前查询样品状态为:{}", request.getSampleStatus()); - List records = dispatchVOPage.getRecords(); + List records = dispatchVoPage.getRecords(); if (CollectionUtils.isEmpty(records)) { return new Page<>(); } - doDispatchVOPagePopution(records, request); - return dispatchVOPage; - } - - - //进行已收入分页的当前环节回填、出具证书回填 - private void doDispatchVOPopulation(DeviceDispatchVO dispatchVO, Long sampleId, Long orderId) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); - HandOutLabExecutiveDTO handOutLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); - Integer measureNumberStatus = labExecutiveInfoMapper.getMeasureNumberStatus(orderId, sampleId); - // - if (!Objects.isNull(handOutLabExecutiveDTO)) { - dispatchVO.setRequireCertifications(handOutLabExecutiveDTO.getRequireCertifications()); - dispatchVO.setCurrentSegment(handOutLabExecutiveDTO.getDeptName()); - Long measureDeptId = handOutLabExecutiveDTO.getMeasureDeptId(); - dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, measureDeptId)); - } else { - dispatchVO.setAlreadyCertifications(0); - dispatchVO.setRequireCertifications(ObjectUtils.isEmpty(measureNumberStatus) ? 0 : measureNumberStatus); - } - if (!ObjectUtils.isEmpty(measureNumberStatus) && measureNumberStatus > 0) { - dispatchVO.setFallbackState(0);//不可以进行回退 - } else { - dispatchVO.setFallbackState(1);//可以进行回退 - } + doPopulateDispatch(records, request); + return dispatchVoPage; } /** - * 重点填充类 - * - * @param dispatchVOPage - * @param request + * 分发列表填充 */ - private void doDispatchVOPagePopution(List dispatchVOPage, DeviceDispatchDTO request) { - dispatchVOPage.stream().forEach( + private void doPopulateDispatch(List dispatchVOPage, DeviceDispatchDTO request) { + dispatchVOPage.forEach( dispatchVO -> { Long orderId = dispatchVO.getOrderId(); Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && request.getSampleStatus().equals("8") && noSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { - //待分发状态,分发性质:有退回就是退回分发,当前检定环节:待分配,已出具证书:无,出具证书总数:无 + //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 case SampleStatusEnum.TO_HANDOUT: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //检测中状态,分发性质:无,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 + //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 case SampleStatusEnum.IN_MEASURE: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //检测完状态,分发性质:无,当前检定环节:完成,已出具证书:无,出具证书总数:无 + //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 case SampleStatusEnum.MEASURE_COMPLETE: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //超期样品(即检测超期,未在应检完时间检完),分发性质:无,当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 + doDispatchVoPopulation(dispatchVO, sampleId, orderId); + return; + //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 case SampleStatusEnum.BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); - Long deptId = overLabExecutiveDTO.getMeasureDeptId(); + Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); dispatchVO.setRequireCertifications(overLabExecutiveDTO.getRequireCertifications()); - if (checkSampleFinshStauts(dispatchVO)) { + // 判断样品是完成或接收状态,直接显示即可 + if (checkSampleFinishStatus(dispatchVO)) { return; } dispatchVO.setCurrentSegment(overLabExecutiveDTO.getDeptName()); break; + default: + break; } } ); @@ -131,8 +107,7 @@ @Override public void exportSampleDispatchList(DeviceDispatchDTO request, HttpServletResponse response) { try { - - Page deviceDispatchVOPage = PageFactory.defaultPage(); + Page deviceDispatchVOPage; if (!CollectionUtils.isEmpty(request.getIds())) { initDeviceDispatchDTOEmpty(request); } else { @@ -150,29 +125,59 @@ } + /** + * 状态更新 + */ @Override public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer updateFalg = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFalg > 0) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - - //终止操作,不仅更新状态,同时进行实验室状态的更新 - @Override - @Transactional - public ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, true); - //实验室状态数据的更新 - reasonPopulation(deviceStatusChangeDTO); + Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); if (updateFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - private void reasonPopulation(DeviceStatusChangeDTO deviceStatusChangeDTO) { + /** + * 终止操作,不仅更新状态,同时进行实验室状态原因的更新 + */ + @Override + @Transactional + public ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO) { + Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, true); + //实验室状态数据的更新 + updateLabExecutiveInfo(deviceStatusChangeDTO); + if (updateFlag > 0) { + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + /** + * 进行已收入分页的当前环节回填、出具证书回填 + */ + private void doDispatchVoPopulation(DeviceDispatchVO dispatchVO, Long sampleId, Long orderId) { + dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + HandOutLabExecutiveDTO handOutLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); + Integer measureNumberStatus = labExecutiveInfoMapper.getMeasureNumberStatus(orderId, sampleId); + //证书,当前环节的回填 + if (!Objects.isNull(handOutLabExecutiveDTO)) { + dispatchVO.setRequireCertifications(handOutLabExecutiveDTO.getRequireCertifications()); + dispatchVO.setCurrentSegment(handOutLabExecutiveDTO.getDeptName()); + Long measureDeptId = handOutLabExecutiveDTO.getMeasureDeptId(); + dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, measureDeptId)); + } else { + dispatchVO.setAlreadyCertifications(0); + dispatchVO.setRequireCertifications(ObjectUtils.isEmpty(measureNumberStatus) ? 0 : measureNumberStatus); + } + //处于检测中、检测完、待检测的实验室大于0,不可以进行回退,否则可以进行回退 + if (!ObjectUtils.isEmpty(measureNumberStatus) && measureNumberStatus > 0) { + dispatchVO.setFallbackState(0); + } else { + dispatchVO.setFallbackState(1); + } + } + + private void updateLabExecutiveInfo(DeviceStatusChangeDTO deviceStatusChangeDTO) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); @@ -182,10 +187,13 @@ labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } + /** + * 消息催办 + */ @Override public ReturnDTO rushDoProcess(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer deleteFalg = this.baseMapper.deleteById(deviceStatusChangeDTO.getOrderId()); - if (deleteFalg > 0) { + int deleteFlag = this.baseMapper.deleteById(deviceStatusChangeDTO.getOrderId()); + if (deleteFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -203,7 +211,7 @@ return null; } Optional handOutLabExecutiveDTOOptional = labExecutiveList.stream().findFirst(); - return handOutLabExecutiveDTOOptional.isPresent() ? handOutLabExecutiveDTOOptional.get() : null; + return handOutLabExecutiveDTOOptional.orElse(null); } private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { @@ -214,7 +222,9 @@ return wrapper; } - //更新检测完成后,执行当前正在进行数据 + /** + * 更新检测完成后,执行当前正在进行数据 + */ private Integer statusChangeUpdator(DeviceStatusChangeDTO statusChangeDTO, Boolean terminateFlag) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); @@ -227,15 +237,18 @@ return this.orderSampleRelationMapper.update(businessOrderSampleRelation, queryWrapper); } - //判断不是自检 - private Boolean noSelfMeasure(DeviceDispatchVO dispatchVO) { - if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType()) && (dispatchVO.getMeasureType().equals("1") || dispatchVO.getMeasureType().equals("2"))) { - String currentSegment = dispatchVO.getMeasureType().equals("1") ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; - dispatchVO.setCurrentSegment(currentSegment); - return true; - } else { - return false; + /** + * 判断不是自检 + */ + 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; + dispatchVO.setCurrentSegment(currentSegment); + return true; + } } + return false; } private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { @@ -250,8 +263,10 @@ request.setEndTime(null); } - // 判断样品是完成或接收状态,直接显示即可 - private Boolean checkSampleFinshStauts(DeviceDispatchVO dispatchVO) { + /** + * 判断样品是完成或接收状态,直接显示即可 + */ + private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); 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 eecf207..4f06678 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 @@ -28,6 +28,9 @@ import javax.servlet.http.HttpServletResponse; import java.util.List; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -58,7 +61,7 @@ @Override public ReturnDTO deleteAdvice(Long id) { - Integer deleteFlag = customerAdviceMapper.deleteById(id); + int deleteFlag = customerAdviceMapper.deleteById(id); if (deleteFlag > 0) { return ReturnUtil.success(); } @@ -67,7 +70,7 @@ @Override public ReturnDTO updateAdvice(CustomerAdviceInfo customerAdviceInfo) { - Integer updateFlag = customerAdviceMapper.updateById(customerAdviceInfo); + int updateFlag = customerAdviceMapper.updateById(customerAdviceInfo); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -77,7 +80,7 @@ @Override public ReturnDTO addAdvice(CustomerAdviceInfo customerAdviceInfo) { initCustomerAdviceInfo(customerAdviceInfo); - Integer addFlag = customerAdviceMapper.insert(customerAdviceInfo); + int addFlag = customerAdviceMapper.insert(customerAdviceInfo); if (addFlag > 0) { return ReturnUtil.success(); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 09eee0f..c4b3d7a 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -67,11 +67,17 @@ WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} @@ -88,11 +94,17 @@ SELECT * FROM meter_train_plan WHERE is_del = 0 - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} 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 04ed845..d04eb14 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 @@ -90,5 +90,4 @@ @ApiModelProperty(value = "回退状态(已收入的状态) 1真0假", dataType = "Integer") private Integer FallbackState; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java new file mode 100644 index 0000000..b06975f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java @@ -0,0 +1,16 @@ +package com.casic.missiles.dto.business.order; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OrderCancelRequest { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") + private String reason; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java index 9662eb8..d6206c5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java @@ -4,13 +4,18 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.List; +/** + * @author cz + */ @Data @ApiModel("设备接收") public class CertificateListRequest { @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") + @NotBlank(message = "表单id不能为空") private String formId; @ApiModelProperty(value = "证书编号", dataType = "String") @@ -20,7 +25,7 @@ private String orderNo; @ApiModelProperty(value = "委托方名称", dataType = "String") - private String cutomerName; + private String customerName; @ApiModelProperty(value = "样品编号", dataType = "String") private String sampleNo; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java index 28c6d26..bacfc56 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java @@ -58,8 +58,14 @@ /** * 创建时间 */ - @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 表单id diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index 9528373..cd1066f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,7 +114,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index b1048c1..bf75da4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,8 +111,8 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; /** * 可选决策项 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java index 9d1f2f0..8f0bfce 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java @@ -25,14 +25,26 @@ /** * 培训时间 */ - @ApiModelProperty(value = "培训时间(查询出该时间前列表倒序)", dataType = "String") - private String trainTime; + @ApiModelProperty(value = "培训开始时间", dataType = "String") + private String trainStartTime; + + /** + * 培训时间 + */ + @ApiModelProperty(value = "培训结束时间", dataType = "String") + private String trainEndTime; /** * 创建时间 */ - @ApiModelProperty(value = "创建时间(查询出该时间前列表倒序)", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 组织部门id-系统组织表 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 8893256..847993f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -117,6 +117,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java new file mode 100644 index 0000000..17e0770 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java @@ -0,0 +1,37 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@TableName("business_deal_record") +@ApiModel("委托书操作记录") +@AllArgsConstructor +@Builder +@Data +public class BusinessDealRecord { + + private Long id; + + @ApiModelProperty("委托书id") + private Long orderId; + + @ApiModelProperty("原因") + private String recordContent; + + private Long createUser; + + @ApiModelProperty("操作人名称") + private String createUserName; + + @ApiModelProperty("创建时间") + private String createTime; + + @ApiModelProperty("备注") + private String remark; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java index 8778b11..9e960f6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java @@ -87,6 +87,9 @@ private Integer isDel; + @ApiModelProperty(value = "最后更新人员", dataType = "String") + private Long updateUser; + @ApiModelProperty(value = "创建人", dataType = "String") private Long createUser; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java new file mode 100644 index 0000000..6572d23 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java @@ -0,0 +1,31 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * @author cz + */ +@Data +@TableName("business_order_record") +public class BusinessOrderRecord { + + private Long id; + + private Long orderId; + + /** + * 记录内容 + */ + private String recordTContent; + + /** + * 创建人id + */ + private Long createUser; + + /** + * 创建人时间 + */ + private String createTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java index ae324f0..ffc21af 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java @@ -146,7 +146,7 @@ private String remark; /** - * 流程定义id + * 流程实例id */ @ApiModelProperty(value = "流程实例id(未通过培训计划编辑接口必传参数)", dataType = "String") @TableField("process_id") 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 a0cceda..230c779 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 @@ -1,7 +1,6 @@ package com.casic.missiles.service.Impl.business; import cn.hutool.core.lang.Assert; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; @@ -15,14 +14,12 @@ import com.casic.missiles.dto.business.print.CertificateListRequest; import com.casic.missiles.dto.business.print.CertificateListResponse; import com.casic.missiles.dto.business.print.CertificateRefusePrintRequest; -import com.casic.missiles.dto.flowable.AllApproveDTO; 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.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -40,6 +37,9 @@ import java.util.*; import java.util.stream.Collectors; +/** + * @author cz + */ @Service @AllArgsConstructor public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { @@ -81,16 +81,19 @@ } @Override - @Transactional - public ReturnDTO agreeAginPrint(ApprovalAgreeRequest request) { - ReturnDTO returnDTO = approvalOperateService.agree(request); - return returnDTO; + public ReturnDTO agreeAgainPrint(ApprovalAgreeRequest request) { + return approvalOperateService.agree(request); } + /** + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * + * @return + */ @Override @Transactional public ReturnDTO refuseAgainPrint(CertificateRefusePrintRequest request) { - ApprovalRefuseRequest approvalRefuseRequest=new ApprovalRefuseRequest(); + ApprovalRefuseRequest approvalRefuseRequest = new ApprovalRefuseRequest(); approvalRefuseRequest.setTaskId(request.getTaskId()); approvalRefuseRequest.setComments(request.getComments()); ReturnDTO returnDTO = approvalOperateService.refuse(approvalRefuseRequest); @@ -99,8 +102,9 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setPrintStatus("2");//设置为不能打印 - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //设置为不能打印 + certificateReport.setPrintStatus("2"); + certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -108,7 +112,9 @@ return ReturnUtil.success(); } - //提交审批流程,修改证书审批状态、修改打印状态 + /** + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + */ @Transactional @Override public ReturnDTO submitAgainPrint(BaseApprovalSubmitRequest request) { @@ -119,8 +125,10 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //审批状态为审批中 - certificateReport.setPrintStatus("3"); //打印状态审批中 + //审批状态为审批中 + certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //打印状态审批中 + certificateReport.setPrintStatus("3"); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -128,13 +136,14 @@ return ReturnUtil.success(); } - //可打印:只需要查询可打印状态即可 - //查询工作流 + /** + * 可打印:只需要查询可打印状态即可,待审批状态,查询工作流,同时传输任务id + */ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)) { handlerBeApproved(approvalList, page, request); - } else if (request.getPrintStatus().equals("0")) { + } else if("0".equals(request.getPrintStatus())) { request.setApprovalStatus(null); approvalList.setRecords(this.baseMapper.selectBatchForApprovalList(page, request, null)); } else { @@ -147,18 +156,9 @@ return approvalList; } - private Page handleAllApprovalListResponse(Page approvalList, List allApproveList) { - Map taskMap = allApproveList.stream().collect(Collectors.toMap(AllApproveDTO::getBusinessKey, AllApproveDTO::getStatus)); - //状态补全 - approvalList.getRecords().forEach(approval -> { - approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); - approval.setApprovalStatus(taskMap.get(String.valueOf(approval.getId()))); - }); - //排序 - approvalList.setRecords(approvalList.getRecords().stream().sorted(Comparator.comparing(CertificateListResponse::getCreateTime).reversed()).collect(Collectors.toList())); - return approvalList; - } - + /** + * 查询待审批状态的打印证书,查询业务主键信息,据此查询相应的证书,并填充相应的工作流状态 + */ private Page handlerBeApproved(Page approvalList, Page page, CertificateListRequest request) { List businessKeys = new ArrayList<>(); List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); @@ -179,11 +179,4 @@ return approvalList; } - private void handleApprovalListResponse(Page approvalList, String status) { - approvalList.getRecords().stream().forEach(result -> { - //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 - result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); - }); - } - } 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 b397f83..859010b 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 @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.business; -import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -46,7 +45,9 @@ private final IBaseExportService iBaseExportService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; - //** 送检人查询条件不在设备交接单中,需要联查才可以实现 + /** + * 送检人查询条件不在设备交接单中,需要联查才可以实现 + */ @Override public Page exchangeListPage(Page page, InterchangeListRequest request) throws Exception { page.setRecords(this.baseMapper.selectInterchangeListPage(page, request)); @@ -54,7 +55,8 @@ } @Override - public BusinessInterchangeDetailResponse exchangeDetail(Long id) { ; + public BusinessInterchangeDetailResponse exchangeDetail(Long id) { + ; BusinessInterchangeDetailResponse businessExchange = this.baseMapper.getInfoById(id); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", businessExchange.getOrderId()); @@ -71,19 +73,21 @@ @Override @Transactional public ReturnDTO deleteExchange(Long id) { - Integer deleteFlag = this.baseMapper.deleteById(id); - //交接单绑定的肯定有样品,所以samplUpdateFlag肯定为true - Boolean samplUpdateFlag = sampleStatusDeletor(id) > 0; - if (deleteFlag > 0 && samplUpdateFlag) { + int deleteFlag = this.baseMapper.deleteById(id); + //交接单绑定的肯定有样品,所以sampleUpdateFlag肯定为true + boolean sampleUpdateFlag = sampleStatusDeletor(id) > 0; + if (deleteFlag > 0 && sampleUpdateFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //更新不对样品有任何操作 + /** + * 更新不对样品有任何操作 + */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { - Integer updateFlag = this.baseMapper.updateById(businessInterchange); + int updateFlag = this.baseMapper.updateById(businessInterchange); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -94,8 +98,8 @@ @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { populationExchange(businessInterchange); - Integer addFlag = this.baseMapper.insert(businessInterchange); - Boolean sampleAddFlag = true; + int addFlag = this.baseMapper.insert(businessInterchange); + boolean sampleAddFlag = true; if (!CollectionUtils.isEmpty(businessInterchange.getCustomerSampleList())) { for (CustomerSampleListVO sampleInfo : businessInterchange.getCustomerSampleList()) { sampleAddFlag = sampleAddFlag && sampleStatusUpdator(sampleInfo, businessInterchange.getId()) > 0; 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 3bd316c..585a207 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 @@ -215,13 +215,7 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - Map resultMap = SqlRunner.db().selectOne( - "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + - "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + - "JOIN sys_user su ON srr.USERID = su.ID " + - "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + - "WHERE su.ID = {0}" + - "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + Map resultMap = selectDirectDept(user); if(CollectionUtils.isEmpty(resultMap) || Objects.isNull(resultMap.get("deptId"))){ return new Page<>(); } @@ -390,16 +384,7 @@ Long maxNo = labExecutiveTemplateInfoMapper.selectMaxTemplateNo(); for (int i = 0; i < labExecutiveInfos.size(); i++) { BusinessLabExecutiveInfo lab = labExecutiveInfos.get(i); - BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); - templateInfo.setTemplateCode(templateCode); -// templateInfo.setSampleTypeId(); - templateInfo.setSampleId(lab.getSampleId()); - templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); - templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); -// templateInfo.setMeasureItem(); - templateInfo.setExecuteSequence(lab.getMeasureSequence()); -// templateInfo.setCreateUser(); + BusinessLabExecutiveTemplateInfo templateInfo = getBusinessLabExecutiveTemplateInfo(maxNo, i, lab); labList.add(templateInfo); } if(labExecutiveTemplateInfoService.saveBatch(labList)) log.info("实验室检测记录批量保存为实验室检测模板成功"); @@ -422,6 +407,20 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { + BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); + String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + templateInfo.setTemplateCode(templateCode); +// templateInfo.setSampleTypeId(); + templateInfo.setSampleId(lab.getSampleId()); + templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); + templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); +// templateInfo.setMeasureItem(); + templateInfo.setExecuteSequence(lab.getMeasureSequence()); +// templateInfo.setCreateUser(); + return templateInfo; + } + @Override public ReturnDTO updateExecutiveList(UpdateExecutiveListRequest request) { //删除前端已删除的ids @@ -469,7 +468,6 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - //登录用户id获取计量人员id,实验室检测信息中存储的是计量人员id MeterStaff meterStaff = getMeterStaffInfo(user); if(Objects.isNull(meterStaff)) throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_NOT_STAFF); Long userId = meterStaff.getId(); @@ -510,7 +508,6 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - //登录用户id获取计量人员id,实验室检测信息中存储的是计量人员id MeterStaff meterStaff = getMeterStaffInfo(user); if(Objects.isNull(meterStaff)) throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_NOT_STAFF); Long userId = meterStaff.getId(); @@ -518,15 +515,7 @@ //删除实验室检测列表中退回数据 int deleteFlag = labExecutiveInfoMapper.deleteById(request.getId()); //退回操作记录表中增加数据 - BusinessLabExecutiveOperateLog operateLog = new BusinessLabExecutiveOperateLog(); - operateLog.setOrderId(request.getOrderId()); - operateLog.setSampleId(request.getSampleId()); - operateLog.setMeasureDeptId(request.getMeasureSegmentId()); - operateLog.setMeasurePersonId(request.getMeasurePersonId()); - operateLog.setOperatePersonId(userId); - operateLog.setOperatePersonName(user.getName()); - operateLog.setMeasureStatus(MeasureStatusEnum.SEND_BACK); - operateLog.setOperateReason(request.getOperateReason()); + BusinessLabExecutiveOperateLog operateLog = getBusinessLabExecutiveOperateLog(request, user, userId); int insertFlag = labExecutiveOperateLogMapper.insert(operateLog); if(deleteFlag > 0 && insertFlag > 0){ //退回后会将下一个要执行的实验室检测状态更新为待分配,将后面的实验室顺序变更为连续(都进行减1) @@ -596,4 +585,29 @@ } }); } + + private Map selectDirectDept(AuthUser user) { + Map resultMap = SqlRunner.db().selectOne( + "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON srr.USERID = su.ID " + + "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + + "WHERE su.ID = {0}" + + "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + return resultMap; + } + + private BusinessLabExecutiveOperateLog getBusinessLabExecutiveOperateLog(ExecutiveSendBackRequest request, AuthUser user, Long userId) { + BusinessLabExecutiveOperateLog operateLog = new BusinessLabExecutiveOperateLog(); + operateLog.setOrderId(request.getOrderId()); + operateLog.setSampleId(request.getSampleId()); + operateLog.setMeasureDeptId(request.getMeasureSegmentId()); + operateLog.setMeasurePersonId(request.getMeasurePersonId()); + operateLog.setOperatePersonId(userId); + operateLog.setOperatePersonName(user.getName()); + operateLog.setMeasureStatus(MeasureStatusEnum.SEND_BACK); + operateLog.setOperateReason(request.getOperateReason()); + return operateLog; + } + } 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 f6b3933..48742b4 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 @@ -9,14 +9,17 @@ import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.ExportEnum; import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; import com.casic.missiles.mapper.business.BusinessOrderMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -49,18 +52,19 @@ @AllArgsConstructor public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { - private final BusinessOrderListReponseMapper orderListReponseMapper; + private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; private final CustomerSampleService customerSampleService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; + private final BusinessDealRecordMapper dealRecordMapper; /** * 1、分页查询 2、批量查询所有的委托书、样品关系 => 进行以sampleId为key主键map list 3、查询计算样品数量 */ @Override public Page orderListPage(Page page, OrderListRequest request) throws Exception { - QueryWrapper wrapper = listParamWrapper(request); - Page resultPage = this.orderListReponseMapper.selectPage(page, wrapper); + QueryWrapper wrapper = listParamWrapperBuilder(request); + Page resultPage = this.orderListResponseMapper.selectPage(page, wrapper); List orderSampleList = sampleRelationMapper.selectList(null); Map> orderSampleMap = orderSampleList.stream().collect( Collectors.groupingBy(BusinessOrderSampleRelation::getOrderId) @@ -74,7 +78,9 @@ return resultPage; } - // 1、查询委托书详情 2、对样品列表进行查询 3、设置默认在库标志 + /** + * 1、查询委托书详情 2、对样品列表进行查询 3、设置默认在库标志 + */ @Override public BusinessOrder orderDetail(Long id) { BusinessOrder businessOrder = this.baseMapper.selectById(id); @@ -91,29 +97,24 @@ return businessOrder; } - @Override - public ReturnDTO deleteOrder(Long id) { - Integer deleteFlag = this.baseMapper.deleteById(id); - if (deleteFlag > 0) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - - // 删除样品和委托书的明细关系,填充传输的明细样品数据, - // 对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + /** + * 1、删除样品和委托书的明细关系,填充传输的明细样品数据 + * 2、对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + */ @Override public ReturnDTO updateOrder(BusinessOrder businessOrder) { - Integer updateFlag = this.baseMapper.updateById(businessOrder); - this.sampleStatusDeletor(businessOrder.getId()); - Boolean sampleUpdateFlag = true; + AuthUser authUser = ShiroKit.getUser(); + businessOrder.setUpdateUser(authUser.getId()); + int updateFlag = this.baseMapper.updateById(businessOrder); + this.deleteSampleById(businessOrder.getId()); + boolean sampleUpdateFlag = true; this.doSampleListPopulation(businessOrder); for (CustomerSampleInfo sampleInfo : businessOrder.getCustomerSampleInfoList()) { sampleInfo.setDeliverer(businessOrder.getDeliverer()); sampleInfo.setDelivererTel(businessOrder.getDelivererTel()); - if (sampleInfo.getIsExistSample().equals("0")) { + if ("0".equals(sampleInfo.getIsExistSample())) { ReturnDTO returnDTO = customerSampleService.addSample(sampleInfo); - sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode().equals("200"); + sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode().equals(200); } else { ReturnDTO returnDTO = customerSampleService.updateSample(sampleInfo); sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode() == 200; @@ -126,25 +127,27 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //删除样品和委托书的明细关系,填充传输的明细样品数据, - // 对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + /** + * 1、删除样品和委托书的明细关系,填充传输的明细样品数据 + * 2、对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + */ @Override @Transactional public ReturnDTO addOrder(BusinessOrder businessOrder) { initOrderInfo(businessOrder); - Integer addFlag = this.baseMapper.insert(businessOrder); - Boolean sampleAddFlag = true; - this.sampleStatusDeletor(businessOrder.getId()); + int addFlag = this.baseMapper.insert(businessOrder); + boolean sampleAddFlag = true; + this.deleteSampleById(businessOrder.getId()); this.doSampleListPopulation(businessOrder); for (CustomerSampleInfo sampleInfo : businessOrder.getCustomerSampleInfoList()) { sampleInfo.setDeliverer(businessOrder.getDeliverer()); sampleInfo.setDelivererTel(businessOrder.getDelivererTel()); - if (sampleInfo.getIsExistSample().equals("0")) { + if ("0".equals(sampleInfo.getIsExistSample())) { ReturnDTO returnDTO = customerSampleService.addSample(sampleInfo); - sampleAddFlag = sampleAddFlag && returnDTO.getCode() == 200; + sampleAddFlag = sampleAddFlag && returnDTO.getCode().equals(200); } else { ReturnDTO returnDTO = customerSampleService.updateSample(sampleInfo); - sampleAddFlag = sampleAddFlag && returnDTO.getCode() == 200; + sampleAddFlag = sampleAddFlag && returnDTO.getCode().equals(200); } sampleAddFlag = sampleAddFlag && sampleStatusCreator(sampleInfo.getOrderId(), sampleInfo.getMeasureContent(), sampleInfo.getId()) > 0; } @@ -154,58 +157,135 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //如查询说明,补充对是否加急的excel文档表现 + /** + * 1、判断是否存在ids,进行其他参数属性的初始化 + * 2、查询查询构建 + * 3、查询样品关系,构建委托书样品数量map集合 + * 4、字典值进行状态转化 + */ @Override public void orderExport(OrderListRequest request, HttpServletResponse response) { try { - List orderListReponseList; + List orderResponseList; if (!CollectionUtils.isEmpty(request.getIds())) { - orderListReponseList = orderListReponseMapper.selectBatchIds(request.getIds()); + orderResponseList = orderListResponseMapper.selectBatchIds(request.getIds()); } else { - QueryWrapper wrapper = listParamWrapper(request); - orderListReponseList = this.orderListReponseMapper.selectList(wrapper); + QueryWrapper wrapper = listParamWrapperBuilder(request); + orderResponseList = this.orderListResponseMapper.selectList(wrapper); } + //查询样品关系,构建委托书样品数量map集合, List orderSampleList = sampleRelationMapper.selectList(null); Map> orderSampleMap = orderSampleList.stream().collect( Collectors.groupingBy(BusinessOrderSampleRelation::getOrderId) ); - orderListReponseList.forEach( + orderResponseList.forEach( orderSample -> orderSample.setSampleCount(orderSampleMap.containsKey(orderSample.getId()) ? orderSampleMap.get(orderSample.getId()).size() : 0) ); - for (OrderListReponse orderListReponse : orderListReponseList) { - orderListReponse.setIsUrgent(orderListReponse.getIsUrgent().equals("1") ? "是" : "否"); + //字典转换 + for (OrderListReponse orderListReponse : orderResponseList) { + orderListReponse.setIsUrgent("1".equals(orderListReponse.getIsUrgent()) ? "是" : "否"); DictCodeUtils.convertDictCodeToName(orderListReponse); } - iBaseExportService.exportExcel(response, OrderListReponse.class, orderListReponseList, ExportEnum.ORDER_EXPORT.getSheetName()); + iBaseExportService.exportExcel(response, OrderListReponse.class, orderResponseList, ExportEnum.ORDER_EXPORT.getSheetName()); } catch (Exception ex) { log.error("委托书导出出现异常,异常信息为{}", ex); } } + /** + * 通过状态对委托书状态进行更新 + */ @Override - public ReturnDTO updateStatusById(Long id, String status) { - BusinessOrder businessOrder = new BusinessOrder(); - businessOrder.setId(id); - businessOrder.setStatus(status); - Integer updateFlag = this.baseMapper.updateById(businessOrder); - if (updateFlag > 0) { + public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { + int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); + int addDealRecordFlag = addDealRecord(orderCancelRequest); + if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 取消记录,修改委托书状态,同时生成委托书操作日志,供用户查询 + */ + @Override + @Transactional + public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int addDealRecordFlag = addDealRecord(orderCancelRequest); + if (updateFlag > 0 && addDealRecordFlag > 0) { + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + /** + * 操作记录的查询 + */ + @Override + public List optionRecord(Long id) { + QueryWrapper dealRecordQueryWrapper = new QueryWrapper() + .eq("order_id", id); + return dealRecordMapper.selectList(dealRecordQueryWrapper); + } + + /** + * 新增操作记录 + */ + private int addDealRecord(OrderCancelRequest orderCancelRequest) { + AuthUser authUser = ShiroKit.getUser(); + BusinessDealRecord businessDealRecord = BusinessDealRecord.builder() + .createUser(authUser.getId()) + .createUserName(authUser.getName()) + .recordContent(reasonConvert(orderCancelRequest.getReason())) + .orderId(orderCancelRequest.getId()) + .build(); + return dealRecordMapper.insert(businessDealRecord); + } + + /** + * 强调正在做状态更新 + */ + private int doUpdateStatusById(Long orderId, String status) { + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(orderId); + businessOrder.setStatus(status); + AuthUser authUser = ShiroKit.getUser(); + businessOrder.setUpdateUser(authUser.getId()); + return this.baseMapper.updateById(businessOrder); + } + + /** + * 原因字典转化为相应的值 + */ + private String reasonConvert(String reasonIds) { + String reasonStr = ""; + if (StringUtils.isEmpty(reasonIds)) { + return reasonStr; + } + String[] reasonIdList = reasonIds.split(","); + for (String reasonId : reasonIdList) { + String reasonContent = dealRecordMapper.getDictContent(reasonId); + reasonStr = reasonStr + reasonContent + ","; + } + return reasonStr.substring(0, reasonStr.length() - 1); + } + private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); + businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); businessOrder.setStatus("1"); } - - private QueryWrapper listParamWrapper(OrderListRequest request) { + /** + * 委托书列表查询构建方法 + */ + private QueryWrapper listParamWrapperBuilder(OrderListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getDeliverer()), "deliverer", request.getDeliverer()); @@ -223,21 +303,19 @@ return queryWrapper; } - private Integer sampleStatusDeletor(Long orderId) { + private int deleteSampleById(Long orderId) { QueryWrapper sampleStatusRelationWrapper = new QueryWrapper() .eq("order_id", orderId); - Integer sampleStatus = this.sampleRelationMapper.delete(sampleStatusRelationWrapper); - return sampleStatus; + return this.sampleRelationMapper.delete(sampleStatusRelationWrapper); } - private Integer sampleStatusCreator(Long orderId, String measureContent, Long sampleId) { + private int sampleStatusCreator(Long orderId, String measureContent, Long sampleId) { BusinessOrderSampleRelation sampleStatusPopulation = new BusinessOrderSampleRelation(); sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); sampleStatusPopulation.setMeasureType("1"); - Integer sampleStatus = this.sampleRelationMapper.insert(sampleStatusPopulation); - return sampleStatus; + return this.sampleRelationMapper.insert(sampleStatusPopulation); } private void doSampleListPopulation(BusinessOrder businessOrder) { @@ -249,4 +327,5 @@ } ); } + } 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 e922dc2..07c88e9 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 com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -11,8 +12,6 @@ import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; -import com.casic.missiles.dto.business.interchange.InterchangeListResponse; -import com.casic.missiles.dto.meter.TrainPlanApprovalListResponse; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; @@ -21,20 +20,22 @@ import com.casic.missiles.mapper.business.*; import com.casic.missiles.model.business.*; import com.casic.missiles.service.business.IBusinessDispatchService; -import com.casic.missiles.utils.ConvertUtils; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.util.ObjectUtils; -import org.springframework.util.StringUtils; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Objects; import java.util.Optional; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -45,84 +46,59 @@ private final BusinessLabExecutiveInfoMapper labExecutiveInfoMapper; private final IBaseExportService iBaseExportService; - //终止、回退、收入、归还、催办按钮 - //列表返回只需要控制已收入回退按钮显示的权限即可,其中回退在没有任何实验室进行的情况,可以进行设备的回退 + /** + * 终止、回退、收入、归还、催办按钮 + * 列表返回只需要控制已收入回退按钮显示的权限即可,其中回退在没有任何实验室进行的情况,可以进行设备的回退 + */ @Override public Page listPage(Page page, DeviceDispatchDTO request) { -// //查询委托书和样品关联表中的各状态的样品 - Page dispatchVOPage = orderSampleRelationMapper.getSampleListByStatus(page, request); + //查询委托书和样品关联表中的各状态的样品 + Page dispatchVoPage = orderSampleRelationMapper.getSampleListByStatus(page, request); log.info("设备收发-当前查询样品状态为:{}", request.getSampleStatus()); - List records = dispatchVOPage.getRecords(); + List records = dispatchVoPage.getRecords(); if (CollectionUtils.isEmpty(records)) { return new Page<>(); } - doDispatchVOPagePopution(records, request); - return dispatchVOPage; - } - - - //进行已收入分页的当前环节回填、出具证书回填 - private void doDispatchVOPopulation(DeviceDispatchVO dispatchVO, Long sampleId, Long orderId) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); - HandOutLabExecutiveDTO handOutLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); - Integer measureNumberStatus = labExecutiveInfoMapper.getMeasureNumberStatus(orderId, sampleId); - // - if (!Objects.isNull(handOutLabExecutiveDTO)) { - dispatchVO.setRequireCertifications(handOutLabExecutiveDTO.getRequireCertifications()); - dispatchVO.setCurrentSegment(handOutLabExecutiveDTO.getDeptName()); - Long measureDeptId = handOutLabExecutiveDTO.getMeasureDeptId(); - dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, measureDeptId)); - } else { - dispatchVO.setAlreadyCertifications(0); - dispatchVO.setRequireCertifications(ObjectUtils.isEmpty(measureNumberStatus) ? 0 : measureNumberStatus); - } - if (!ObjectUtils.isEmpty(measureNumberStatus) && measureNumberStatus > 0) { - dispatchVO.setFallbackState(0);//不可以进行回退 - } else { - dispatchVO.setFallbackState(1);//可以进行回退 - } + doPopulateDispatch(records, request); + return dispatchVoPage; } /** - * 重点填充类 - * - * @param dispatchVOPage - * @param request + * 分发列表填充 */ - private void doDispatchVOPagePopution(List dispatchVOPage, DeviceDispatchDTO request) { - dispatchVOPage.stream().forEach( + private void doPopulateDispatch(List dispatchVOPage, DeviceDispatchDTO request) { + dispatchVOPage.forEach( dispatchVO -> { Long orderId = dispatchVO.getOrderId(); Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && request.getSampleStatus().equals("8") && noSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { - //待分发状态,分发性质:有退回就是退回分发,当前检定环节:待分配,已出具证书:无,出具证书总数:无 + //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 case SampleStatusEnum.TO_HANDOUT: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //检测中状态,分发性质:无,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 + //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 case SampleStatusEnum.IN_MEASURE: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //检测完状态,分发性质:无,当前检定环节:完成,已出具证书:无,出具证书总数:无 + //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 case SampleStatusEnum.MEASURE_COMPLETE: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //超期样品(即检测超期,未在应检完时间检完),分发性质:无,当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 + doDispatchVoPopulation(dispatchVO, sampleId, orderId); + return; + //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 case SampleStatusEnum.BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); - Long deptId = overLabExecutiveDTO.getMeasureDeptId(); + Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); dispatchVO.setRequireCertifications(overLabExecutiveDTO.getRequireCertifications()); - if (checkSampleFinshStauts(dispatchVO)) { + // 判断样品是完成或接收状态,直接显示即可 + if (checkSampleFinishStatus(dispatchVO)) { return; } dispatchVO.setCurrentSegment(overLabExecutiveDTO.getDeptName()); break; + default: + break; } } ); @@ -131,8 +107,7 @@ @Override public void exportSampleDispatchList(DeviceDispatchDTO request, HttpServletResponse response) { try { - - Page deviceDispatchVOPage = PageFactory.defaultPage(); + Page deviceDispatchVOPage; if (!CollectionUtils.isEmpty(request.getIds())) { initDeviceDispatchDTOEmpty(request); } else { @@ -150,29 +125,59 @@ } + /** + * 状态更新 + */ @Override public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer updateFalg = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFalg > 0) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - - //终止操作,不仅更新状态,同时进行实验室状态的更新 - @Override - @Transactional - public ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, true); - //实验室状态数据的更新 - reasonPopulation(deviceStatusChangeDTO); + Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); if (updateFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - private void reasonPopulation(DeviceStatusChangeDTO deviceStatusChangeDTO) { + /** + * 终止操作,不仅更新状态,同时进行实验室状态原因的更新 + */ + @Override + @Transactional + public ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO) { + Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, true); + //实验室状态数据的更新 + updateLabExecutiveInfo(deviceStatusChangeDTO); + if (updateFlag > 0) { + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + /** + * 进行已收入分页的当前环节回填、出具证书回填 + */ + private void doDispatchVoPopulation(DeviceDispatchVO dispatchVO, Long sampleId, Long orderId) { + dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + HandOutLabExecutiveDTO handOutLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); + Integer measureNumberStatus = labExecutiveInfoMapper.getMeasureNumberStatus(orderId, sampleId); + //证书,当前环节的回填 + if (!Objects.isNull(handOutLabExecutiveDTO)) { + dispatchVO.setRequireCertifications(handOutLabExecutiveDTO.getRequireCertifications()); + dispatchVO.setCurrentSegment(handOutLabExecutiveDTO.getDeptName()); + Long measureDeptId = handOutLabExecutiveDTO.getMeasureDeptId(); + dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, measureDeptId)); + } else { + dispatchVO.setAlreadyCertifications(0); + dispatchVO.setRequireCertifications(ObjectUtils.isEmpty(measureNumberStatus) ? 0 : measureNumberStatus); + } + //处于检测中、检测完、待检测的实验室大于0,不可以进行回退,否则可以进行回退 + if (!ObjectUtils.isEmpty(measureNumberStatus) && measureNumberStatus > 0) { + dispatchVO.setFallbackState(0); + } else { + dispatchVO.setFallbackState(1); + } + } + + private void updateLabExecutiveInfo(DeviceStatusChangeDTO deviceStatusChangeDTO) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); @@ -182,10 +187,13 @@ labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } + /** + * 消息催办 + */ @Override public ReturnDTO rushDoProcess(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer deleteFalg = this.baseMapper.deleteById(deviceStatusChangeDTO.getOrderId()); - if (deleteFalg > 0) { + int deleteFlag = this.baseMapper.deleteById(deviceStatusChangeDTO.getOrderId()); + if (deleteFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -203,7 +211,7 @@ return null; } Optional handOutLabExecutiveDTOOptional = labExecutiveList.stream().findFirst(); - return handOutLabExecutiveDTOOptional.isPresent() ? handOutLabExecutiveDTOOptional.get() : null; + return handOutLabExecutiveDTOOptional.orElse(null); } private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { @@ -214,7 +222,9 @@ return wrapper; } - //更新检测完成后,执行当前正在进行数据 + /** + * 更新检测完成后,执行当前正在进行数据 + */ private Integer statusChangeUpdator(DeviceStatusChangeDTO statusChangeDTO, Boolean terminateFlag) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); @@ -227,15 +237,18 @@ return this.orderSampleRelationMapper.update(businessOrderSampleRelation, queryWrapper); } - //判断不是自检 - private Boolean noSelfMeasure(DeviceDispatchVO dispatchVO) { - if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType()) && (dispatchVO.getMeasureType().equals("1") || dispatchVO.getMeasureType().equals("2"))) { - String currentSegment = dispatchVO.getMeasureType().equals("1") ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; - dispatchVO.setCurrentSegment(currentSegment); - return true; - } else { - return false; + /** + * 判断不是自检 + */ + 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; + dispatchVO.setCurrentSegment(currentSegment); + return true; + } } + return false; } private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { @@ -250,8 +263,10 @@ request.setEndTime(null); } - // 判断样品是完成或接收状态,直接显示即可 - private Boolean checkSampleFinshStauts(DeviceDispatchVO dispatchVO) { + /** + * 判断样品是完成或接收状态,直接显示即可 + */ + private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); 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 eecf207..4f06678 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 @@ -28,6 +28,9 @@ import javax.servlet.http.HttpServletResponse; import java.util.List; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -58,7 +61,7 @@ @Override public ReturnDTO deleteAdvice(Long id) { - Integer deleteFlag = customerAdviceMapper.deleteById(id); + int deleteFlag = customerAdviceMapper.deleteById(id); if (deleteFlag > 0) { return ReturnUtil.success(); } @@ -67,7 +70,7 @@ @Override public ReturnDTO updateAdvice(CustomerAdviceInfo customerAdviceInfo) { - Integer updateFlag = customerAdviceMapper.updateById(customerAdviceInfo); + int updateFlag = customerAdviceMapper.updateById(customerAdviceInfo); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -77,7 +80,7 @@ @Override public ReturnDTO addAdvice(CustomerAdviceInfo customerAdviceInfo) { initCustomerAdviceInfo(customerAdviceInfo); - Integer addFlag = customerAdviceMapper.insert(customerAdviceInfo); + int addFlag = customerAdviceMapper.insert(customerAdviceInfo); if (addFlag > 0) { return ReturnUtil.success(); } 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 79a776b..3bbcaaf 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 @@ -55,7 +55,7 @@ public Page listPage(Page page, CustomerSampleListRequest request) throws Exception { QueryWrapper wrapper = listParamWrapper(request); Page customerSamplePage = customerSampleListResponseMapper.selectPage(page, wrapper); - customerSamplePage.getRecords().stream() + customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { @@ -72,26 +72,30 @@ return customerSamplePage; } - //新增样品表,同时新增样品委托书关联状态表 + /** + * 新增样品表,同时新增样品委托书关联状态表 + */ @Override @Transactional public ReturnDTO addSample(CustomerSampleInfo customerSampleInfo) { initSample(customerSampleInfo); - Integer addFlag = this.baseMapper.insert(customerSampleInfo); + int addFlag = this.baseMapper.insert(customerSampleInfo); if (addFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //更新样品表,同时更新样品委托书关联状态表 + /** + * 更新样品表,同时更新样品委托书关联状态表 + */ @Override @Transactional public ReturnDTO updateSample(CustomerSampleInfo customerSampleInfo) { AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setUpdateUser(authUser.getId()); initSample(customerSampleInfo); - Integer updateFlag = this.baseMapper.updateById(customerSampleInfo); + int updateFlag = this.baseMapper.updateById(customerSampleInfo); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -110,8 +114,6 @@ /** * 只导出样品列表信息 * - * @param request - * @param response */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -148,9 +150,8 @@ } @Override - @Transactional public ReturnDTO deleteSample(Long id) { - Integer deleteFalg = this.baseMapper.deleteById(id); + int deleteFalg = this.baseMapper.deleteById(id); if (deleteFalg > 0) { return ReturnUtil.success(); } @@ -158,12 +159,12 @@ } @Override - public Page mesureRecordsBySampleId(Long id) { + public Page measureRecordsBySampleId(Long id) { Page page = PageFactory.defaultPage(); QueryWrapper wrapper = new QueryWrapper() .eq("sample_id", id); - Page mesureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); - return mesureRecordsResponsePage; + Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + return measureRecordsResponsePage; } @Override @@ -197,12 +198,12 @@ 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());//样品所属 - queryWrapper.like(StringUtils.isNotBlank(request.getSampleModel()), "sample_model", request.getSampleModel());//样品型号 - queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName());//委托方名称 - queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo());//委托方代码 + 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()); + queryWrapper.like(StringUtils.isNotBlank(request.getSampleModel()), "sample_model", request.getSampleModel()); + 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"), "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 09eee0f..c4b3d7a 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -67,11 +67,17 @@ WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} @@ -88,11 +94,17 @@ SELECT * FROM meter_train_plan WHERE is_del = 0 - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} 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 04ed845..d04eb14 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 @@ -90,5 +90,4 @@ @ApiModelProperty(value = "回退状态(已收入的状态) 1真0假", dataType = "Integer") private Integer FallbackState; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java new file mode 100644 index 0000000..b06975f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java @@ -0,0 +1,16 @@ +package com.casic.missiles.dto.business.order; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OrderCancelRequest { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") + private String reason; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java index 9662eb8..d6206c5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java @@ -4,13 +4,18 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.List; +/** + * @author cz + */ @Data @ApiModel("设备接收") public class CertificateListRequest { @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") + @NotBlank(message = "表单id不能为空") private String formId; @ApiModelProperty(value = "证书编号", dataType = "String") @@ -20,7 +25,7 @@ private String orderNo; @ApiModelProperty(value = "委托方名称", dataType = "String") - private String cutomerName; + private String customerName; @ApiModelProperty(value = "样品编号", dataType = "String") private String sampleNo; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java index 28c6d26..bacfc56 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java @@ -58,8 +58,14 @@ /** * 创建时间 */ - @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 表单id diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index 9528373..cd1066f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,7 +114,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index b1048c1..bf75da4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,8 +111,8 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; /** * 可选决策项 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java index 9d1f2f0..8f0bfce 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java @@ -25,14 +25,26 @@ /** * 培训时间 */ - @ApiModelProperty(value = "培训时间(查询出该时间前列表倒序)", dataType = "String") - private String trainTime; + @ApiModelProperty(value = "培训开始时间", dataType = "String") + private String trainStartTime; + + /** + * 培训时间 + */ + @ApiModelProperty(value = "培训结束时间", dataType = "String") + private String trainEndTime; /** * 创建时间 */ - @ApiModelProperty(value = "创建时间(查询出该时间前列表倒序)", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 组织部门id-系统组织表 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 8893256..847993f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -117,6 +117,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java new file mode 100644 index 0000000..17e0770 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java @@ -0,0 +1,37 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@TableName("business_deal_record") +@ApiModel("委托书操作记录") +@AllArgsConstructor +@Builder +@Data +public class BusinessDealRecord { + + private Long id; + + @ApiModelProperty("委托书id") + private Long orderId; + + @ApiModelProperty("原因") + private String recordContent; + + private Long createUser; + + @ApiModelProperty("操作人名称") + private String createUserName; + + @ApiModelProperty("创建时间") + private String createTime; + + @ApiModelProperty("备注") + private String remark; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java index 8778b11..9e960f6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java @@ -87,6 +87,9 @@ private Integer isDel; + @ApiModelProperty(value = "最后更新人员", dataType = "String") + private Long updateUser; + @ApiModelProperty(value = "创建人", dataType = "String") private Long createUser; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java new file mode 100644 index 0000000..6572d23 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java @@ -0,0 +1,31 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * @author cz + */ +@Data +@TableName("business_order_record") +public class BusinessOrderRecord { + + private Long id; + + private Long orderId; + + /** + * 记录内容 + */ + private String recordTContent; + + /** + * 创建人id + */ + private Long createUser; + + /** + * 创建人时间 + */ + private String createTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java index ae324f0..ffc21af 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java @@ -146,7 +146,7 @@ private String remark; /** - * 流程定义id + * 流程实例id */ @ApiModelProperty(value = "流程实例id(未通过培训计划编辑接口必传参数)", dataType = "String") @TableField("process_id") 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 a0cceda..230c779 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 @@ -1,7 +1,6 @@ package com.casic.missiles.service.Impl.business; import cn.hutool.core.lang.Assert; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; @@ -15,14 +14,12 @@ import com.casic.missiles.dto.business.print.CertificateListRequest; import com.casic.missiles.dto.business.print.CertificateListResponse; import com.casic.missiles.dto.business.print.CertificateRefusePrintRequest; -import com.casic.missiles.dto.flowable.AllApproveDTO; 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.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -40,6 +37,9 @@ import java.util.*; import java.util.stream.Collectors; +/** + * @author cz + */ @Service @AllArgsConstructor public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { @@ -81,16 +81,19 @@ } @Override - @Transactional - public ReturnDTO agreeAginPrint(ApprovalAgreeRequest request) { - ReturnDTO returnDTO = approvalOperateService.agree(request); - return returnDTO; + public ReturnDTO agreeAgainPrint(ApprovalAgreeRequest request) { + return approvalOperateService.agree(request); } + /** + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * + * @return + */ @Override @Transactional public ReturnDTO refuseAgainPrint(CertificateRefusePrintRequest request) { - ApprovalRefuseRequest approvalRefuseRequest=new ApprovalRefuseRequest(); + ApprovalRefuseRequest approvalRefuseRequest = new ApprovalRefuseRequest(); approvalRefuseRequest.setTaskId(request.getTaskId()); approvalRefuseRequest.setComments(request.getComments()); ReturnDTO returnDTO = approvalOperateService.refuse(approvalRefuseRequest); @@ -99,8 +102,9 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setPrintStatus("2");//设置为不能打印 - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //设置为不能打印 + certificateReport.setPrintStatus("2"); + certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -108,7 +112,9 @@ return ReturnUtil.success(); } - //提交审批流程,修改证书审批状态、修改打印状态 + /** + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + */ @Transactional @Override public ReturnDTO submitAgainPrint(BaseApprovalSubmitRequest request) { @@ -119,8 +125,10 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //审批状态为审批中 - certificateReport.setPrintStatus("3"); //打印状态审批中 + //审批状态为审批中 + certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //打印状态审批中 + certificateReport.setPrintStatus("3"); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -128,13 +136,14 @@ return ReturnUtil.success(); } - //可打印:只需要查询可打印状态即可 - //查询工作流 + /** + * 可打印:只需要查询可打印状态即可,待审批状态,查询工作流,同时传输任务id + */ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)) { handlerBeApproved(approvalList, page, request); - } else if (request.getPrintStatus().equals("0")) { + } else if("0".equals(request.getPrintStatus())) { request.setApprovalStatus(null); approvalList.setRecords(this.baseMapper.selectBatchForApprovalList(page, request, null)); } else { @@ -147,18 +156,9 @@ return approvalList; } - private Page handleAllApprovalListResponse(Page approvalList, List allApproveList) { - Map taskMap = allApproveList.stream().collect(Collectors.toMap(AllApproveDTO::getBusinessKey, AllApproveDTO::getStatus)); - //状态补全 - approvalList.getRecords().forEach(approval -> { - approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); - approval.setApprovalStatus(taskMap.get(String.valueOf(approval.getId()))); - }); - //排序 - approvalList.setRecords(approvalList.getRecords().stream().sorted(Comparator.comparing(CertificateListResponse::getCreateTime).reversed()).collect(Collectors.toList())); - return approvalList; - } - + /** + * 查询待审批状态的打印证书,查询业务主键信息,据此查询相应的证书,并填充相应的工作流状态 + */ private Page handlerBeApproved(Page approvalList, Page page, CertificateListRequest request) { List businessKeys = new ArrayList<>(); List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); @@ -179,11 +179,4 @@ return approvalList; } - private void handleApprovalListResponse(Page approvalList, String status) { - approvalList.getRecords().stream().forEach(result -> { - //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 - result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); - }); - } - } 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 b397f83..859010b 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 @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.business; -import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -46,7 +45,9 @@ private final IBaseExportService iBaseExportService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; - //** 送检人查询条件不在设备交接单中,需要联查才可以实现 + /** + * 送检人查询条件不在设备交接单中,需要联查才可以实现 + */ @Override public Page exchangeListPage(Page page, InterchangeListRequest request) throws Exception { page.setRecords(this.baseMapper.selectInterchangeListPage(page, request)); @@ -54,7 +55,8 @@ } @Override - public BusinessInterchangeDetailResponse exchangeDetail(Long id) { ; + public BusinessInterchangeDetailResponse exchangeDetail(Long id) { + ; BusinessInterchangeDetailResponse businessExchange = this.baseMapper.getInfoById(id); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", businessExchange.getOrderId()); @@ -71,19 +73,21 @@ @Override @Transactional public ReturnDTO deleteExchange(Long id) { - Integer deleteFlag = this.baseMapper.deleteById(id); - //交接单绑定的肯定有样品,所以samplUpdateFlag肯定为true - Boolean samplUpdateFlag = sampleStatusDeletor(id) > 0; - if (deleteFlag > 0 && samplUpdateFlag) { + int deleteFlag = this.baseMapper.deleteById(id); + //交接单绑定的肯定有样品,所以sampleUpdateFlag肯定为true + boolean sampleUpdateFlag = sampleStatusDeletor(id) > 0; + if (deleteFlag > 0 && sampleUpdateFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //更新不对样品有任何操作 + /** + * 更新不对样品有任何操作 + */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { - Integer updateFlag = this.baseMapper.updateById(businessInterchange); + int updateFlag = this.baseMapper.updateById(businessInterchange); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -94,8 +98,8 @@ @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { populationExchange(businessInterchange); - Integer addFlag = this.baseMapper.insert(businessInterchange); - Boolean sampleAddFlag = true; + int addFlag = this.baseMapper.insert(businessInterchange); + boolean sampleAddFlag = true; if (!CollectionUtils.isEmpty(businessInterchange.getCustomerSampleList())) { for (CustomerSampleListVO sampleInfo : businessInterchange.getCustomerSampleList()) { sampleAddFlag = sampleAddFlag && sampleStatusUpdator(sampleInfo, businessInterchange.getId()) > 0; 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 3bd316c..585a207 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 @@ -215,13 +215,7 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - Map resultMap = SqlRunner.db().selectOne( - "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + - "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + - "JOIN sys_user su ON srr.USERID = su.ID " + - "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + - "WHERE su.ID = {0}" + - "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + Map resultMap = selectDirectDept(user); if(CollectionUtils.isEmpty(resultMap) || Objects.isNull(resultMap.get("deptId"))){ return new Page<>(); } @@ -390,16 +384,7 @@ Long maxNo = labExecutiveTemplateInfoMapper.selectMaxTemplateNo(); for (int i = 0; i < labExecutiveInfos.size(); i++) { BusinessLabExecutiveInfo lab = labExecutiveInfos.get(i); - BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); - templateInfo.setTemplateCode(templateCode); -// templateInfo.setSampleTypeId(); - templateInfo.setSampleId(lab.getSampleId()); - templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); - templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); -// templateInfo.setMeasureItem(); - templateInfo.setExecuteSequence(lab.getMeasureSequence()); -// templateInfo.setCreateUser(); + BusinessLabExecutiveTemplateInfo templateInfo = getBusinessLabExecutiveTemplateInfo(maxNo, i, lab); labList.add(templateInfo); } if(labExecutiveTemplateInfoService.saveBatch(labList)) log.info("实验室检测记录批量保存为实验室检测模板成功"); @@ -422,6 +407,20 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { + BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); + String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + templateInfo.setTemplateCode(templateCode); +// templateInfo.setSampleTypeId(); + templateInfo.setSampleId(lab.getSampleId()); + templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); + templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); +// templateInfo.setMeasureItem(); + templateInfo.setExecuteSequence(lab.getMeasureSequence()); +// templateInfo.setCreateUser(); + return templateInfo; + } + @Override public ReturnDTO updateExecutiveList(UpdateExecutiveListRequest request) { //删除前端已删除的ids @@ -469,7 +468,6 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - //登录用户id获取计量人员id,实验室检测信息中存储的是计量人员id MeterStaff meterStaff = getMeterStaffInfo(user); if(Objects.isNull(meterStaff)) throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_NOT_STAFF); Long userId = meterStaff.getId(); @@ -510,7 +508,6 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - //登录用户id获取计量人员id,实验室检测信息中存储的是计量人员id MeterStaff meterStaff = getMeterStaffInfo(user); if(Objects.isNull(meterStaff)) throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_NOT_STAFF); Long userId = meterStaff.getId(); @@ -518,15 +515,7 @@ //删除实验室检测列表中退回数据 int deleteFlag = labExecutiveInfoMapper.deleteById(request.getId()); //退回操作记录表中增加数据 - BusinessLabExecutiveOperateLog operateLog = new BusinessLabExecutiveOperateLog(); - operateLog.setOrderId(request.getOrderId()); - operateLog.setSampleId(request.getSampleId()); - operateLog.setMeasureDeptId(request.getMeasureSegmentId()); - operateLog.setMeasurePersonId(request.getMeasurePersonId()); - operateLog.setOperatePersonId(userId); - operateLog.setOperatePersonName(user.getName()); - operateLog.setMeasureStatus(MeasureStatusEnum.SEND_BACK); - operateLog.setOperateReason(request.getOperateReason()); + BusinessLabExecutiveOperateLog operateLog = getBusinessLabExecutiveOperateLog(request, user, userId); int insertFlag = labExecutiveOperateLogMapper.insert(operateLog); if(deleteFlag > 0 && insertFlag > 0){ //退回后会将下一个要执行的实验室检测状态更新为待分配,将后面的实验室顺序变更为连续(都进行减1) @@ -596,4 +585,29 @@ } }); } + + private Map selectDirectDept(AuthUser user) { + Map resultMap = SqlRunner.db().selectOne( + "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON srr.USERID = su.ID " + + "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + + "WHERE su.ID = {0}" + + "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + return resultMap; + } + + private BusinessLabExecutiveOperateLog getBusinessLabExecutiveOperateLog(ExecutiveSendBackRequest request, AuthUser user, Long userId) { + BusinessLabExecutiveOperateLog operateLog = new BusinessLabExecutiveOperateLog(); + operateLog.setOrderId(request.getOrderId()); + operateLog.setSampleId(request.getSampleId()); + operateLog.setMeasureDeptId(request.getMeasureSegmentId()); + operateLog.setMeasurePersonId(request.getMeasurePersonId()); + operateLog.setOperatePersonId(userId); + operateLog.setOperatePersonName(user.getName()); + operateLog.setMeasureStatus(MeasureStatusEnum.SEND_BACK); + operateLog.setOperateReason(request.getOperateReason()); + return operateLog; + } + } 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 f6b3933..48742b4 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 @@ -9,14 +9,17 @@ import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.ExportEnum; import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; import com.casic.missiles.mapper.business.BusinessOrderMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -49,18 +52,19 @@ @AllArgsConstructor public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { - private final BusinessOrderListReponseMapper orderListReponseMapper; + private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; private final CustomerSampleService customerSampleService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; + private final BusinessDealRecordMapper dealRecordMapper; /** * 1、分页查询 2、批量查询所有的委托书、样品关系 => 进行以sampleId为key主键map list 3、查询计算样品数量 */ @Override public Page orderListPage(Page page, OrderListRequest request) throws Exception { - QueryWrapper wrapper = listParamWrapper(request); - Page resultPage = this.orderListReponseMapper.selectPage(page, wrapper); + QueryWrapper wrapper = listParamWrapperBuilder(request); + Page resultPage = this.orderListResponseMapper.selectPage(page, wrapper); List orderSampleList = sampleRelationMapper.selectList(null); Map> orderSampleMap = orderSampleList.stream().collect( Collectors.groupingBy(BusinessOrderSampleRelation::getOrderId) @@ -74,7 +78,9 @@ return resultPage; } - // 1、查询委托书详情 2、对样品列表进行查询 3、设置默认在库标志 + /** + * 1、查询委托书详情 2、对样品列表进行查询 3、设置默认在库标志 + */ @Override public BusinessOrder orderDetail(Long id) { BusinessOrder businessOrder = this.baseMapper.selectById(id); @@ -91,29 +97,24 @@ return businessOrder; } - @Override - public ReturnDTO deleteOrder(Long id) { - Integer deleteFlag = this.baseMapper.deleteById(id); - if (deleteFlag > 0) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - - // 删除样品和委托书的明细关系,填充传输的明细样品数据, - // 对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + /** + * 1、删除样品和委托书的明细关系,填充传输的明细样品数据 + * 2、对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + */ @Override public ReturnDTO updateOrder(BusinessOrder businessOrder) { - Integer updateFlag = this.baseMapper.updateById(businessOrder); - this.sampleStatusDeletor(businessOrder.getId()); - Boolean sampleUpdateFlag = true; + AuthUser authUser = ShiroKit.getUser(); + businessOrder.setUpdateUser(authUser.getId()); + int updateFlag = this.baseMapper.updateById(businessOrder); + this.deleteSampleById(businessOrder.getId()); + boolean sampleUpdateFlag = true; this.doSampleListPopulation(businessOrder); for (CustomerSampleInfo sampleInfo : businessOrder.getCustomerSampleInfoList()) { sampleInfo.setDeliverer(businessOrder.getDeliverer()); sampleInfo.setDelivererTel(businessOrder.getDelivererTel()); - if (sampleInfo.getIsExistSample().equals("0")) { + if ("0".equals(sampleInfo.getIsExistSample())) { ReturnDTO returnDTO = customerSampleService.addSample(sampleInfo); - sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode().equals("200"); + sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode().equals(200); } else { ReturnDTO returnDTO = customerSampleService.updateSample(sampleInfo); sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode() == 200; @@ -126,25 +127,27 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //删除样品和委托书的明细关系,填充传输的明细样品数据, - // 对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + /** + * 1、删除样品和委托书的明细关系,填充传输的明细样品数据 + * 2、对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + */ @Override @Transactional public ReturnDTO addOrder(BusinessOrder businessOrder) { initOrderInfo(businessOrder); - Integer addFlag = this.baseMapper.insert(businessOrder); - Boolean sampleAddFlag = true; - this.sampleStatusDeletor(businessOrder.getId()); + int addFlag = this.baseMapper.insert(businessOrder); + boolean sampleAddFlag = true; + this.deleteSampleById(businessOrder.getId()); this.doSampleListPopulation(businessOrder); for (CustomerSampleInfo sampleInfo : businessOrder.getCustomerSampleInfoList()) { sampleInfo.setDeliverer(businessOrder.getDeliverer()); sampleInfo.setDelivererTel(businessOrder.getDelivererTel()); - if (sampleInfo.getIsExistSample().equals("0")) { + if ("0".equals(sampleInfo.getIsExistSample())) { ReturnDTO returnDTO = customerSampleService.addSample(sampleInfo); - sampleAddFlag = sampleAddFlag && returnDTO.getCode() == 200; + sampleAddFlag = sampleAddFlag && returnDTO.getCode().equals(200); } else { ReturnDTO returnDTO = customerSampleService.updateSample(sampleInfo); - sampleAddFlag = sampleAddFlag && returnDTO.getCode() == 200; + sampleAddFlag = sampleAddFlag && returnDTO.getCode().equals(200); } sampleAddFlag = sampleAddFlag && sampleStatusCreator(sampleInfo.getOrderId(), sampleInfo.getMeasureContent(), sampleInfo.getId()) > 0; } @@ -154,58 +157,135 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //如查询说明,补充对是否加急的excel文档表现 + /** + * 1、判断是否存在ids,进行其他参数属性的初始化 + * 2、查询查询构建 + * 3、查询样品关系,构建委托书样品数量map集合 + * 4、字典值进行状态转化 + */ @Override public void orderExport(OrderListRequest request, HttpServletResponse response) { try { - List orderListReponseList; + List orderResponseList; if (!CollectionUtils.isEmpty(request.getIds())) { - orderListReponseList = orderListReponseMapper.selectBatchIds(request.getIds()); + orderResponseList = orderListResponseMapper.selectBatchIds(request.getIds()); } else { - QueryWrapper wrapper = listParamWrapper(request); - orderListReponseList = this.orderListReponseMapper.selectList(wrapper); + QueryWrapper wrapper = listParamWrapperBuilder(request); + orderResponseList = this.orderListResponseMapper.selectList(wrapper); } + //查询样品关系,构建委托书样品数量map集合, List orderSampleList = sampleRelationMapper.selectList(null); Map> orderSampleMap = orderSampleList.stream().collect( Collectors.groupingBy(BusinessOrderSampleRelation::getOrderId) ); - orderListReponseList.forEach( + orderResponseList.forEach( orderSample -> orderSample.setSampleCount(orderSampleMap.containsKey(orderSample.getId()) ? orderSampleMap.get(orderSample.getId()).size() : 0) ); - for (OrderListReponse orderListReponse : orderListReponseList) { - orderListReponse.setIsUrgent(orderListReponse.getIsUrgent().equals("1") ? "是" : "否"); + //字典转换 + for (OrderListReponse orderListReponse : orderResponseList) { + orderListReponse.setIsUrgent("1".equals(orderListReponse.getIsUrgent()) ? "是" : "否"); DictCodeUtils.convertDictCodeToName(orderListReponse); } - iBaseExportService.exportExcel(response, OrderListReponse.class, orderListReponseList, ExportEnum.ORDER_EXPORT.getSheetName()); + iBaseExportService.exportExcel(response, OrderListReponse.class, orderResponseList, ExportEnum.ORDER_EXPORT.getSheetName()); } catch (Exception ex) { log.error("委托书导出出现异常,异常信息为{}", ex); } } + /** + * 通过状态对委托书状态进行更新 + */ @Override - public ReturnDTO updateStatusById(Long id, String status) { - BusinessOrder businessOrder = new BusinessOrder(); - businessOrder.setId(id); - businessOrder.setStatus(status); - Integer updateFlag = this.baseMapper.updateById(businessOrder); - if (updateFlag > 0) { + public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { + int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); + int addDealRecordFlag = addDealRecord(orderCancelRequest); + if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 取消记录,修改委托书状态,同时生成委托书操作日志,供用户查询 + */ + @Override + @Transactional + public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int addDealRecordFlag = addDealRecord(orderCancelRequest); + if (updateFlag > 0 && addDealRecordFlag > 0) { + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + /** + * 操作记录的查询 + */ + @Override + public List optionRecord(Long id) { + QueryWrapper dealRecordQueryWrapper = new QueryWrapper() + .eq("order_id", id); + return dealRecordMapper.selectList(dealRecordQueryWrapper); + } + + /** + * 新增操作记录 + */ + private int addDealRecord(OrderCancelRequest orderCancelRequest) { + AuthUser authUser = ShiroKit.getUser(); + BusinessDealRecord businessDealRecord = BusinessDealRecord.builder() + .createUser(authUser.getId()) + .createUserName(authUser.getName()) + .recordContent(reasonConvert(orderCancelRequest.getReason())) + .orderId(orderCancelRequest.getId()) + .build(); + return dealRecordMapper.insert(businessDealRecord); + } + + /** + * 强调正在做状态更新 + */ + private int doUpdateStatusById(Long orderId, String status) { + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(orderId); + businessOrder.setStatus(status); + AuthUser authUser = ShiroKit.getUser(); + businessOrder.setUpdateUser(authUser.getId()); + return this.baseMapper.updateById(businessOrder); + } + + /** + * 原因字典转化为相应的值 + */ + private String reasonConvert(String reasonIds) { + String reasonStr = ""; + if (StringUtils.isEmpty(reasonIds)) { + return reasonStr; + } + String[] reasonIdList = reasonIds.split(","); + for (String reasonId : reasonIdList) { + String reasonContent = dealRecordMapper.getDictContent(reasonId); + reasonStr = reasonStr + reasonContent + ","; + } + return reasonStr.substring(0, reasonStr.length() - 1); + } + private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); + businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); businessOrder.setStatus("1"); } - - private QueryWrapper listParamWrapper(OrderListRequest request) { + /** + * 委托书列表查询构建方法 + */ + private QueryWrapper listParamWrapperBuilder(OrderListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getDeliverer()), "deliverer", request.getDeliverer()); @@ -223,21 +303,19 @@ return queryWrapper; } - private Integer sampleStatusDeletor(Long orderId) { + private int deleteSampleById(Long orderId) { QueryWrapper sampleStatusRelationWrapper = new QueryWrapper() .eq("order_id", orderId); - Integer sampleStatus = this.sampleRelationMapper.delete(sampleStatusRelationWrapper); - return sampleStatus; + return this.sampleRelationMapper.delete(sampleStatusRelationWrapper); } - private Integer sampleStatusCreator(Long orderId, String measureContent, Long sampleId) { + private int sampleStatusCreator(Long orderId, String measureContent, Long sampleId) { BusinessOrderSampleRelation sampleStatusPopulation = new BusinessOrderSampleRelation(); sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); sampleStatusPopulation.setMeasureType("1"); - Integer sampleStatus = this.sampleRelationMapper.insert(sampleStatusPopulation); - return sampleStatus; + return this.sampleRelationMapper.insert(sampleStatusPopulation); } private void doSampleListPopulation(BusinessOrder businessOrder) { @@ -249,4 +327,5 @@ } ); } + } 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 e922dc2..07c88e9 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 com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -11,8 +12,6 @@ import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; -import com.casic.missiles.dto.business.interchange.InterchangeListResponse; -import com.casic.missiles.dto.meter.TrainPlanApprovalListResponse; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; @@ -21,20 +20,22 @@ import com.casic.missiles.mapper.business.*; import com.casic.missiles.model.business.*; import com.casic.missiles.service.business.IBusinessDispatchService; -import com.casic.missiles.utils.ConvertUtils; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.util.ObjectUtils; -import org.springframework.util.StringUtils; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Objects; import java.util.Optional; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -45,84 +46,59 @@ private final BusinessLabExecutiveInfoMapper labExecutiveInfoMapper; private final IBaseExportService iBaseExportService; - //终止、回退、收入、归还、催办按钮 - //列表返回只需要控制已收入回退按钮显示的权限即可,其中回退在没有任何实验室进行的情况,可以进行设备的回退 + /** + * 终止、回退、收入、归还、催办按钮 + * 列表返回只需要控制已收入回退按钮显示的权限即可,其中回退在没有任何实验室进行的情况,可以进行设备的回退 + */ @Override public Page listPage(Page page, DeviceDispatchDTO request) { -// //查询委托书和样品关联表中的各状态的样品 - Page dispatchVOPage = orderSampleRelationMapper.getSampleListByStatus(page, request); + //查询委托书和样品关联表中的各状态的样品 + Page dispatchVoPage = orderSampleRelationMapper.getSampleListByStatus(page, request); log.info("设备收发-当前查询样品状态为:{}", request.getSampleStatus()); - List records = dispatchVOPage.getRecords(); + List records = dispatchVoPage.getRecords(); if (CollectionUtils.isEmpty(records)) { return new Page<>(); } - doDispatchVOPagePopution(records, request); - return dispatchVOPage; - } - - - //进行已收入分页的当前环节回填、出具证书回填 - private void doDispatchVOPopulation(DeviceDispatchVO dispatchVO, Long sampleId, Long orderId) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); - HandOutLabExecutiveDTO handOutLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); - Integer measureNumberStatus = labExecutiveInfoMapper.getMeasureNumberStatus(orderId, sampleId); - // - if (!Objects.isNull(handOutLabExecutiveDTO)) { - dispatchVO.setRequireCertifications(handOutLabExecutiveDTO.getRequireCertifications()); - dispatchVO.setCurrentSegment(handOutLabExecutiveDTO.getDeptName()); - Long measureDeptId = handOutLabExecutiveDTO.getMeasureDeptId(); - dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, measureDeptId)); - } else { - dispatchVO.setAlreadyCertifications(0); - dispatchVO.setRequireCertifications(ObjectUtils.isEmpty(measureNumberStatus) ? 0 : measureNumberStatus); - } - if (!ObjectUtils.isEmpty(measureNumberStatus) && measureNumberStatus > 0) { - dispatchVO.setFallbackState(0);//不可以进行回退 - } else { - dispatchVO.setFallbackState(1);//可以进行回退 - } + doPopulateDispatch(records, request); + return dispatchVoPage; } /** - * 重点填充类 - * - * @param dispatchVOPage - * @param request + * 分发列表填充 */ - private void doDispatchVOPagePopution(List dispatchVOPage, DeviceDispatchDTO request) { - dispatchVOPage.stream().forEach( + private void doPopulateDispatch(List dispatchVOPage, DeviceDispatchDTO request) { + dispatchVOPage.forEach( dispatchVO -> { Long orderId = dispatchVO.getOrderId(); Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && request.getSampleStatus().equals("8") && noSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { - //待分发状态,分发性质:有退回就是退回分发,当前检定环节:待分配,已出具证书:无,出具证书总数:无 + //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 case SampleStatusEnum.TO_HANDOUT: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //检测中状态,分发性质:无,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 + //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 case SampleStatusEnum.IN_MEASURE: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //检测完状态,分发性质:无,当前检定环节:完成,已出具证书:无,出具证书总数:无 + //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 case SampleStatusEnum.MEASURE_COMPLETE: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //超期样品(即检测超期,未在应检完时间检完),分发性质:无,当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 + doDispatchVoPopulation(dispatchVO, sampleId, orderId); + return; + //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 case SampleStatusEnum.BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); - Long deptId = overLabExecutiveDTO.getMeasureDeptId(); + Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); dispatchVO.setRequireCertifications(overLabExecutiveDTO.getRequireCertifications()); - if (checkSampleFinshStauts(dispatchVO)) { + // 判断样品是完成或接收状态,直接显示即可 + if (checkSampleFinishStatus(dispatchVO)) { return; } dispatchVO.setCurrentSegment(overLabExecutiveDTO.getDeptName()); break; + default: + break; } } ); @@ -131,8 +107,7 @@ @Override public void exportSampleDispatchList(DeviceDispatchDTO request, HttpServletResponse response) { try { - - Page deviceDispatchVOPage = PageFactory.defaultPage(); + Page deviceDispatchVOPage; if (!CollectionUtils.isEmpty(request.getIds())) { initDeviceDispatchDTOEmpty(request); } else { @@ -150,29 +125,59 @@ } + /** + * 状态更新 + */ @Override public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer updateFalg = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFalg > 0) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - - //终止操作,不仅更新状态,同时进行实验室状态的更新 - @Override - @Transactional - public ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, true); - //实验室状态数据的更新 - reasonPopulation(deviceStatusChangeDTO); + Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); if (updateFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - private void reasonPopulation(DeviceStatusChangeDTO deviceStatusChangeDTO) { + /** + * 终止操作,不仅更新状态,同时进行实验室状态原因的更新 + */ + @Override + @Transactional + public ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO) { + Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, true); + //实验室状态数据的更新 + updateLabExecutiveInfo(deviceStatusChangeDTO); + if (updateFlag > 0) { + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + /** + * 进行已收入分页的当前环节回填、出具证书回填 + */ + private void doDispatchVoPopulation(DeviceDispatchVO dispatchVO, Long sampleId, Long orderId) { + dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + HandOutLabExecutiveDTO handOutLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); + Integer measureNumberStatus = labExecutiveInfoMapper.getMeasureNumberStatus(orderId, sampleId); + //证书,当前环节的回填 + if (!Objects.isNull(handOutLabExecutiveDTO)) { + dispatchVO.setRequireCertifications(handOutLabExecutiveDTO.getRequireCertifications()); + dispatchVO.setCurrentSegment(handOutLabExecutiveDTO.getDeptName()); + Long measureDeptId = handOutLabExecutiveDTO.getMeasureDeptId(); + dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, measureDeptId)); + } else { + dispatchVO.setAlreadyCertifications(0); + dispatchVO.setRequireCertifications(ObjectUtils.isEmpty(measureNumberStatus) ? 0 : measureNumberStatus); + } + //处于检测中、检测完、待检测的实验室大于0,不可以进行回退,否则可以进行回退 + if (!ObjectUtils.isEmpty(measureNumberStatus) && measureNumberStatus > 0) { + dispatchVO.setFallbackState(0); + } else { + dispatchVO.setFallbackState(1); + } + } + + private void updateLabExecutiveInfo(DeviceStatusChangeDTO deviceStatusChangeDTO) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); @@ -182,10 +187,13 @@ labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } + /** + * 消息催办 + */ @Override public ReturnDTO rushDoProcess(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer deleteFalg = this.baseMapper.deleteById(deviceStatusChangeDTO.getOrderId()); - if (deleteFalg > 0) { + int deleteFlag = this.baseMapper.deleteById(deviceStatusChangeDTO.getOrderId()); + if (deleteFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -203,7 +211,7 @@ return null; } Optional handOutLabExecutiveDTOOptional = labExecutiveList.stream().findFirst(); - return handOutLabExecutiveDTOOptional.isPresent() ? handOutLabExecutiveDTOOptional.get() : null; + return handOutLabExecutiveDTOOptional.orElse(null); } private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { @@ -214,7 +222,9 @@ return wrapper; } - //更新检测完成后,执行当前正在进行数据 + /** + * 更新检测完成后,执行当前正在进行数据 + */ private Integer statusChangeUpdator(DeviceStatusChangeDTO statusChangeDTO, Boolean terminateFlag) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); @@ -227,15 +237,18 @@ return this.orderSampleRelationMapper.update(businessOrderSampleRelation, queryWrapper); } - //判断不是自检 - private Boolean noSelfMeasure(DeviceDispatchVO dispatchVO) { - if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType()) && (dispatchVO.getMeasureType().equals("1") || dispatchVO.getMeasureType().equals("2"))) { - String currentSegment = dispatchVO.getMeasureType().equals("1") ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; - dispatchVO.setCurrentSegment(currentSegment); - return true; - } else { - return false; + /** + * 判断不是自检 + */ + 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; + dispatchVO.setCurrentSegment(currentSegment); + return true; + } } + return false; } private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { @@ -250,8 +263,10 @@ request.setEndTime(null); } - // 判断样品是完成或接收状态,直接显示即可 - private Boolean checkSampleFinshStauts(DeviceDispatchVO dispatchVO) { + /** + * 判断样品是完成或接收状态,直接显示即可 + */ + private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); 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 eecf207..4f06678 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 @@ -28,6 +28,9 @@ import javax.servlet.http.HttpServletResponse; import java.util.List; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -58,7 +61,7 @@ @Override public ReturnDTO deleteAdvice(Long id) { - Integer deleteFlag = customerAdviceMapper.deleteById(id); + int deleteFlag = customerAdviceMapper.deleteById(id); if (deleteFlag > 0) { return ReturnUtil.success(); } @@ -67,7 +70,7 @@ @Override public ReturnDTO updateAdvice(CustomerAdviceInfo customerAdviceInfo) { - Integer updateFlag = customerAdviceMapper.updateById(customerAdviceInfo); + int updateFlag = customerAdviceMapper.updateById(customerAdviceInfo); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -77,7 +80,7 @@ @Override public ReturnDTO addAdvice(CustomerAdviceInfo customerAdviceInfo) { initCustomerAdviceInfo(customerAdviceInfo); - Integer addFlag = customerAdviceMapper.insert(customerAdviceInfo); + int addFlag = customerAdviceMapper.insert(customerAdviceInfo); if (addFlag > 0) { return ReturnUtil.success(); } 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 79a776b..3bbcaaf 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 @@ -55,7 +55,7 @@ public Page listPage(Page page, CustomerSampleListRequest request) throws Exception { QueryWrapper wrapper = listParamWrapper(request); Page customerSamplePage = customerSampleListResponseMapper.selectPage(page, wrapper); - customerSamplePage.getRecords().stream() + customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { @@ -72,26 +72,30 @@ return customerSamplePage; } - //新增样品表,同时新增样品委托书关联状态表 + /** + * 新增样品表,同时新增样品委托书关联状态表 + */ @Override @Transactional public ReturnDTO addSample(CustomerSampleInfo customerSampleInfo) { initSample(customerSampleInfo); - Integer addFlag = this.baseMapper.insert(customerSampleInfo); + int addFlag = this.baseMapper.insert(customerSampleInfo); if (addFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //更新样品表,同时更新样品委托书关联状态表 + /** + * 更新样品表,同时更新样品委托书关联状态表 + */ @Override @Transactional public ReturnDTO updateSample(CustomerSampleInfo customerSampleInfo) { AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setUpdateUser(authUser.getId()); initSample(customerSampleInfo); - Integer updateFlag = this.baseMapper.updateById(customerSampleInfo); + int updateFlag = this.baseMapper.updateById(customerSampleInfo); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -110,8 +114,6 @@ /** * 只导出样品列表信息 * - * @param request - * @param response */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -148,9 +150,8 @@ } @Override - @Transactional public ReturnDTO deleteSample(Long id) { - Integer deleteFalg = this.baseMapper.deleteById(id); + int deleteFalg = this.baseMapper.deleteById(id); if (deleteFalg > 0) { return ReturnUtil.success(); } @@ -158,12 +159,12 @@ } @Override - public Page mesureRecordsBySampleId(Long id) { + public Page measureRecordsBySampleId(Long id) { Page page = PageFactory.defaultPage(); QueryWrapper wrapper = new QueryWrapper() .eq("sample_id", id); - Page mesureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); - return mesureRecordsResponsePage; + Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + return measureRecordsResponsePage; } @Override @@ -197,12 +198,12 @@ 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());//样品所属 - queryWrapper.like(StringUtils.isNotBlank(request.getSampleModel()), "sample_model", request.getSampleModel());//样品型号 - queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName());//委托方名称 - queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo());//委托方代码 + 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()); + queryWrapper.like(StringUtils.isNotBlank(request.getSampleModel()), "sample_model", request.getSampleModel()); + 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"), "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); 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 62c4a00..32d4dee 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 @@ -70,7 +70,7 @@ @Transactional public ReturnDTO addCustomer(CustomerInfo customerInfo) { initCustomerInfo(customerInfo); - Integer addFlag = this.baseMapper.insert(customerInfo); + int addFlag = this.baseMapper.insert(customerInfo); Boolean userAddFlag = userInfoListCreator(customerInfo.getCustomerUserList(), customerInfo.getId()); if (addFlag > 0 && userAddFlag) { return ReturnUtil.success(); @@ -84,7 +84,7 @@ AuthUser authUser = ShiroKit.getUser(); customerInfo.setUpdateUser(authUser.getId()); userInfoListDeletor(customerInfo.getId()); - Integer updateFlag = this.baseMapper.updateById(customerInfo); + int updateFlag = this.baseMapper.updateById(customerInfo); Boolean userUpdateFlag = userInfoListCreator(customerInfo.getCustomerUserList(),customerInfo.getId()); if (updateFlag > 0 && userUpdateFlag) { return ReturnUtil.success(); @@ -102,7 +102,7 @@ @Override public ReturnDTO deleteCustomer(Long id) { CustomerInfo customerInfo = this.baseMapper.selectById(id); - Integer deleteFlag = this.baseMapper.deleteById(id); + int deleteFlag = this.baseMapper.deleteById(id); userInfoListDeletor(customerInfo.getId()); if (deleteFlag > 0) { return ReturnUtil.success(); @@ -116,8 +116,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("customer_id", customerId); queryWrapper.orderByDesc("create_time"); - Page sampleRecordsResponsePage = sampleRecordsResponseMapper.selectPage(page, queryWrapper); - return sampleRecordsResponsePage; + return sampleRecordsResponseMapper.selectPage(page, queryWrapper); } @@ -129,9 +128,8 @@ @Override//暂定不做 public Page mesureRecordsByCustomerId(Long customerId) { - Page mesureRecordsResponsePage = PageFactory.defaultPage(); - - return mesureRecordsResponsePage; + Page measureRecordsResponsePage = PageFactory.defaultPage(); + return measureRecordsResponsePage; } @Override @@ -139,8 +137,7 @@ Page page = PageFactory.defaultPage(); QueryWrapper wrapper = new QueryWrapper() .eq("customer_id", customerId); - Page certificationResponsePage = certificationMapper.selectPage(page, wrapper); - return certificationResponsePage; + return certificationMapper.selectPage(page, wrapper); } @Override @@ -185,8 +182,7 @@ private List customerUserDetail(Long id) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("customer_id", id); - List customerUserInfoList = customerUserMapper.selectList(queryWrapper); - return customerUserInfoList; + return customerUserMapper.selectList(queryWrapper); } private void userInfoListDeletor(Long customerId) { @@ -197,12 +193,12 @@ private Boolean userInfoListCreator(List userInfoList, Long id) { Long maxUserNo = customerUserMapper.selectMaxUserNo(); - Boolean userUpdateFlag = true; + boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); customerUserInfo.setUserNo(customerNo); - Integer userAddNum = customerUserMapper.insert(customerUserInfo); + int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { userUpdateFlag = false; } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 09eee0f..c4b3d7a 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -67,11 +67,17 @@ WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} @@ -88,11 +94,17 @@ SELECT * FROM meter_train_plan WHERE is_del = 0 - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} 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 04ed845..d04eb14 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 @@ -90,5 +90,4 @@ @ApiModelProperty(value = "回退状态(已收入的状态) 1真0假", dataType = "Integer") private Integer FallbackState; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java new file mode 100644 index 0000000..b06975f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java @@ -0,0 +1,16 @@ +package com.casic.missiles.dto.business.order; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OrderCancelRequest { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") + private String reason; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java index 9662eb8..d6206c5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java @@ -4,13 +4,18 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.List; +/** + * @author cz + */ @Data @ApiModel("设备接收") public class CertificateListRequest { @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") + @NotBlank(message = "表单id不能为空") private String formId; @ApiModelProperty(value = "证书编号", dataType = "String") @@ -20,7 +25,7 @@ private String orderNo; @ApiModelProperty(value = "委托方名称", dataType = "String") - private String cutomerName; + private String customerName; @ApiModelProperty(value = "样品编号", dataType = "String") private String sampleNo; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java index 28c6d26..bacfc56 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java @@ -58,8 +58,14 @@ /** * 创建时间 */ - @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 表单id diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index 9528373..cd1066f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,7 +114,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index b1048c1..bf75da4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,8 +111,8 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; /** * 可选决策项 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java index 9d1f2f0..8f0bfce 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java @@ -25,14 +25,26 @@ /** * 培训时间 */ - @ApiModelProperty(value = "培训时间(查询出该时间前列表倒序)", dataType = "String") - private String trainTime; + @ApiModelProperty(value = "培训开始时间", dataType = "String") + private String trainStartTime; + + /** + * 培训时间 + */ + @ApiModelProperty(value = "培训结束时间", dataType = "String") + private String trainEndTime; /** * 创建时间 */ - @ApiModelProperty(value = "创建时间(查询出该时间前列表倒序)", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 组织部门id-系统组织表 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 8893256..847993f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -117,6 +117,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java new file mode 100644 index 0000000..17e0770 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java @@ -0,0 +1,37 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@TableName("business_deal_record") +@ApiModel("委托书操作记录") +@AllArgsConstructor +@Builder +@Data +public class BusinessDealRecord { + + private Long id; + + @ApiModelProperty("委托书id") + private Long orderId; + + @ApiModelProperty("原因") + private String recordContent; + + private Long createUser; + + @ApiModelProperty("操作人名称") + private String createUserName; + + @ApiModelProperty("创建时间") + private String createTime; + + @ApiModelProperty("备注") + private String remark; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java index 8778b11..9e960f6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java @@ -87,6 +87,9 @@ private Integer isDel; + @ApiModelProperty(value = "最后更新人员", dataType = "String") + private Long updateUser; + @ApiModelProperty(value = "创建人", dataType = "String") private Long createUser; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java new file mode 100644 index 0000000..6572d23 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java @@ -0,0 +1,31 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * @author cz + */ +@Data +@TableName("business_order_record") +public class BusinessOrderRecord { + + private Long id; + + private Long orderId; + + /** + * 记录内容 + */ + private String recordTContent; + + /** + * 创建人id + */ + private Long createUser; + + /** + * 创建人时间 + */ + private String createTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java index ae324f0..ffc21af 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java @@ -146,7 +146,7 @@ private String remark; /** - * 流程定义id + * 流程实例id */ @ApiModelProperty(value = "流程实例id(未通过培训计划编辑接口必传参数)", dataType = "String") @TableField("process_id") 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 a0cceda..230c779 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 @@ -1,7 +1,6 @@ package com.casic.missiles.service.Impl.business; import cn.hutool.core.lang.Assert; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; @@ -15,14 +14,12 @@ import com.casic.missiles.dto.business.print.CertificateListRequest; import com.casic.missiles.dto.business.print.CertificateListResponse; import com.casic.missiles.dto.business.print.CertificateRefusePrintRequest; -import com.casic.missiles.dto.flowable.AllApproveDTO; 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.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -40,6 +37,9 @@ import java.util.*; import java.util.stream.Collectors; +/** + * @author cz + */ @Service @AllArgsConstructor public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { @@ -81,16 +81,19 @@ } @Override - @Transactional - public ReturnDTO agreeAginPrint(ApprovalAgreeRequest request) { - ReturnDTO returnDTO = approvalOperateService.agree(request); - return returnDTO; + public ReturnDTO agreeAgainPrint(ApprovalAgreeRequest request) { + return approvalOperateService.agree(request); } + /** + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * + * @return + */ @Override @Transactional public ReturnDTO refuseAgainPrint(CertificateRefusePrintRequest request) { - ApprovalRefuseRequest approvalRefuseRequest=new ApprovalRefuseRequest(); + ApprovalRefuseRequest approvalRefuseRequest = new ApprovalRefuseRequest(); approvalRefuseRequest.setTaskId(request.getTaskId()); approvalRefuseRequest.setComments(request.getComments()); ReturnDTO returnDTO = approvalOperateService.refuse(approvalRefuseRequest); @@ -99,8 +102,9 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setPrintStatus("2");//设置为不能打印 - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //设置为不能打印 + certificateReport.setPrintStatus("2"); + certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -108,7 +112,9 @@ return ReturnUtil.success(); } - //提交审批流程,修改证书审批状态、修改打印状态 + /** + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + */ @Transactional @Override public ReturnDTO submitAgainPrint(BaseApprovalSubmitRequest request) { @@ -119,8 +125,10 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //审批状态为审批中 - certificateReport.setPrintStatus("3"); //打印状态审批中 + //审批状态为审批中 + certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //打印状态审批中 + certificateReport.setPrintStatus("3"); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -128,13 +136,14 @@ return ReturnUtil.success(); } - //可打印:只需要查询可打印状态即可 - //查询工作流 + /** + * 可打印:只需要查询可打印状态即可,待审批状态,查询工作流,同时传输任务id + */ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)) { handlerBeApproved(approvalList, page, request); - } else if (request.getPrintStatus().equals("0")) { + } else if("0".equals(request.getPrintStatus())) { request.setApprovalStatus(null); approvalList.setRecords(this.baseMapper.selectBatchForApprovalList(page, request, null)); } else { @@ -147,18 +156,9 @@ return approvalList; } - private Page handleAllApprovalListResponse(Page approvalList, List allApproveList) { - Map taskMap = allApproveList.stream().collect(Collectors.toMap(AllApproveDTO::getBusinessKey, AllApproveDTO::getStatus)); - //状态补全 - approvalList.getRecords().forEach(approval -> { - approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); - approval.setApprovalStatus(taskMap.get(String.valueOf(approval.getId()))); - }); - //排序 - approvalList.setRecords(approvalList.getRecords().stream().sorted(Comparator.comparing(CertificateListResponse::getCreateTime).reversed()).collect(Collectors.toList())); - return approvalList; - } - + /** + * 查询待审批状态的打印证书,查询业务主键信息,据此查询相应的证书,并填充相应的工作流状态 + */ private Page handlerBeApproved(Page approvalList, Page page, CertificateListRequest request) { List businessKeys = new ArrayList<>(); List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); @@ -179,11 +179,4 @@ return approvalList; } - private void handleApprovalListResponse(Page approvalList, String status) { - approvalList.getRecords().stream().forEach(result -> { - //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 - result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); - }); - } - } 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 b397f83..859010b 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 @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.business; -import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -46,7 +45,9 @@ private final IBaseExportService iBaseExportService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; - //** 送检人查询条件不在设备交接单中,需要联查才可以实现 + /** + * 送检人查询条件不在设备交接单中,需要联查才可以实现 + */ @Override public Page exchangeListPage(Page page, InterchangeListRequest request) throws Exception { page.setRecords(this.baseMapper.selectInterchangeListPage(page, request)); @@ -54,7 +55,8 @@ } @Override - public BusinessInterchangeDetailResponse exchangeDetail(Long id) { ; + public BusinessInterchangeDetailResponse exchangeDetail(Long id) { + ; BusinessInterchangeDetailResponse businessExchange = this.baseMapper.getInfoById(id); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", businessExchange.getOrderId()); @@ -71,19 +73,21 @@ @Override @Transactional public ReturnDTO deleteExchange(Long id) { - Integer deleteFlag = this.baseMapper.deleteById(id); - //交接单绑定的肯定有样品,所以samplUpdateFlag肯定为true - Boolean samplUpdateFlag = sampleStatusDeletor(id) > 0; - if (deleteFlag > 0 && samplUpdateFlag) { + int deleteFlag = this.baseMapper.deleteById(id); + //交接单绑定的肯定有样品,所以sampleUpdateFlag肯定为true + boolean sampleUpdateFlag = sampleStatusDeletor(id) > 0; + if (deleteFlag > 0 && sampleUpdateFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //更新不对样品有任何操作 + /** + * 更新不对样品有任何操作 + */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { - Integer updateFlag = this.baseMapper.updateById(businessInterchange); + int updateFlag = this.baseMapper.updateById(businessInterchange); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -94,8 +98,8 @@ @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { populationExchange(businessInterchange); - Integer addFlag = this.baseMapper.insert(businessInterchange); - Boolean sampleAddFlag = true; + int addFlag = this.baseMapper.insert(businessInterchange); + boolean sampleAddFlag = true; if (!CollectionUtils.isEmpty(businessInterchange.getCustomerSampleList())) { for (CustomerSampleListVO sampleInfo : businessInterchange.getCustomerSampleList()) { sampleAddFlag = sampleAddFlag && sampleStatusUpdator(sampleInfo, businessInterchange.getId()) > 0; 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 3bd316c..585a207 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 @@ -215,13 +215,7 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - Map resultMap = SqlRunner.db().selectOne( - "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + - "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + - "JOIN sys_user su ON srr.USERID = su.ID " + - "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + - "WHERE su.ID = {0}" + - "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + Map resultMap = selectDirectDept(user); if(CollectionUtils.isEmpty(resultMap) || Objects.isNull(resultMap.get("deptId"))){ return new Page<>(); } @@ -390,16 +384,7 @@ Long maxNo = labExecutiveTemplateInfoMapper.selectMaxTemplateNo(); for (int i = 0; i < labExecutiveInfos.size(); i++) { BusinessLabExecutiveInfo lab = labExecutiveInfos.get(i); - BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); - templateInfo.setTemplateCode(templateCode); -// templateInfo.setSampleTypeId(); - templateInfo.setSampleId(lab.getSampleId()); - templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); - templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); -// templateInfo.setMeasureItem(); - templateInfo.setExecuteSequence(lab.getMeasureSequence()); -// templateInfo.setCreateUser(); + BusinessLabExecutiveTemplateInfo templateInfo = getBusinessLabExecutiveTemplateInfo(maxNo, i, lab); labList.add(templateInfo); } if(labExecutiveTemplateInfoService.saveBatch(labList)) log.info("实验室检测记录批量保存为实验室检测模板成功"); @@ -422,6 +407,20 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { + BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); + String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + templateInfo.setTemplateCode(templateCode); +// templateInfo.setSampleTypeId(); + templateInfo.setSampleId(lab.getSampleId()); + templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); + templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); +// templateInfo.setMeasureItem(); + templateInfo.setExecuteSequence(lab.getMeasureSequence()); +// templateInfo.setCreateUser(); + return templateInfo; + } + @Override public ReturnDTO updateExecutiveList(UpdateExecutiveListRequest request) { //删除前端已删除的ids @@ -469,7 +468,6 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - //登录用户id获取计量人员id,实验室检测信息中存储的是计量人员id MeterStaff meterStaff = getMeterStaffInfo(user); if(Objects.isNull(meterStaff)) throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_NOT_STAFF); Long userId = meterStaff.getId(); @@ -510,7 +508,6 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - //登录用户id获取计量人员id,实验室检测信息中存储的是计量人员id MeterStaff meterStaff = getMeterStaffInfo(user); if(Objects.isNull(meterStaff)) throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_NOT_STAFF); Long userId = meterStaff.getId(); @@ -518,15 +515,7 @@ //删除实验室检测列表中退回数据 int deleteFlag = labExecutiveInfoMapper.deleteById(request.getId()); //退回操作记录表中增加数据 - BusinessLabExecutiveOperateLog operateLog = new BusinessLabExecutiveOperateLog(); - operateLog.setOrderId(request.getOrderId()); - operateLog.setSampleId(request.getSampleId()); - operateLog.setMeasureDeptId(request.getMeasureSegmentId()); - operateLog.setMeasurePersonId(request.getMeasurePersonId()); - operateLog.setOperatePersonId(userId); - operateLog.setOperatePersonName(user.getName()); - operateLog.setMeasureStatus(MeasureStatusEnum.SEND_BACK); - operateLog.setOperateReason(request.getOperateReason()); + BusinessLabExecutiveOperateLog operateLog = getBusinessLabExecutiveOperateLog(request, user, userId); int insertFlag = labExecutiveOperateLogMapper.insert(operateLog); if(deleteFlag > 0 && insertFlag > 0){ //退回后会将下一个要执行的实验室检测状态更新为待分配,将后面的实验室顺序变更为连续(都进行减1) @@ -596,4 +585,29 @@ } }); } + + private Map selectDirectDept(AuthUser user) { + Map resultMap = SqlRunner.db().selectOne( + "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON srr.USERID = su.ID " + + "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + + "WHERE su.ID = {0}" + + "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + return resultMap; + } + + private BusinessLabExecutiveOperateLog getBusinessLabExecutiveOperateLog(ExecutiveSendBackRequest request, AuthUser user, Long userId) { + BusinessLabExecutiveOperateLog operateLog = new BusinessLabExecutiveOperateLog(); + operateLog.setOrderId(request.getOrderId()); + operateLog.setSampleId(request.getSampleId()); + operateLog.setMeasureDeptId(request.getMeasureSegmentId()); + operateLog.setMeasurePersonId(request.getMeasurePersonId()); + operateLog.setOperatePersonId(userId); + operateLog.setOperatePersonName(user.getName()); + operateLog.setMeasureStatus(MeasureStatusEnum.SEND_BACK); + operateLog.setOperateReason(request.getOperateReason()); + return operateLog; + } + } 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 f6b3933..48742b4 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 @@ -9,14 +9,17 @@ import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.ExportEnum; import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; import com.casic.missiles.mapper.business.BusinessOrderMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -49,18 +52,19 @@ @AllArgsConstructor public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { - private final BusinessOrderListReponseMapper orderListReponseMapper; + private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; private final CustomerSampleService customerSampleService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; + private final BusinessDealRecordMapper dealRecordMapper; /** * 1、分页查询 2、批量查询所有的委托书、样品关系 => 进行以sampleId为key主键map list 3、查询计算样品数量 */ @Override public Page orderListPage(Page page, OrderListRequest request) throws Exception { - QueryWrapper wrapper = listParamWrapper(request); - Page resultPage = this.orderListReponseMapper.selectPage(page, wrapper); + QueryWrapper wrapper = listParamWrapperBuilder(request); + Page resultPage = this.orderListResponseMapper.selectPage(page, wrapper); List orderSampleList = sampleRelationMapper.selectList(null); Map> orderSampleMap = orderSampleList.stream().collect( Collectors.groupingBy(BusinessOrderSampleRelation::getOrderId) @@ -74,7 +78,9 @@ return resultPage; } - // 1、查询委托书详情 2、对样品列表进行查询 3、设置默认在库标志 + /** + * 1、查询委托书详情 2、对样品列表进行查询 3、设置默认在库标志 + */ @Override public BusinessOrder orderDetail(Long id) { BusinessOrder businessOrder = this.baseMapper.selectById(id); @@ -91,29 +97,24 @@ return businessOrder; } - @Override - public ReturnDTO deleteOrder(Long id) { - Integer deleteFlag = this.baseMapper.deleteById(id); - if (deleteFlag > 0) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - - // 删除样品和委托书的明细关系,填充传输的明细样品数据, - // 对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + /** + * 1、删除样品和委托书的明细关系,填充传输的明细样品数据 + * 2、对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + */ @Override public ReturnDTO updateOrder(BusinessOrder businessOrder) { - Integer updateFlag = this.baseMapper.updateById(businessOrder); - this.sampleStatusDeletor(businessOrder.getId()); - Boolean sampleUpdateFlag = true; + AuthUser authUser = ShiroKit.getUser(); + businessOrder.setUpdateUser(authUser.getId()); + int updateFlag = this.baseMapper.updateById(businessOrder); + this.deleteSampleById(businessOrder.getId()); + boolean sampleUpdateFlag = true; this.doSampleListPopulation(businessOrder); for (CustomerSampleInfo sampleInfo : businessOrder.getCustomerSampleInfoList()) { sampleInfo.setDeliverer(businessOrder.getDeliverer()); sampleInfo.setDelivererTel(businessOrder.getDelivererTel()); - if (sampleInfo.getIsExistSample().equals("0")) { + if ("0".equals(sampleInfo.getIsExistSample())) { ReturnDTO returnDTO = customerSampleService.addSample(sampleInfo); - sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode().equals("200"); + sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode().equals(200); } else { ReturnDTO returnDTO = customerSampleService.updateSample(sampleInfo); sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode() == 200; @@ -126,25 +127,27 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //删除样品和委托书的明细关系,填充传输的明细样品数据, - // 对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + /** + * 1、删除样品和委托书的明细关系,填充传输的明细样品数据 + * 2、对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + */ @Override @Transactional public ReturnDTO addOrder(BusinessOrder businessOrder) { initOrderInfo(businessOrder); - Integer addFlag = this.baseMapper.insert(businessOrder); - Boolean sampleAddFlag = true; - this.sampleStatusDeletor(businessOrder.getId()); + int addFlag = this.baseMapper.insert(businessOrder); + boolean sampleAddFlag = true; + this.deleteSampleById(businessOrder.getId()); this.doSampleListPopulation(businessOrder); for (CustomerSampleInfo sampleInfo : businessOrder.getCustomerSampleInfoList()) { sampleInfo.setDeliverer(businessOrder.getDeliverer()); sampleInfo.setDelivererTel(businessOrder.getDelivererTel()); - if (sampleInfo.getIsExistSample().equals("0")) { + if ("0".equals(sampleInfo.getIsExistSample())) { ReturnDTO returnDTO = customerSampleService.addSample(sampleInfo); - sampleAddFlag = sampleAddFlag && returnDTO.getCode() == 200; + sampleAddFlag = sampleAddFlag && returnDTO.getCode().equals(200); } else { ReturnDTO returnDTO = customerSampleService.updateSample(sampleInfo); - sampleAddFlag = sampleAddFlag && returnDTO.getCode() == 200; + sampleAddFlag = sampleAddFlag && returnDTO.getCode().equals(200); } sampleAddFlag = sampleAddFlag && sampleStatusCreator(sampleInfo.getOrderId(), sampleInfo.getMeasureContent(), sampleInfo.getId()) > 0; } @@ -154,58 +157,135 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //如查询说明,补充对是否加急的excel文档表现 + /** + * 1、判断是否存在ids,进行其他参数属性的初始化 + * 2、查询查询构建 + * 3、查询样品关系,构建委托书样品数量map集合 + * 4、字典值进行状态转化 + */ @Override public void orderExport(OrderListRequest request, HttpServletResponse response) { try { - List orderListReponseList; + List orderResponseList; if (!CollectionUtils.isEmpty(request.getIds())) { - orderListReponseList = orderListReponseMapper.selectBatchIds(request.getIds()); + orderResponseList = orderListResponseMapper.selectBatchIds(request.getIds()); } else { - QueryWrapper wrapper = listParamWrapper(request); - orderListReponseList = this.orderListReponseMapper.selectList(wrapper); + QueryWrapper wrapper = listParamWrapperBuilder(request); + orderResponseList = this.orderListResponseMapper.selectList(wrapper); } + //查询样品关系,构建委托书样品数量map集合, List orderSampleList = sampleRelationMapper.selectList(null); Map> orderSampleMap = orderSampleList.stream().collect( Collectors.groupingBy(BusinessOrderSampleRelation::getOrderId) ); - orderListReponseList.forEach( + orderResponseList.forEach( orderSample -> orderSample.setSampleCount(orderSampleMap.containsKey(orderSample.getId()) ? orderSampleMap.get(orderSample.getId()).size() : 0) ); - for (OrderListReponse orderListReponse : orderListReponseList) { - orderListReponse.setIsUrgent(orderListReponse.getIsUrgent().equals("1") ? "是" : "否"); + //字典转换 + for (OrderListReponse orderListReponse : orderResponseList) { + orderListReponse.setIsUrgent("1".equals(orderListReponse.getIsUrgent()) ? "是" : "否"); DictCodeUtils.convertDictCodeToName(orderListReponse); } - iBaseExportService.exportExcel(response, OrderListReponse.class, orderListReponseList, ExportEnum.ORDER_EXPORT.getSheetName()); + iBaseExportService.exportExcel(response, OrderListReponse.class, orderResponseList, ExportEnum.ORDER_EXPORT.getSheetName()); } catch (Exception ex) { log.error("委托书导出出现异常,异常信息为{}", ex); } } + /** + * 通过状态对委托书状态进行更新 + */ @Override - public ReturnDTO updateStatusById(Long id, String status) { - BusinessOrder businessOrder = new BusinessOrder(); - businessOrder.setId(id); - businessOrder.setStatus(status); - Integer updateFlag = this.baseMapper.updateById(businessOrder); - if (updateFlag > 0) { + public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { + int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); + int addDealRecordFlag = addDealRecord(orderCancelRequest); + if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 取消记录,修改委托书状态,同时生成委托书操作日志,供用户查询 + */ + @Override + @Transactional + public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int addDealRecordFlag = addDealRecord(orderCancelRequest); + if (updateFlag > 0 && addDealRecordFlag > 0) { + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + /** + * 操作记录的查询 + */ + @Override + public List optionRecord(Long id) { + QueryWrapper dealRecordQueryWrapper = new QueryWrapper() + .eq("order_id", id); + return dealRecordMapper.selectList(dealRecordQueryWrapper); + } + + /** + * 新增操作记录 + */ + private int addDealRecord(OrderCancelRequest orderCancelRequest) { + AuthUser authUser = ShiroKit.getUser(); + BusinessDealRecord businessDealRecord = BusinessDealRecord.builder() + .createUser(authUser.getId()) + .createUserName(authUser.getName()) + .recordContent(reasonConvert(orderCancelRequest.getReason())) + .orderId(orderCancelRequest.getId()) + .build(); + return dealRecordMapper.insert(businessDealRecord); + } + + /** + * 强调正在做状态更新 + */ + private int doUpdateStatusById(Long orderId, String status) { + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(orderId); + businessOrder.setStatus(status); + AuthUser authUser = ShiroKit.getUser(); + businessOrder.setUpdateUser(authUser.getId()); + return this.baseMapper.updateById(businessOrder); + } + + /** + * 原因字典转化为相应的值 + */ + private String reasonConvert(String reasonIds) { + String reasonStr = ""; + if (StringUtils.isEmpty(reasonIds)) { + return reasonStr; + } + String[] reasonIdList = reasonIds.split(","); + for (String reasonId : reasonIdList) { + String reasonContent = dealRecordMapper.getDictContent(reasonId); + reasonStr = reasonStr + reasonContent + ","; + } + return reasonStr.substring(0, reasonStr.length() - 1); + } + private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); + businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); businessOrder.setStatus("1"); } - - private QueryWrapper listParamWrapper(OrderListRequest request) { + /** + * 委托书列表查询构建方法 + */ + private QueryWrapper listParamWrapperBuilder(OrderListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getDeliverer()), "deliverer", request.getDeliverer()); @@ -223,21 +303,19 @@ return queryWrapper; } - private Integer sampleStatusDeletor(Long orderId) { + private int deleteSampleById(Long orderId) { QueryWrapper sampleStatusRelationWrapper = new QueryWrapper() .eq("order_id", orderId); - Integer sampleStatus = this.sampleRelationMapper.delete(sampleStatusRelationWrapper); - return sampleStatus; + return this.sampleRelationMapper.delete(sampleStatusRelationWrapper); } - private Integer sampleStatusCreator(Long orderId, String measureContent, Long sampleId) { + private int sampleStatusCreator(Long orderId, String measureContent, Long sampleId) { BusinessOrderSampleRelation sampleStatusPopulation = new BusinessOrderSampleRelation(); sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); sampleStatusPopulation.setMeasureType("1"); - Integer sampleStatus = this.sampleRelationMapper.insert(sampleStatusPopulation); - return sampleStatus; + return this.sampleRelationMapper.insert(sampleStatusPopulation); } private void doSampleListPopulation(BusinessOrder businessOrder) { @@ -249,4 +327,5 @@ } ); } + } 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 e922dc2..07c88e9 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 com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -11,8 +12,6 @@ import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; -import com.casic.missiles.dto.business.interchange.InterchangeListResponse; -import com.casic.missiles.dto.meter.TrainPlanApprovalListResponse; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; @@ -21,20 +20,22 @@ import com.casic.missiles.mapper.business.*; import com.casic.missiles.model.business.*; import com.casic.missiles.service.business.IBusinessDispatchService; -import com.casic.missiles.utils.ConvertUtils; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.util.ObjectUtils; -import org.springframework.util.StringUtils; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Objects; import java.util.Optional; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -45,84 +46,59 @@ private final BusinessLabExecutiveInfoMapper labExecutiveInfoMapper; private final IBaseExportService iBaseExportService; - //终止、回退、收入、归还、催办按钮 - //列表返回只需要控制已收入回退按钮显示的权限即可,其中回退在没有任何实验室进行的情况,可以进行设备的回退 + /** + * 终止、回退、收入、归还、催办按钮 + * 列表返回只需要控制已收入回退按钮显示的权限即可,其中回退在没有任何实验室进行的情况,可以进行设备的回退 + */ @Override public Page listPage(Page page, DeviceDispatchDTO request) { -// //查询委托书和样品关联表中的各状态的样品 - Page dispatchVOPage = orderSampleRelationMapper.getSampleListByStatus(page, request); + //查询委托书和样品关联表中的各状态的样品 + Page dispatchVoPage = orderSampleRelationMapper.getSampleListByStatus(page, request); log.info("设备收发-当前查询样品状态为:{}", request.getSampleStatus()); - List records = dispatchVOPage.getRecords(); + List records = dispatchVoPage.getRecords(); if (CollectionUtils.isEmpty(records)) { return new Page<>(); } - doDispatchVOPagePopution(records, request); - return dispatchVOPage; - } - - - //进行已收入分页的当前环节回填、出具证书回填 - private void doDispatchVOPopulation(DeviceDispatchVO dispatchVO, Long sampleId, Long orderId) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); - HandOutLabExecutiveDTO handOutLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); - Integer measureNumberStatus = labExecutiveInfoMapper.getMeasureNumberStatus(orderId, sampleId); - // - if (!Objects.isNull(handOutLabExecutiveDTO)) { - dispatchVO.setRequireCertifications(handOutLabExecutiveDTO.getRequireCertifications()); - dispatchVO.setCurrentSegment(handOutLabExecutiveDTO.getDeptName()); - Long measureDeptId = handOutLabExecutiveDTO.getMeasureDeptId(); - dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, measureDeptId)); - } else { - dispatchVO.setAlreadyCertifications(0); - dispatchVO.setRequireCertifications(ObjectUtils.isEmpty(measureNumberStatus) ? 0 : measureNumberStatus); - } - if (!ObjectUtils.isEmpty(measureNumberStatus) && measureNumberStatus > 0) { - dispatchVO.setFallbackState(0);//不可以进行回退 - } else { - dispatchVO.setFallbackState(1);//可以进行回退 - } + doPopulateDispatch(records, request); + return dispatchVoPage; } /** - * 重点填充类 - * - * @param dispatchVOPage - * @param request + * 分发列表填充 */ - private void doDispatchVOPagePopution(List dispatchVOPage, DeviceDispatchDTO request) { - dispatchVOPage.stream().forEach( + private void doPopulateDispatch(List dispatchVOPage, DeviceDispatchDTO request) { + dispatchVOPage.forEach( dispatchVO -> { Long orderId = dispatchVO.getOrderId(); Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && request.getSampleStatus().equals("8") && noSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { - //待分发状态,分发性质:有退回就是退回分发,当前检定环节:待分配,已出具证书:无,出具证书总数:无 + //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 case SampleStatusEnum.TO_HANDOUT: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //检测中状态,分发性质:无,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 + //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 case SampleStatusEnum.IN_MEASURE: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //检测完状态,分发性质:无,当前检定环节:完成,已出具证书:无,出具证书总数:无 + //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 case SampleStatusEnum.MEASURE_COMPLETE: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //超期样品(即检测超期,未在应检完时间检完),分发性质:无,当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 + doDispatchVoPopulation(dispatchVO, sampleId, orderId); + return; + //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 case SampleStatusEnum.BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); - Long deptId = overLabExecutiveDTO.getMeasureDeptId(); + Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); dispatchVO.setRequireCertifications(overLabExecutiveDTO.getRequireCertifications()); - if (checkSampleFinshStauts(dispatchVO)) { + // 判断样品是完成或接收状态,直接显示即可 + if (checkSampleFinishStatus(dispatchVO)) { return; } dispatchVO.setCurrentSegment(overLabExecutiveDTO.getDeptName()); break; + default: + break; } } ); @@ -131,8 +107,7 @@ @Override public void exportSampleDispatchList(DeviceDispatchDTO request, HttpServletResponse response) { try { - - Page deviceDispatchVOPage = PageFactory.defaultPage(); + Page deviceDispatchVOPage; if (!CollectionUtils.isEmpty(request.getIds())) { initDeviceDispatchDTOEmpty(request); } else { @@ -150,29 +125,59 @@ } + /** + * 状态更新 + */ @Override public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer updateFalg = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFalg > 0) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - - //终止操作,不仅更新状态,同时进行实验室状态的更新 - @Override - @Transactional - public ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, true); - //实验室状态数据的更新 - reasonPopulation(deviceStatusChangeDTO); + Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); if (updateFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - private void reasonPopulation(DeviceStatusChangeDTO deviceStatusChangeDTO) { + /** + * 终止操作,不仅更新状态,同时进行实验室状态原因的更新 + */ + @Override + @Transactional + public ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO) { + Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, true); + //实验室状态数据的更新 + updateLabExecutiveInfo(deviceStatusChangeDTO); + if (updateFlag > 0) { + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + /** + * 进行已收入分页的当前环节回填、出具证书回填 + */ + private void doDispatchVoPopulation(DeviceDispatchVO dispatchVO, Long sampleId, Long orderId) { + dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + HandOutLabExecutiveDTO handOutLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); + Integer measureNumberStatus = labExecutiveInfoMapper.getMeasureNumberStatus(orderId, sampleId); + //证书,当前环节的回填 + if (!Objects.isNull(handOutLabExecutiveDTO)) { + dispatchVO.setRequireCertifications(handOutLabExecutiveDTO.getRequireCertifications()); + dispatchVO.setCurrentSegment(handOutLabExecutiveDTO.getDeptName()); + Long measureDeptId = handOutLabExecutiveDTO.getMeasureDeptId(); + dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, measureDeptId)); + } else { + dispatchVO.setAlreadyCertifications(0); + dispatchVO.setRequireCertifications(ObjectUtils.isEmpty(measureNumberStatus) ? 0 : measureNumberStatus); + } + //处于检测中、检测完、待检测的实验室大于0,不可以进行回退,否则可以进行回退 + if (!ObjectUtils.isEmpty(measureNumberStatus) && measureNumberStatus > 0) { + dispatchVO.setFallbackState(0); + } else { + dispatchVO.setFallbackState(1); + } + } + + private void updateLabExecutiveInfo(DeviceStatusChangeDTO deviceStatusChangeDTO) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); @@ -182,10 +187,13 @@ labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } + /** + * 消息催办 + */ @Override public ReturnDTO rushDoProcess(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer deleteFalg = this.baseMapper.deleteById(deviceStatusChangeDTO.getOrderId()); - if (deleteFalg > 0) { + int deleteFlag = this.baseMapper.deleteById(deviceStatusChangeDTO.getOrderId()); + if (deleteFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -203,7 +211,7 @@ return null; } Optional handOutLabExecutiveDTOOptional = labExecutiveList.stream().findFirst(); - return handOutLabExecutiveDTOOptional.isPresent() ? handOutLabExecutiveDTOOptional.get() : null; + return handOutLabExecutiveDTOOptional.orElse(null); } private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { @@ -214,7 +222,9 @@ return wrapper; } - //更新检测完成后,执行当前正在进行数据 + /** + * 更新检测完成后,执行当前正在进行数据 + */ private Integer statusChangeUpdator(DeviceStatusChangeDTO statusChangeDTO, Boolean terminateFlag) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); @@ -227,15 +237,18 @@ return this.orderSampleRelationMapper.update(businessOrderSampleRelation, queryWrapper); } - //判断不是自检 - private Boolean noSelfMeasure(DeviceDispatchVO dispatchVO) { - if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType()) && (dispatchVO.getMeasureType().equals("1") || dispatchVO.getMeasureType().equals("2"))) { - String currentSegment = dispatchVO.getMeasureType().equals("1") ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; - dispatchVO.setCurrentSegment(currentSegment); - return true; - } else { - return false; + /** + * 判断不是自检 + */ + 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; + dispatchVO.setCurrentSegment(currentSegment); + return true; + } } + return false; } private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { @@ -250,8 +263,10 @@ request.setEndTime(null); } - // 判断样品是完成或接收状态,直接显示即可 - private Boolean checkSampleFinshStauts(DeviceDispatchVO dispatchVO) { + /** + * 判断样品是完成或接收状态,直接显示即可 + */ + private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); 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 eecf207..4f06678 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 @@ -28,6 +28,9 @@ import javax.servlet.http.HttpServletResponse; import java.util.List; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -58,7 +61,7 @@ @Override public ReturnDTO deleteAdvice(Long id) { - Integer deleteFlag = customerAdviceMapper.deleteById(id); + int deleteFlag = customerAdviceMapper.deleteById(id); if (deleteFlag > 0) { return ReturnUtil.success(); } @@ -67,7 +70,7 @@ @Override public ReturnDTO updateAdvice(CustomerAdviceInfo customerAdviceInfo) { - Integer updateFlag = customerAdviceMapper.updateById(customerAdviceInfo); + int updateFlag = customerAdviceMapper.updateById(customerAdviceInfo); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -77,7 +80,7 @@ @Override public ReturnDTO addAdvice(CustomerAdviceInfo customerAdviceInfo) { initCustomerAdviceInfo(customerAdviceInfo); - Integer addFlag = customerAdviceMapper.insert(customerAdviceInfo); + int addFlag = customerAdviceMapper.insert(customerAdviceInfo); if (addFlag > 0) { return ReturnUtil.success(); } 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 79a776b..3bbcaaf 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 @@ -55,7 +55,7 @@ public Page listPage(Page page, CustomerSampleListRequest request) throws Exception { QueryWrapper wrapper = listParamWrapper(request); Page customerSamplePage = customerSampleListResponseMapper.selectPage(page, wrapper); - customerSamplePage.getRecords().stream() + customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { @@ -72,26 +72,30 @@ return customerSamplePage; } - //新增样品表,同时新增样品委托书关联状态表 + /** + * 新增样品表,同时新增样品委托书关联状态表 + */ @Override @Transactional public ReturnDTO addSample(CustomerSampleInfo customerSampleInfo) { initSample(customerSampleInfo); - Integer addFlag = this.baseMapper.insert(customerSampleInfo); + int addFlag = this.baseMapper.insert(customerSampleInfo); if (addFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //更新样品表,同时更新样品委托书关联状态表 + /** + * 更新样品表,同时更新样品委托书关联状态表 + */ @Override @Transactional public ReturnDTO updateSample(CustomerSampleInfo customerSampleInfo) { AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setUpdateUser(authUser.getId()); initSample(customerSampleInfo); - Integer updateFlag = this.baseMapper.updateById(customerSampleInfo); + int updateFlag = this.baseMapper.updateById(customerSampleInfo); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -110,8 +114,6 @@ /** * 只导出样品列表信息 * - * @param request - * @param response */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -148,9 +150,8 @@ } @Override - @Transactional public ReturnDTO deleteSample(Long id) { - Integer deleteFalg = this.baseMapper.deleteById(id); + int deleteFalg = this.baseMapper.deleteById(id); if (deleteFalg > 0) { return ReturnUtil.success(); } @@ -158,12 +159,12 @@ } @Override - public Page mesureRecordsBySampleId(Long id) { + public Page measureRecordsBySampleId(Long id) { Page page = PageFactory.defaultPage(); QueryWrapper wrapper = new QueryWrapper() .eq("sample_id", id); - Page mesureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); - return mesureRecordsResponsePage; + Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + return measureRecordsResponsePage; } @Override @@ -197,12 +198,12 @@ 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());//样品所属 - queryWrapper.like(StringUtils.isNotBlank(request.getSampleModel()), "sample_model", request.getSampleModel());//样品型号 - queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName());//委托方名称 - queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo());//委托方代码 + 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()); + queryWrapper.like(StringUtils.isNotBlank(request.getSampleModel()), "sample_model", request.getSampleModel()); + 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"), "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); 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 62c4a00..32d4dee 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 @@ -70,7 +70,7 @@ @Transactional public ReturnDTO addCustomer(CustomerInfo customerInfo) { initCustomerInfo(customerInfo); - Integer addFlag = this.baseMapper.insert(customerInfo); + int addFlag = this.baseMapper.insert(customerInfo); Boolean userAddFlag = userInfoListCreator(customerInfo.getCustomerUserList(), customerInfo.getId()); if (addFlag > 0 && userAddFlag) { return ReturnUtil.success(); @@ -84,7 +84,7 @@ AuthUser authUser = ShiroKit.getUser(); customerInfo.setUpdateUser(authUser.getId()); userInfoListDeletor(customerInfo.getId()); - Integer updateFlag = this.baseMapper.updateById(customerInfo); + int updateFlag = this.baseMapper.updateById(customerInfo); Boolean userUpdateFlag = userInfoListCreator(customerInfo.getCustomerUserList(),customerInfo.getId()); if (updateFlag > 0 && userUpdateFlag) { return ReturnUtil.success(); @@ -102,7 +102,7 @@ @Override public ReturnDTO deleteCustomer(Long id) { CustomerInfo customerInfo = this.baseMapper.selectById(id); - Integer deleteFlag = this.baseMapper.deleteById(id); + int deleteFlag = this.baseMapper.deleteById(id); userInfoListDeletor(customerInfo.getId()); if (deleteFlag > 0) { return ReturnUtil.success(); @@ -116,8 +116,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("customer_id", customerId); queryWrapper.orderByDesc("create_time"); - Page sampleRecordsResponsePage = sampleRecordsResponseMapper.selectPage(page, queryWrapper); - return sampleRecordsResponsePage; + return sampleRecordsResponseMapper.selectPage(page, queryWrapper); } @@ -129,9 +128,8 @@ @Override//暂定不做 public Page mesureRecordsByCustomerId(Long customerId) { - Page mesureRecordsResponsePage = PageFactory.defaultPage(); - - return mesureRecordsResponsePage; + Page measureRecordsResponsePage = PageFactory.defaultPage(); + return measureRecordsResponsePage; } @Override @@ -139,8 +137,7 @@ Page page = PageFactory.defaultPage(); QueryWrapper wrapper = new QueryWrapper() .eq("customer_id", customerId); - Page certificationResponsePage = certificationMapper.selectPage(page, wrapper); - return certificationResponsePage; + return certificationMapper.selectPage(page, wrapper); } @Override @@ -185,8 +182,7 @@ private List customerUserDetail(Long id) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("customer_id", id); - List customerUserInfoList = customerUserMapper.selectList(queryWrapper); - return customerUserInfoList; + return customerUserMapper.selectList(queryWrapper); } private void userInfoListDeletor(Long customerId) { @@ -197,12 +193,12 @@ private Boolean userInfoListCreator(List userInfoList, Long id) { Long maxUserNo = customerUserMapper.selectMaxUserNo(); - Boolean userUpdateFlag = true; + boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); customerUserInfo.setUserNo(customerNo); - Integer userAddNum = customerUserMapper.insert(customerUserInfo); + int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { userUpdateFlag = false; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java index d816cb8..c9997c5 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java @@ -11,6 +11,9 @@ import java.util.*; import java.util.stream.Collectors; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -24,8 +27,7 @@ Map trendMap = sampleList.stream().collect( Collectors.toMap(e -> String.valueOf(e.get("increaseTime")), e -> String.valueOf(e.get("count"))) ); - List trendResponseList = recentYearBuilder(trendMap); - return trendResponseList; + return recentYearBuilder(trendMap); } @Override @@ -34,8 +36,7 @@ Map trendMap = sampleList.stream().collect( Collectors.toMap(e -> String.valueOf(e.get("expireTime")), e -> String.valueOf(e.get("count"))) ); - List trendResponseList = recentYearBuilder(trendMap); - return trendResponseList; + return recentYearBuilder(trendMap); } @Override @@ -44,8 +45,7 @@ Map trendMap = sampleList.stream().collect( Collectors.toMap(e -> String.valueOf(e.get("increaseTime")), e -> String.valueOf(e.get("count"))) ); - List trendResponseList = recentYearBuilder(trendMap); - return trendResponseList; + return recentYearBuilder(trendMap); } // 鉴定金额暂时没有表设计,loading... @@ -64,10 +64,10 @@ Calendar endDate = Calendar.getInstance(); endDate.setTime(new Date()); while (beginDate.getTime().compareTo(endDate.getTime()) <= 0) { - WorkbenceTrendResponse workbenceResponse = new WorkbenceTrendResponse(); - workbenceResponse.setDate(sdf2.format(beginDate.getTime())); - workbenceResponse.setCount(trendMap.containsKey(sdf1.format(beginDate.getTime())) ? trendMap.get(sdf1.format(beginDate.getTime())) : "0"); - mapList.add(workbenceResponse); + WorkbenceTrendResponse workBenchResponse = new WorkbenceTrendResponse(); + workBenchResponse.setDate(sdf2.format(beginDate.getTime())); + workBenchResponse.setCount(trendMap.containsKey(sdf1.format(beginDate.getTime())) ? trendMap.get(sdf1.format(beginDate.getTime())) : "0"); + mapList.add(workBenchResponse); beginDate.add(Calendar.MONTH, 1); } return mapList; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 09eee0f..c4b3d7a 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -67,11 +67,17 @@ WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} @@ -88,11 +94,17 @@ SELECT * FROM meter_train_plan WHERE is_del = 0 - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} 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 04ed845..d04eb14 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 @@ -90,5 +90,4 @@ @ApiModelProperty(value = "回退状态(已收入的状态) 1真0假", dataType = "Integer") private Integer FallbackState; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java new file mode 100644 index 0000000..b06975f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java @@ -0,0 +1,16 @@ +package com.casic.missiles.dto.business.order; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OrderCancelRequest { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") + private String reason; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java index 9662eb8..d6206c5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java @@ -4,13 +4,18 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.List; +/** + * @author cz + */ @Data @ApiModel("设备接收") public class CertificateListRequest { @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") + @NotBlank(message = "表单id不能为空") private String formId; @ApiModelProperty(value = "证书编号", dataType = "String") @@ -20,7 +25,7 @@ private String orderNo; @ApiModelProperty(value = "委托方名称", dataType = "String") - private String cutomerName; + private String customerName; @ApiModelProperty(value = "样品编号", dataType = "String") private String sampleNo; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java index 28c6d26..bacfc56 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java @@ -58,8 +58,14 @@ /** * 创建时间 */ - @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 表单id diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index 9528373..cd1066f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,7 +114,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index b1048c1..bf75da4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,8 +111,8 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; /** * 可选决策项 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java index 9d1f2f0..8f0bfce 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java @@ -25,14 +25,26 @@ /** * 培训时间 */ - @ApiModelProperty(value = "培训时间(查询出该时间前列表倒序)", dataType = "String") - private String trainTime; + @ApiModelProperty(value = "培训开始时间", dataType = "String") + private String trainStartTime; + + /** + * 培训时间 + */ + @ApiModelProperty(value = "培训结束时间", dataType = "String") + private String trainEndTime; /** * 创建时间 */ - @ApiModelProperty(value = "创建时间(查询出该时间前列表倒序)", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 组织部门id-系统组织表 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 8893256..847993f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -117,6 +117,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java new file mode 100644 index 0000000..17e0770 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java @@ -0,0 +1,37 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@TableName("business_deal_record") +@ApiModel("委托书操作记录") +@AllArgsConstructor +@Builder +@Data +public class BusinessDealRecord { + + private Long id; + + @ApiModelProperty("委托书id") + private Long orderId; + + @ApiModelProperty("原因") + private String recordContent; + + private Long createUser; + + @ApiModelProperty("操作人名称") + private String createUserName; + + @ApiModelProperty("创建时间") + private String createTime; + + @ApiModelProperty("备注") + private String remark; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java index 8778b11..9e960f6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java @@ -87,6 +87,9 @@ private Integer isDel; + @ApiModelProperty(value = "最后更新人员", dataType = "String") + private Long updateUser; + @ApiModelProperty(value = "创建人", dataType = "String") private Long createUser; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java new file mode 100644 index 0000000..6572d23 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java @@ -0,0 +1,31 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * @author cz + */ +@Data +@TableName("business_order_record") +public class BusinessOrderRecord { + + private Long id; + + private Long orderId; + + /** + * 记录内容 + */ + private String recordTContent; + + /** + * 创建人id + */ + private Long createUser; + + /** + * 创建人时间 + */ + private String createTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java index ae324f0..ffc21af 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java @@ -146,7 +146,7 @@ private String remark; /** - * 流程定义id + * 流程实例id */ @ApiModelProperty(value = "流程实例id(未通过培训计划编辑接口必传参数)", dataType = "String") @TableField("process_id") 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 a0cceda..230c779 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 @@ -1,7 +1,6 @@ package com.casic.missiles.service.Impl.business; import cn.hutool.core.lang.Assert; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; @@ -15,14 +14,12 @@ import com.casic.missiles.dto.business.print.CertificateListRequest; import com.casic.missiles.dto.business.print.CertificateListResponse; import com.casic.missiles.dto.business.print.CertificateRefusePrintRequest; -import com.casic.missiles.dto.flowable.AllApproveDTO; 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.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -40,6 +37,9 @@ import java.util.*; import java.util.stream.Collectors; +/** + * @author cz + */ @Service @AllArgsConstructor public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { @@ -81,16 +81,19 @@ } @Override - @Transactional - public ReturnDTO agreeAginPrint(ApprovalAgreeRequest request) { - ReturnDTO returnDTO = approvalOperateService.agree(request); - return returnDTO; + public ReturnDTO agreeAgainPrint(ApprovalAgreeRequest request) { + return approvalOperateService.agree(request); } + /** + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * + * @return + */ @Override @Transactional public ReturnDTO refuseAgainPrint(CertificateRefusePrintRequest request) { - ApprovalRefuseRequest approvalRefuseRequest=new ApprovalRefuseRequest(); + ApprovalRefuseRequest approvalRefuseRequest = new ApprovalRefuseRequest(); approvalRefuseRequest.setTaskId(request.getTaskId()); approvalRefuseRequest.setComments(request.getComments()); ReturnDTO returnDTO = approvalOperateService.refuse(approvalRefuseRequest); @@ -99,8 +102,9 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setPrintStatus("2");//设置为不能打印 - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //设置为不能打印 + certificateReport.setPrintStatus("2"); + certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -108,7 +112,9 @@ return ReturnUtil.success(); } - //提交审批流程,修改证书审批状态、修改打印状态 + /** + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + */ @Transactional @Override public ReturnDTO submitAgainPrint(BaseApprovalSubmitRequest request) { @@ -119,8 +125,10 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //审批状态为审批中 - certificateReport.setPrintStatus("3"); //打印状态审批中 + //审批状态为审批中 + certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //打印状态审批中 + certificateReport.setPrintStatus("3"); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -128,13 +136,14 @@ return ReturnUtil.success(); } - //可打印:只需要查询可打印状态即可 - //查询工作流 + /** + * 可打印:只需要查询可打印状态即可,待审批状态,查询工作流,同时传输任务id + */ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)) { handlerBeApproved(approvalList, page, request); - } else if (request.getPrintStatus().equals("0")) { + } else if("0".equals(request.getPrintStatus())) { request.setApprovalStatus(null); approvalList.setRecords(this.baseMapper.selectBatchForApprovalList(page, request, null)); } else { @@ -147,18 +156,9 @@ return approvalList; } - private Page handleAllApprovalListResponse(Page approvalList, List allApproveList) { - Map taskMap = allApproveList.stream().collect(Collectors.toMap(AllApproveDTO::getBusinessKey, AllApproveDTO::getStatus)); - //状态补全 - approvalList.getRecords().forEach(approval -> { - approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); - approval.setApprovalStatus(taskMap.get(String.valueOf(approval.getId()))); - }); - //排序 - approvalList.setRecords(approvalList.getRecords().stream().sorted(Comparator.comparing(CertificateListResponse::getCreateTime).reversed()).collect(Collectors.toList())); - return approvalList; - } - + /** + * 查询待审批状态的打印证书,查询业务主键信息,据此查询相应的证书,并填充相应的工作流状态 + */ private Page handlerBeApproved(Page approvalList, Page page, CertificateListRequest request) { List businessKeys = new ArrayList<>(); List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); @@ -179,11 +179,4 @@ return approvalList; } - private void handleApprovalListResponse(Page approvalList, String status) { - approvalList.getRecords().stream().forEach(result -> { - //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 - result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); - }); - } - } 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 b397f83..859010b 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 @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.business; -import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -46,7 +45,9 @@ private final IBaseExportService iBaseExportService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; - //** 送检人查询条件不在设备交接单中,需要联查才可以实现 + /** + * 送检人查询条件不在设备交接单中,需要联查才可以实现 + */ @Override public Page exchangeListPage(Page page, InterchangeListRequest request) throws Exception { page.setRecords(this.baseMapper.selectInterchangeListPage(page, request)); @@ -54,7 +55,8 @@ } @Override - public BusinessInterchangeDetailResponse exchangeDetail(Long id) { ; + public BusinessInterchangeDetailResponse exchangeDetail(Long id) { + ; BusinessInterchangeDetailResponse businessExchange = this.baseMapper.getInfoById(id); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", businessExchange.getOrderId()); @@ -71,19 +73,21 @@ @Override @Transactional public ReturnDTO deleteExchange(Long id) { - Integer deleteFlag = this.baseMapper.deleteById(id); - //交接单绑定的肯定有样品,所以samplUpdateFlag肯定为true - Boolean samplUpdateFlag = sampleStatusDeletor(id) > 0; - if (deleteFlag > 0 && samplUpdateFlag) { + int deleteFlag = this.baseMapper.deleteById(id); + //交接单绑定的肯定有样品,所以sampleUpdateFlag肯定为true + boolean sampleUpdateFlag = sampleStatusDeletor(id) > 0; + if (deleteFlag > 0 && sampleUpdateFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //更新不对样品有任何操作 + /** + * 更新不对样品有任何操作 + */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { - Integer updateFlag = this.baseMapper.updateById(businessInterchange); + int updateFlag = this.baseMapper.updateById(businessInterchange); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -94,8 +98,8 @@ @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { populationExchange(businessInterchange); - Integer addFlag = this.baseMapper.insert(businessInterchange); - Boolean sampleAddFlag = true; + int addFlag = this.baseMapper.insert(businessInterchange); + boolean sampleAddFlag = true; if (!CollectionUtils.isEmpty(businessInterchange.getCustomerSampleList())) { for (CustomerSampleListVO sampleInfo : businessInterchange.getCustomerSampleList()) { sampleAddFlag = sampleAddFlag && sampleStatusUpdator(sampleInfo, businessInterchange.getId()) > 0; 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 3bd316c..585a207 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 @@ -215,13 +215,7 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - Map resultMap = SqlRunner.db().selectOne( - "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + - "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + - "JOIN sys_user su ON srr.USERID = su.ID " + - "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + - "WHERE su.ID = {0}" + - "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + Map resultMap = selectDirectDept(user); if(CollectionUtils.isEmpty(resultMap) || Objects.isNull(resultMap.get("deptId"))){ return new Page<>(); } @@ -390,16 +384,7 @@ Long maxNo = labExecutiveTemplateInfoMapper.selectMaxTemplateNo(); for (int i = 0; i < labExecutiveInfos.size(); i++) { BusinessLabExecutiveInfo lab = labExecutiveInfos.get(i); - BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); - templateInfo.setTemplateCode(templateCode); -// templateInfo.setSampleTypeId(); - templateInfo.setSampleId(lab.getSampleId()); - templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); - templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); -// templateInfo.setMeasureItem(); - templateInfo.setExecuteSequence(lab.getMeasureSequence()); -// templateInfo.setCreateUser(); + BusinessLabExecutiveTemplateInfo templateInfo = getBusinessLabExecutiveTemplateInfo(maxNo, i, lab); labList.add(templateInfo); } if(labExecutiveTemplateInfoService.saveBatch(labList)) log.info("实验室检测记录批量保存为实验室检测模板成功"); @@ -422,6 +407,20 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { + BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); + String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + templateInfo.setTemplateCode(templateCode); +// templateInfo.setSampleTypeId(); + templateInfo.setSampleId(lab.getSampleId()); + templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); + templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); +// templateInfo.setMeasureItem(); + templateInfo.setExecuteSequence(lab.getMeasureSequence()); +// templateInfo.setCreateUser(); + return templateInfo; + } + @Override public ReturnDTO updateExecutiveList(UpdateExecutiveListRequest request) { //删除前端已删除的ids @@ -469,7 +468,6 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - //登录用户id获取计量人员id,实验室检测信息中存储的是计量人员id MeterStaff meterStaff = getMeterStaffInfo(user); if(Objects.isNull(meterStaff)) throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_NOT_STAFF); Long userId = meterStaff.getId(); @@ -510,7 +508,6 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - //登录用户id获取计量人员id,实验室检测信息中存储的是计量人员id MeterStaff meterStaff = getMeterStaffInfo(user); if(Objects.isNull(meterStaff)) throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_NOT_STAFF); Long userId = meterStaff.getId(); @@ -518,15 +515,7 @@ //删除实验室检测列表中退回数据 int deleteFlag = labExecutiveInfoMapper.deleteById(request.getId()); //退回操作记录表中增加数据 - BusinessLabExecutiveOperateLog operateLog = new BusinessLabExecutiveOperateLog(); - operateLog.setOrderId(request.getOrderId()); - operateLog.setSampleId(request.getSampleId()); - operateLog.setMeasureDeptId(request.getMeasureSegmentId()); - operateLog.setMeasurePersonId(request.getMeasurePersonId()); - operateLog.setOperatePersonId(userId); - operateLog.setOperatePersonName(user.getName()); - operateLog.setMeasureStatus(MeasureStatusEnum.SEND_BACK); - operateLog.setOperateReason(request.getOperateReason()); + BusinessLabExecutiveOperateLog operateLog = getBusinessLabExecutiveOperateLog(request, user, userId); int insertFlag = labExecutiveOperateLogMapper.insert(operateLog); if(deleteFlag > 0 && insertFlag > 0){ //退回后会将下一个要执行的实验室检测状态更新为待分配,将后面的实验室顺序变更为连续(都进行减1) @@ -596,4 +585,29 @@ } }); } + + private Map selectDirectDept(AuthUser user) { + Map resultMap = SqlRunner.db().selectOne( + "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON srr.USERID = su.ID " + + "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + + "WHERE su.ID = {0}" + + "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + return resultMap; + } + + private BusinessLabExecutiveOperateLog getBusinessLabExecutiveOperateLog(ExecutiveSendBackRequest request, AuthUser user, Long userId) { + BusinessLabExecutiveOperateLog operateLog = new BusinessLabExecutiveOperateLog(); + operateLog.setOrderId(request.getOrderId()); + operateLog.setSampleId(request.getSampleId()); + operateLog.setMeasureDeptId(request.getMeasureSegmentId()); + operateLog.setMeasurePersonId(request.getMeasurePersonId()); + operateLog.setOperatePersonId(userId); + operateLog.setOperatePersonName(user.getName()); + operateLog.setMeasureStatus(MeasureStatusEnum.SEND_BACK); + operateLog.setOperateReason(request.getOperateReason()); + return operateLog; + } + } 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 f6b3933..48742b4 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 @@ -9,14 +9,17 @@ import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.ExportEnum; import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; import com.casic.missiles.mapper.business.BusinessOrderMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -49,18 +52,19 @@ @AllArgsConstructor public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { - private final BusinessOrderListReponseMapper orderListReponseMapper; + private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; private final CustomerSampleService customerSampleService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; + private final BusinessDealRecordMapper dealRecordMapper; /** * 1、分页查询 2、批量查询所有的委托书、样品关系 => 进行以sampleId为key主键map list 3、查询计算样品数量 */ @Override public Page orderListPage(Page page, OrderListRequest request) throws Exception { - QueryWrapper wrapper = listParamWrapper(request); - Page resultPage = this.orderListReponseMapper.selectPage(page, wrapper); + QueryWrapper wrapper = listParamWrapperBuilder(request); + Page resultPage = this.orderListResponseMapper.selectPage(page, wrapper); List orderSampleList = sampleRelationMapper.selectList(null); Map> orderSampleMap = orderSampleList.stream().collect( Collectors.groupingBy(BusinessOrderSampleRelation::getOrderId) @@ -74,7 +78,9 @@ return resultPage; } - // 1、查询委托书详情 2、对样品列表进行查询 3、设置默认在库标志 + /** + * 1、查询委托书详情 2、对样品列表进行查询 3、设置默认在库标志 + */ @Override public BusinessOrder orderDetail(Long id) { BusinessOrder businessOrder = this.baseMapper.selectById(id); @@ -91,29 +97,24 @@ return businessOrder; } - @Override - public ReturnDTO deleteOrder(Long id) { - Integer deleteFlag = this.baseMapper.deleteById(id); - if (deleteFlag > 0) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - - // 删除样品和委托书的明细关系,填充传输的明细样品数据, - // 对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + /** + * 1、删除样品和委托书的明细关系,填充传输的明细样品数据 + * 2、对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + */ @Override public ReturnDTO updateOrder(BusinessOrder businessOrder) { - Integer updateFlag = this.baseMapper.updateById(businessOrder); - this.sampleStatusDeletor(businessOrder.getId()); - Boolean sampleUpdateFlag = true; + AuthUser authUser = ShiroKit.getUser(); + businessOrder.setUpdateUser(authUser.getId()); + int updateFlag = this.baseMapper.updateById(businessOrder); + this.deleteSampleById(businessOrder.getId()); + boolean sampleUpdateFlag = true; this.doSampleListPopulation(businessOrder); for (CustomerSampleInfo sampleInfo : businessOrder.getCustomerSampleInfoList()) { sampleInfo.setDeliverer(businessOrder.getDeliverer()); sampleInfo.setDelivererTel(businessOrder.getDelivererTel()); - if (sampleInfo.getIsExistSample().equals("0")) { + if ("0".equals(sampleInfo.getIsExistSample())) { ReturnDTO returnDTO = customerSampleService.addSample(sampleInfo); - sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode().equals("200"); + sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode().equals(200); } else { ReturnDTO returnDTO = customerSampleService.updateSample(sampleInfo); sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode() == 200; @@ -126,25 +127,27 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //删除样品和委托书的明细关系,填充传输的明细样品数据, - // 对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + /** + * 1、删除样品和委托书的明细关系,填充传输的明细样品数据 + * 2、对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + */ @Override @Transactional public ReturnDTO addOrder(BusinessOrder businessOrder) { initOrderInfo(businessOrder); - Integer addFlag = this.baseMapper.insert(businessOrder); - Boolean sampleAddFlag = true; - this.sampleStatusDeletor(businessOrder.getId()); + int addFlag = this.baseMapper.insert(businessOrder); + boolean sampleAddFlag = true; + this.deleteSampleById(businessOrder.getId()); this.doSampleListPopulation(businessOrder); for (CustomerSampleInfo sampleInfo : businessOrder.getCustomerSampleInfoList()) { sampleInfo.setDeliverer(businessOrder.getDeliverer()); sampleInfo.setDelivererTel(businessOrder.getDelivererTel()); - if (sampleInfo.getIsExistSample().equals("0")) { + if ("0".equals(sampleInfo.getIsExistSample())) { ReturnDTO returnDTO = customerSampleService.addSample(sampleInfo); - sampleAddFlag = sampleAddFlag && returnDTO.getCode() == 200; + sampleAddFlag = sampleAddFlag && returnDTO.getCode().equals(200); } else { ReturnDTO returnDTO = customerSampleService.updateSample(sampleInfo); - sampleAddFlag = sampleAddFlag && returnDTO.getCode() == 200; + sampleAddFlag = sampleAddFlag && returnDTO.getCode().equals(200); } sampleAddFlag = sampleAddFlag && sampleStatusCreator(sampleInfo.getOrderId(), sampleInfo.getMeasureContent(), sampleInfo.getId()) > 0; } @@ -154,58 +157,135 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //如查询说明,补充对是否加急的excel文档表现 + /** + * 1、判断是否存在ids,进行其他参数属性的初始化 + * 2、查询查询构建 + * 3、查询样品关系,构建委托书样品数量map集合 + * 4、字典值进行状态转化 + */ @Override public void orderExport(OrderListRequest request, HttpServletResponse response) { try { - List orderListReponseList; + List orderResponseList; if (!CollectionUtils.isEmpty(request.getIds())) { - orderListReponseList = orderListReponseMapper.selectBatchIds(request.getIds()); + orderResponseList = orderListResponseMapper.selectBatchIds(request.getIds()); } else { - QueryWrapper wrapper = listParamWrapper(request); - orderListReponseList = this.orderListReponseMapper.selectList(wrapper); + QueryWrapper wrapper = listParamWrapperBuilder(request); + orderResponseList = this.orderListResponseMapper.selectList(wrapper); } + //查询样品关系,构建委托书样品数量map集合, List orderSampleList = sampleRelationMapper.selectList(null); Map> orderSampleMap = orderSampleList.stream().collect( Collectors.groupingBy(BusinessOrderSampleRelation::getOrderId) ); - orderListReponseList.forEach( + orderResponseList.forEach( orderSample -> orderSample.setSampleCount(orderSampleMap.containsKey(orderSample.getId()) ? orderSampleMap.get(orderSample.getId()).size() : 0) ); - for (OrderListReponse orderListReponse : orderListReponseList) { - orderListReponse.setIsUrgent(orderListReponse.getIsUrgent().equals("1") ? "是" : "否"); + //字典转换 + for (OrderListReponse orderListReponse : orderResponseList) { + orderListReponse.setIsUrgent("1".equals(orderListReponse.getIsUrgent()) ? "是" : "否"); DictCodeUtils.convertDictCodeToName(orderListReponse); } - iBaseExportService.exportExcel(response, OrderListReponse.class, orderListReponseList, ExportEnum.ORDER_EXPORT.getSheetName()); + iBaseExportService.exportExcel(response, OrderListReponse.class, orderResponseList, ExportEnum.ORDER_EXPORT.getSheetName()); } catch (Exception ex) { log.error("委托书导出出现异常,异常信息为{}", ex); } } + /** + * 通过状态对委托书状态进行更新 + */ @Override - public ReturnDTO updateStatusById(Long id, String status) { - BusinessOrder businessOrder = new BusinessOrder(); - businessOrder.setId(id); - businessOrder.setStatus(status); - Integer updateFlag = this.baseMapper.updateById(businessOrder); - if (updateFlag > 0) { + public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { + int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); + int addDealRecordFlag = addDealRecord(orderCancelRequest); + if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 取消记录,修改委托书状态,同时生成委托书操作日志,供用户查询 + */ + @Override + @Transactional + public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int addDealRecordFlag = addDealRecord(orderCancelRequest); + if (updateFlag > 0 && addDealRecordFlag > 0) { + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + /** + * 操作记录的查询 + */ + @Override + public List optionRecord(Long id) { + QueryWrapper dealRecordQueryWrapper = new QueryWrapper() + .eq("order_id", id); + return dealRecordMapper.selectList(dealRecordQueryWrapper); + } + + /** + * 新增操作记录 + */ + private int addDealRecord(OrderCancelRequest orderCancelRequest) { + AuthUser authUser = ShiroKit.getUser(); + BusinessDealRecord businessDealRecord = BusinessDealRecord.builder() + .createUser(authUser.getId()) + .createUserName(authUser.getName()) + .recordContent(reasonConvert(orderCancelRequest.getReason())) + .orderId(orderCancelRequest.getId()) + .build(); + return dealRecordMapper.insert(businessDealRecord); + } + + /** + * 强调正在做状态更新 + */ + private int doUpdateStatusById(Long orderId, String status) { + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(orderId); + businessOrder.setStatus(status); + AuthUser authUser = ShiroKit.getUser(); + businessOrder.setUpdateUser(authUser.getId()); + return this.baseMapper.updateById(businessOrder); + } + + /** + * 原因字典转化为相应的值 + */ + private String reasonConvert(String reasonIds) { + String reasonStr = ""; + if (StringUtils.isEmpty(reasonIds)) { + return reasonStr; + } + String[] reasonIdList = reasonIds.split(","); + for (String reasonId : reasonIdList) { + String reasonContent = dealRecordMapper.getDictContent(reasonId); + reasonStr = reasonStr + reasonContent + ","; + } + return reasonStr.substring(0, reasonStr.length() - 1); + } + private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); + businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); businessOrder.setStatus("1"); } - - private QueryWrapper listParamWrapper(OrderListRequest request) { + /** + * 委托书列表查询构建方法 + */ + private QueryWrapper listParamWrapperBuilder(OrderListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getDeliverer()), "deliverer", request.getDeliverer()); @@ -223,21 +303,19 @@ return queryWrapper; } - private Integer sampleStatusDeletor(Long orderId) { + private int deleteSampleById(Long orderId) { QueryWrapper sampleStatusRelationWrapper = new QueryWrapper() .eq("order_id", orderId); - Integer sampleStatus = this.sampleRelationMapper.delete(sampleStatusRelationWrapper); - return sampleStatus; + return this.sampleRelationMapper.delete(sampleStatusRelationWrapper); } - private Integer sampleStatusCreator(Long orderId, String measureContent, Long sampleId) { + private int sampleStatusCreator(Long orderId, String measureContent, Long sampleId) { BusinessOrderSampleRelation sampleStatusPopulation = new BusinessOrderSampleRelation(); sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); sampleStatusPopulation.setMeasureType("1"); - Integer sampleStatus = this.sampleRelationMapper.insert(sampleStatusPopulation); - return sampleStatus; + return this.sampleRelationMapper.insert(sampleStatusPopulation); } private void doSampleListPopulation(BusinessOrder businessOrder) { @@ -249,4 +327,5 @@ } ); } + } 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 e922dc2..07c88e9 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 com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -11,8 +12,6 @@ import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; -import com.casic.missiles.dto.business.interchange.InterchangeListResponse; -import com.casic.missiles.dto.meter.TrainPlanApprovalListResponse; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; @@ -21,20 +20,22 @@ import com.casic.missiles.mapper.business.*; import com.casic.missiles.model.business.*; import com.casic.missiles.service.business.IBusinessDispatchService; -import com.casic.missiles.utils.ConvertUtils; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.util.ObjectUtils; -import org.springframework.util.StringUtils; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Objects; import java.util.Optional; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -45,84 +46,59 @@ private final BusinessLabExecutiveInfoMapper labExecutiveInfoMapper; private final IBaseExportService iBaseExportService; - //终止、回退、收入、归还、催办按钮 - //列表返回只需要控制已收入回退按钮显示的权限即可,其中回退在没有任何实验室进行的情况,可以进行设备的回退 + /** + * 终止、回退、收入、归还、催办按钮 + * 列表返回只需要控制已收入回退按钮显示的权限即可,其中回退在没有任何实验室进行的情况,可以进行设备的回退 + */ @Override public Page listPage(Page page, DeviceDispatchDTO request) { -// //查询委托书和样品关联表中的各状态的样品 - Page dispatchVOPage = orderSampleRelationMapper.getSampleListByStatus(page, request); + //查询委托书和样品关联表中的各状态的样品 + Page dispatchVoPage = orderSampleRelationMapper.getSampleListByStatus(page, request); log.info("设备收发-当前查询样品状态为:{}", request.getSampleStatus()); - List records = dispatchVOPage.getRecords(); + List records = dispatchVoPage.getRecords(); if (CollectionUtils.isEmpty(records)) { return new Page<>(); } - doDispatchVOPagePopution(records, request); - return dispatchVOPage; - } - - - //进行已收入分页的当前环节回填、出具证书回填 - private void doDispatchVOPopulation(DeviceDispatchVO dispatchVO, Long sampleId, Long orderId) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); - HandOutLabExecutiveDTO handOutLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); - Integer measureNumberStatus = labExecutiveInfoMapper.getMeasureNumberStatus(orderId, sampleId); - // - if (!Objects.isNull(handOutLabExecutiveDTO)) { - dispatchVO.setRequireCertifications(handOutLabExecutiveDTO.getRequireCertifications()); - dispatchVO.setCurrentSegment(handOutLabExecutiveDTO.getDeptName()); - Long measureDeptId = handOutLabExecutiveDTO.getMeasureDeptId(); - dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, measureDeptId)); - } else { - dispatchVO.setAlreadyCertifications(0); - dispatchVO.setRequireCertifications(ObjectUtils.isEmpty(measureNumberStatus) ? 0 : measureNumberStatus); - } - if (!ObjectUtils.isEmpty(measureNumberStatus) && measureNumberStatus > 0) { - dispatchVO.setFallbackState(0);//不可以进行回退 - } else { - dispatchVO.setFallbackState(1);//可以进行回退 - } + doPopulateDispatch(records, request); + return dispatchVoPage; } /** - * 重点填充类 - * - * @param dispatchVOPage - * @param request + * 分发列表填充 */ - private void doDispatchVOPagePopution(List dispatchVOPage, DeviceDispatchDTO request) { - dispatchVOPage.stream().forEach( + private void doPopulateDispatch(List dispatchVOPage, DeviceDispatchDTO request) { + dispatchVOPage.forEach( dispatchVO -> { Long orderId = dispatchVO.getOrderId(); Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && request.getSampleStatus().equals("8") && noSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { - //待分发状态,分发性质:有退回就是退回分发,当前检定环节:待分配,已出具证书:无,出具证书总数:无 + //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 case SampleStatusEnum.TO_HANDOUT: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //检测中状态,分发性质:无,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 + //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 case SampleStatusEnum.IN_MEASURE: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //检测完状态,分发性质:无,当前检定环节:完成,已出具证书:无,出具证书总数:无 + //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 case SampleStatusEnum.MEASURE_COMPLETE: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //超期样品(即检测超期,未在应检完时间检完),分发性质:无,当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 + doDispatchVoPopulation(dispatchVO, sampleId, orderId); + return; + //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 case SampleStatusEnum.BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); - Long deptId = overLabExecutiveDTO.getMeasureDeptId(); + Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); dispatchVO.setRequireCertifications(overLabExecutiveDTO.getRequireCertifications()); - if (checkSampleFinshStauts(dispatchVO)) { + // 判断样品是完成或接收状态,直接显示即可 + if (checkSampleFinishStatus(dispatchVO)) { return; } dispatchVO.setCurrentSegment(overLabExecutiveDTO.getDeptName()); break; + default: + break; } } ); @@ -131,8 +107,7 @@ @Override public void exportSampleDispatchList(DeviceDispatchDTO request, HttpServletResponse response) { try { - - Page deviceDispatchVOPage = PageFactory.defaultPage(); + Page deviceDispatchVOPage; if (!CollectionUtils.isEmpty(request.getIds())) { initDeviceDispatchDTOEmpty(request); } else { @@ -150,29 +125,59 @@ } + /** + * 状态更新 + */ @Override public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer updateFalg = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFalg > 0) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - - //终止操作,不仅更新状态,同时进行实验室状态的更新 - @Override - @Transactional - public ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, true); - //实验室状态数据的更新 - reasonPopulation(deviceStatusChangeDTO); + Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); if (updateFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - private void reasonPopulation(DeviceStatusChangeDTO deviceStatusChangeDTO) { + /** + * 终止操作,不仅更新状态,同时进行实验室状态原因的更新 + */ + @Override + @Transactional + public ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO) { + Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, true); + //实验室状态数据的更新 + updateLabExecutiveInfo(deviceStatusChangeDTO); + if (updateFlag > 0) { + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + /** + * 进行已收入分页的当前环节回填、出具证书回填 + */ + private void doDispatchVoPopulation(DeviceDispatchVO dispatchVO, Long sampleId, Long orderId) { + dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + HandOutLabExecutiveDTO handOutLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); + Integer measureNumberStatus = labExecutiveInfoMapper.getMeasureNumberStatus(orderId, sampleId); + //证书,当前环节的回填 + if (!Objects.isNull(handOutLabExecutiveDTO)) { + dispatchVO.setRequireCertifications(handOutLabExecutiveDTO.getRequireCertifications()); + dispatchVO.setCurrentSegment(handOutLabExecutiveDTO.getDeptName()); + Long measureDeptId = handOutLabExecutiveDTO.getMeasureDeptId(); + dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, measureDeptId)); + } else { + dispatchVO.setAlreadyCertifications(0); + dispatchVO.setRequireCertifications(ObjectUtils.isEmpty(measureNumberStatus) ? 0 : measureNumberStatus); + } + //处于检测中、检测完、待检测的实验室大于0,不可以进行回退,否则可以进行回退 + if (!ObjectUtils.isEmpty(measureNumberStatus) && measureNumberStatus > 0) { + dispatchVO.setFallbackState(0); + } else { + dispatchVO.setFallbackState(1); + } + } + + private void updateLabExecutiveInfo(DeviceStatusChangeDTO deviceStatusChangeDTO) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); @@ -182,10 +187,13 @@ labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } + /** + * 消息催办 + */ @Override public ReturnDTO rushDoProcess(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer deleteFalg = this.baseMapper.deleteById(deviceStatusChangeDTO.getOrderId()); - if (deleteFalg > 0) { + int deleteFlag = this.baseMapper.deleteById(deviceStatusChangeDTO.getOrderId()); + if (deleteFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -203,7 +211,7 @@ return null; } Optional handOutLabExecutiveDTOOptional = labExecutiveList.stream().findFirst(); - return handOutLabExecutiveDTOOptional.isPresent() ? handOutLabExecutiveDTOOptional.get() : null; + return handOutLabExecutiveDTOOptional.orElse(null); } private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { @@ -214,7 +222,9 @@ return wrapper; } - //更新检测完成后,执行当前正在进行数据 + /** + * 更新检测完成后,执行当前正在进行数据 + */ private Integer statusChangeUpdator(DeviceStatusChangeDTO statusChangeDTO, Boolean terminateFlag) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); @@ -227,15 +237,18 @@ return this.orderSampleRelationMapper.update(businessOrderSampleRelation, queryWrapper); } - //判断不是自检 - private Boolean noSelfMeasure(DeviceDispatchVO dispatchVO) { - if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType()) && (dispatchVO.getMeasureType().equals("1") || dispatchVO.getMeasureType().equals("2"))) { - String currentSegment = dispatchVO.getMeasureType().equals("1") ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; - dispatchVO.setCurrentSegment(currentSegment); - return true; - } else { - return false; + /** + * 判断不是自检 + */ + 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; + dispatchVO.setCurrentSegment(currentSegment); + return true; + } } + return false; } private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { @@ -250,8 +263,10 @@ request.setEndTime(null); } - // 判断样品是完成或接收状态,直接显示即可 - private Boolean checkSampleFinshStauts(DeviceDispatchVO dispatchVO) { + /** + * 判断样品是完成或接收状态,直接显示即可 + */ + private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); 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 eecf207..4f06678 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 @@ -28,6 +28,9 @@ import javax.servlet.http.HttpServletResponse; import java.util.List; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -58,7 +61,7 @@ @Override public ReturnDTO deleteAdvice(Long id) { - Integer deleteFlag = customerAdviceMapper.deleteById(id); + int deleteFlag = customerAdviceMapper.deleteById(id); if (deleteFlag > 0) { return ReturnUtil.success(); } @@ -67,7 +70,7 @@ @Override public ReturnDTO updateAdvice(CustomerAdviceInfo customerAdviceInfo) { - Integer updateFlag = customerAdviceMapper.updateById(customerAdviceInfo); + int updateFlag = customerAdviceMapper.updateById(customerAdviceInfo); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -77,7 +80,7 @@ @Override public ReturnDTO addAdvice(CustomerAdviceInfo customerAdviceInfo) { initCustomerAdviceInfo(customerAdviceInfo); - Integer addFlag = customerAdviceMapper.insert(customerAdviceInfo); + int addFlag = customerAdviceMapper.insert(customerAdviceInfo); if (addFlag > 0) { return ReturnUtil.success(); } 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 79a776b..3bbcaaf 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 @@ -55,7 +55,7 @@ public Page listPage(Page page, CustomerSampleListRequest request) throws Exception { QueryWrapper wrapper = listParamWrapper(request); Page customerSamplePage = customerSampleListResponseMapper.selectPage(page, wrapper); - customerSamplePage.getRecords().stream() + customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { @@ -72,26 +72,30 @@ return customerSamplePage; } - //新增样品表,同时新增样品委托书关联状态表 + /** + * 新增样品表,同时新增样品委托书关联状态表 + */ @Override @Transactional public ReturnDTO addSample(CustomerSampleInfo customerSampleInfo) { initSample(customerSampleInfo); - Integer addFlag = this.baseMapper.insert(customerSampleInfo); + int addFlag = this.baseMapper.insert(customerSampleInfo); if (addFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //更新样品表,同时更新样品委托书关联状态表 + /** + * 更新样品表,同时更新样品委托书关联状态表 + */ @Override @Transactional public ReturnDTO updateSample(CustomerSampleInfo customerSampleInfo) { AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setUpdateUser(authUser.getId()); initSample(customerSampleInfo); - Integer updateFlag = this.baseMapper.updateById(customerSampleInfo); + int updateFlag = this.baseMapper.updateById(customerSampleInfo); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -110,8 +114,6 @@ /** * 只导出样品列表信息 * - * @param request - * @param response */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -148,9 +150,8 @@ } @Override - @Transactional public ReturnDTO deleteSample(Long id) { - Integer deleteFalg = this.baseMapper.deleteById(id); + int deleteFalg = this.baseMapper.deleteById(id); if (deleteFalg > 0) { return ReturnUtil.success(); } @@ -158,12 +159,12 @@ } @Override - public Page mesureRecordsBySampleId(Long id) { + public Page measureRecordsBySampleId(Long id) { Page page = PageFactory.defaultPage(); QueryWrapper wrapper = new QueryWrapper() .eq("sample_id", id); - Page mesureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); - return mesureRecordsResponsePage; + Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + return measureRecordsResponsePage; } @Override @@ -197,12 +198,12 @@ 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());//样品所属 - queryWrapper.like(StringUtils.isNotBlank(request.getSampleModel()), "sample_model", request.getSampleModel());//样品型号 - queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName());//委托方名称 - queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo());//委托方代码 + 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()); + queryWrapper.like(StringUtils.isNotBlank(request.getSampleModel()), "sample_model", request.getSampleModel()); + 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"), "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); 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 62c4a00..32d4dee 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 @@ -70,7 +70,7 @@ @Transactional public ReturnDTO addCustomer(CustomerInfo customerInfo) { initCustomerInfo(customerInfo); - Integer addFlag = this.baseMapper.insert(customerInfo); + int addFlag = this.baseMapper.insert(customerInfo); Boolean userAddFlag = userInfoListCreator(customerInfo.getCustomerUserList(), customerInfo.getId()); if (addFlag > 0 && userAddFlag) { return ReturnUtil.success(); @@ -84,7 +84,7 @@ AuthUser authUser = ShiroKit.getUser(); customerInfo.setUpdateUser(authUser.getId()); userInfoListDeletor(customerInfo.getId()); - Integer updateFlag = this.baseMapper.updateById(customerInfo); + int updateFlag = this.baseMapper.updateById(customerInfo); Boolean userUpdateFlag = userInfoListCreator(customerInfo.getCustomerUserList(),customerInfo.getId()); if (updateFlag > 0 && userUpdateFlag) { return ReturnUtil.success(); @@ -102,7 +102,7 @@ @Override public ReturnDTO deleteCustomer(Long id) { CustomerInfo customerInfo = this.baseMapper.selectById(id); - Integer deleteFlag = this.baseMapper.deleteById(id); + int deleteFlag = this.baseMapper.deleteById(id); userInfoListDeletor(customerInfo.getId()); if (deleteFlag > 0) { return ReturnUtil.success(); @@ -116,8 +116,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("customer_id", customerId); queryWrapper.orderByDesc("create_time"); - Page sampleRecordsResponsePage = sampleRecordsResponseMapper.selectPage(page, queryWrapper); - return sampleRecordsResponsePage; + return sampleRecordsResponseMapper.selectPage(page, queryWrapper); } @@ -129,9 +128,8 @@ @Override//暂定不做 public Page mesureRecordsByCustomerId(Long customerId) { - Page mesureRecordsResponsePage = PageFactory.defaultPage(); - - return mesureRecordsResponsePage; + Page measureRecordsResponsePage = PageFactory.defaultPage(); + return measureRecordsResponsePage; } @Override @@ -139,8 +137,7 @@ Page page = PageFactory.defaultPage(); QueryWrapper wrapper = new QueryWrapper() .eq("customer_id", customerId); - Page certificationResponsePage = certificationMapper.selectPage(page, wrapper); - return certificationResponsePage; + return certificationMapper.selectPage(page, wrapper); } @Override @@ -185,8 +182,7 @@ private List customerUserDetail(Long id) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("customer_id", id); - List customerUserInfoList = customerUserMapper.selectList(queryWrapper); - return customerUserInfoList; + return customerUserMapper.selectList(queryWrapper); } private void userInfoListDeletor(Long customerId) { @@ -197,12 +193,12 @@ private Boolean userInfoListCreator(List userInfoList, Long id) { Long maxUserNo = customerUserMapper.selectMaxUserNo(); - Boolean userUpdateFlag = true; + boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); customerUserInfo.setUserNo(customerNo); - Integer userAddNum = customerUserMapper.insert(customerUserInfo); + int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { userUpdateFlag = false; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java index d816cb8..c9997c5 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java @@ -11,6 +11,9 @@ import java.util.*; import java.util.stream.Collectors; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -24,8 +27,7 @@ Map trendMap = sampleList.stream().collect( Collectors.toMap(e -> String.valueOf(e.get("increaseTime")), e -> String.valueOf(e.get("count"))) ); - List trendResponseList = recentYearBuilder(trendMap); - return trendResponseList; + return recentYearBuilder(trendMap); } @Override @@ -34,8 +36,7 @@ Map trendMap = sampleList.stream().collect( Collectors.toMap(e -> String.valueOf(e.get("expireTime")), e -> String.valueOf(e.get("count"))) ); - List trendResponseList = recentYearBuilder(trendMap); - return trendResponseList; + return recentYearBuilder(trendMap); } @Override @@ -44,8 +45,7 @@ Map trendMap = sampleList.stream().collect( Collectors.toMap(e -> String.valueOf(e.get("increaseTime")), e -> String.valueOf(e.get("count"))) ); - List trendResponseList = recentYearBuilder(trendMap); - return trendResponseList; + return recentYearBuilder(trendMap); } // 鉴定金额暂时没有表设计,loading... @@ -64,10 +64,10 @@ Calendar endDate = Calendar.getInstance(); endDate.setTime(new Date()); while (beginDate.getTime().compareTo(endDate.getTime()) <= 0) { - WorkbenceTrendResponse workbenceResponse = new WorkbenceTrendResponse(); - workbenceResponse.setDate(sdf2.format(beginDate.getTime())); - workbenceResponse.setCount(trendMap.containsKey(sdf1.format(beginDate.getTime())) ? trendMap.get(sdf1.format(beginDate.getTime())) : "0"); - mapList.add(workbenceResponse); + WorkbenceTrendResponse workBenchResponse = new WorkbenceTrendResponse(); + workBenchResponse.setDate(sdf2.format(beginDate.getTime())); + workBenchResponse.setCount(trendMap.containsKey(sdf1.format(beginDate.getTime())) ? trendMap.get(sdf1.format(beginDate.getTime())) : "0"); + mapList.add(workBenchResponse); beginDate.add(Calendar.MONTH, 1); } return mapList; 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 2d1d4a7..c0e00ab 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 @@ -247,6 +247,8 @@ toBeApprovedList.forEach(toBeApprovedDTO -> { if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); + //补全可选决策项 + approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); } }); }); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 09eee0f..c4b3d7a 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -67,11 +67,17 @@ WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} @@ -88,11 +94,17 @@ SELECT * FROM meter_train_plan WHERE is_del = 0 - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} 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 04ed845..d04eb14 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 @@ -90,5 +90,4 @@ @ApiModelProperty(value = "回退状态(已收入的状态) 1真0假", dataType = "Integer") private Integer FallbackState; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java new file mode 100644 index 0000000..b06975f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java @@ -0,0 +1,16 @@ +package com.casic.missiles.dto.business.order; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OrderCancelRequest { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") + private String reason; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java index 9662eb8..d6206c5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java @@ -4,13 +4,18 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.List; +/** + * @author cz + */ @Data @ApiModel("设备接收") public class CertificateListRequest { @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") + @NotBlank(message = "表单id不能为空") private String formId; @ApiModelProperty(value = "证书编号", dataType = "String") @@ -20,7 +25,7 @@ private String orderNo; @ApiModelProperty(value = "委托方名称", dataType = "String") - private String cutomerName; + private String customerName; @ApiModelProperty(value = "样品编号", dataType = "String") private String sampleNo; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java index 28c6d26..bacfc56 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java @@ -58,8 +58,14 @@ /** * 创建时间 */ - @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 表单id diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index 9528373..cd1066f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,7 +114,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index b1048c1..bf75da4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,8 +111,8 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; /** * 可选决策项 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java index 9d1f2f0..8f0bfce 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java @@ -25,14 +25,26 @@ /** * 培训时间 */ - @ApiModelProperty(value = "培训时间(查询出该时间前列表倒序)", dataType = "String") - private String trainTime; + @ApiModelProperty(value = "培训开始时间", dataType = "String") + private String trainStartTime; + + /** + * 培训时间 + */ + @ApiModelProperty(value = "培训结束时间", dataType = "String") + private String trainEndTime; /** * 创建时间 */ - @ApiModelProperty(value = "创建时间(查询出该时间前列表倒序)", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 组织部门id-系统组织表 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 8893256..847993f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -117,6 +117,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java new file mode 100644 index 0000000..17e0770 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java @@ -0,0 +1,37 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@TableName("business_deal_record") +@ApiModel("委托书操作记录") +@AllArgsConstructor +@Builder +@Data +public class BusinessDealRecord { + + private Long id; + + @ApiModelProperty("委托书id") + private Long orderId; + + @ApiModelProperty("原因") + private String recordContent; + + private Long createUser; + + @ApiModelProperty("操作人名称") + private String createUserName; + + @ApiModelProperty("创建时间") + private String createTime; + + @ApiModelProperty("备注") + private String remark; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java index 8778b11..9e960f6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java @@ -87,6 +87,9 @@ private Integer isDel; + @ApiModelProperty(value = "最后更新人员", dataType = "String") + private Long updateUser; + @ApiModelProperty(value = "创建人", dataType = "String") private Long createUser; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java new file mode 100644 index 0000000..6572d23 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java @@ -0,0 +1,31 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * @author cz + */ +@Data +@TableName("business_order_record") +public class BusinessOrderRecord { + + private Long id; + + private Long orderId; + + /** + * 记录内容 + */ + private String recordTContent; + + /** + * 创建人id + */ + private Long createUser; + + /** + * 创建人时间 + */ + private String createTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java index ae324f0..ffc21af 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java @@ -146,7 +146,7 @@ private String remark; /** - * 流程定义id + * 流程实例id */ @ApiModelProperty(value = "流程实例id(未通过培训计划编辑接口必传参数)", dataType = "String") @TableField("process_id") 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 a0cceda..230c779 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 @@ -1,7 +1,6 @@ package com.casic.missiles.service.Impl.business; import cn.hutool.core.lang.Assert; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; @@ -15,14 +14,12 @@ import com.casic.missiles.dto.business.print.CertificateListRequest; import com.casic.missiles.dto.business.print.CertificateListResponse; import com.casic.missiles.dto.business.print.CertificateRefusePrintRequest; -import com.casic.missiles.dto.flowable.AllApproveDTO; 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.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -40,6 +37,9 @@ import java.util.*; import java.util.stream.Collectors; +/** + * @author cz + */ @Service @AllArgsConstructor public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { @@ -81,16 +81,19 @@ } @Override - @Transactional - public ReturnDTO agreeAginPrint(ApprovalAgreeRequest request) { - ReturnDTO returnDTO = approvalOperateService.agree(request); - return returnDTO; + public ReturnDTO agreeAgainPrint(ApprovalAgreeRequest request) { + return approvalOperateService.agree(request); } + /** + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * + * @return + */ @Override @Transactional public ReturnDTO refuseAgainPrint(CertificateRefusePrintRequest request) { - ApprovalRefuseRequest approvalRefuseRequest=new ApprovalRefuseRequest(); + ApprovalRefuseRequest approvalRefuseRequest = new ApprovalRefuseRequest(); approvalRefuseRequest.setTaskId(request.getTaskId()); approvalRefuseRequest.setComments(request.getComments()); ReturnDTO returnDTO = approvalOperateService.refuse(approvalRefuseRequest); @@ -99,8 +102,9 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setPrintStatus("2");//设置为不能打印 - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //设置为不能打印 + certificateReport.setPrintStatus("2"); + certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -108,7 +112,9 @@ return ReturnUtil.success(); } - //提交审批流程,修改证书审批状态、修改打印状态 + /** + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + */ @Transactional @Override public ReturnDTO submitAgainPrint(BaseApprovalSubmitRequest request) { @@ -119,8 +125,10 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //审批状态为审批中 - certificateReport.setPrintStatus("3"); //打印状态审批中 + //审批状态为审批中 + certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //打印状态审批中 + certificateReport.setPrintStatus("3"); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -128,13 +136,14 @@ return ReturnUtil.success(); } - //可打印:只需要查询可打印状态即可 - //查询工作流 + /** + * 可打印:只需要查询可打印状态即可,待审批状态,查询工作流,同时传输任务id + */ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)) { handlerBeApproved(approvalList, page, request); - } else if (request.getPrintStatus().equals("0")) { + } else if("0".equals(request.getPrintStatus())) { request.setApprovalStatus(null); approvalList.setRecords(this.baseMapper.selectBatchForApprovalList(page, request, null)); } else { @@ -147,18 +156,9 @@ return approvalList; } - private Page handleAllApprovalListResponse(Page approvalList, List allApproveList) { - Map taskMap = allApproveList.stream().collect(Collectors.toMap(AllApproveDTO::getBusinessKey, AllApproveDTO::getStatus)); - //状态补全 - approvalList.getRecords().forEach(approval -> { - approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); - approval.setApprovalStatus(taskMap.get(String.valueOf(approval.getId()))); - }); - //排序 - approvalList.setRecords(approvalList.getRecords().stream().sorted(Comparator.comparing(CertificateListResponse::getCreateTime).reversed()).collect(Collectors.toList())); - return approvalList; - } - + /** + * 查询待审批状态的打印证书,查询业务主键信息,据此查询相应的证书,并填充相应的工作流状态 + */ private Page handlerBeApproved(Page approvalList, Page page, CertificateListRequest request) { List businessKeys = new ArrayList<>(); List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); @@ -179,11 +179,4 @@ return approvalList; } - private void handleApprovalListResponse(Page approvalList, String status) { - approvalList.getRecords().stream().forEach(result -> { - //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 - result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); - }); - } - } 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 b397f83..859010b 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 @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.business; -import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -46,7 +45,9 @@ private final IBaseExportService iBaseExportService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; - //** 送检人查询条件不在设备交接单中,需要联查才可以实现 + /** + * 送检人查询条件不在设备交接单中,需要联查才可以实现 + */ @Override public Page exchangeListPage(Page page, InterchangeListRequest request) throws Exception { page.setRecords(this.baseMapper.selectInterchangeListPage(page, request)); @@ -54,7 +55,8 @@ } @Override - public BusinessInterchangeDetailResponse exchangeDetail(Long id) { ; + public BusinessInterchangeDetailResponse exchangeDetail(Long id) { + ; BusinessInterchangeDetailResponse businessExchange = this.baseMapper.getInfoById(id); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", businessExchange.getOrderId()); @@ -71,19 +73,21 @@ @Override @Transactional public ReturnDTO deleteExchange(Long id) { - Integer deleteFlag = this.baseMapper.deleteById(id); - //交接单绑定的肯定有样品,所以samplUpdateFlag肯定为true - Boolean samplUpdateFlag = sampleStatusDeletor(id) > 0; - if (deleteFlag > 0 && samplUpdateFlag) { + int deleteFlag = this.baseMapper.deleteById(id); + //交接单绑定的肯定有样品,所以sampleUpdateFlag肯定为true + boolean sampleUpdateFlag = sampleStatusDeletor(id) > 0; + if (deleteFlag > 0 && sampleUpdateFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //更新不对样品有任何操作 + /** + * 更新不对样品有任何操作 + */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { - Integer updateFlag = this.baseMapper.updateById(businessInterchange); + int updateFlag = this.baseMapper.updateById(businessInterchange); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -94,8 +98,8 @@ @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { populationExchange(businessInterchange); - Integer addFlag = this.baseMapper.insert(businessInterchange); - Boolean sampleAddFlag = true; + int addFlag = this.baseMapper.insert(businessInterchange); + boolean sampleAddFlag = true; if (!CollectionUtils.isEmpty(businessInterchange.getCustomerSampleList())) { for (CustomerSampleListVO sampleInfo : businessInterchange.getCustomerSampleList()) { sampleAddFlag = sampleAddFlag && sampleStatusUpdator(sampleInfo, businessInterchange.getId()) > 0; 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 3bd316c..585a207 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 @@ -215,13 +215,7 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - Map resultMap = SqlRunner.db().selectOne( - "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + - "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + - "JOIN sys_user su ON srr.USERID = su.ID " + - "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + - "WHERE su.ID = {0}" + - "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + Map resultMap = selectDirectDept(user); if(CollectionUtils.isEmpty(resultMap) || Objects.isNull(resultMap.get("deptId"))){ return new Page<>(); } @@ -390,16 +384,7 @@ Long maxNo = labExecutiveTemplateInfoMapper.selectMaxTemplateNo(); for (int i = 0; i < labExecutiveInfos.size(); i++) { BusinessLabExecutiveInfo lab = labExecutiveInfos.get(i); - BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); - templateInfo.setTemplateCode(templateCode); -// templateInfo.setSampleTypeId(); - templateInfo.setSampleId(lab.getSampleId()); - templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); - templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); -// templateInfo.setMeasureItem(); - templateInfo.setExecuteSequence(lab.getMeasureSequence()); -// templateInfo.setCreateUser(); + BusinessLabExecutiveTemplateInfo templateInfo = getBusinessLabExecutiveTemplateInfo(maxNo, i, lab); labList.add(templateInfo); } if(labExecutiveTemplateInfoService.saveBatch(labList)) log.info("实验室检测记录批量保存为实验室检测模板成功"); @@ -422,6 +407,20 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { + BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); + String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + templateInfo.setTemplateCode(templateCode); +// templateInfo.setSampleTypeId(); + templateInfo.setSampleId(lab.getSampleId()); + templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); + templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); +// templateInfo.setMeasureItem(); + templateInfo.setExecuteSequence(lab.getMeasureSequence()); +// templateInfo.setCreateUser(); + return templateInfo; + } + @Override public ReturnDTO updateExecutiveList(UpdateExecutiveListRequest request) { //删除前端已删除的ids @@ -469,7 +468,6 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - //登录用户id获取计量人员id,实验室检测信息中存储的是计量人员id MeterStaff meterStaff = getMeterStaffInfo(user); if(Objects.isNull(meterStaff)) throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_NOT_STAFF); Long userId = meterStaff.getId(); @@ -510,7 +508,6 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - //登录用户id获取计量人员id,实验室检测信息中存储的是计量人员id MeterStaff meterStaff = getMeterStaffInfo(user); if(Objects.isNull(meterStaff)) throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_NOT_STAFF); Long userId = meterStaff.getId(); @@ -518,15 +515,7 @@ //删除实验室检测列表中退回数据 int deleteFlag = labExecutiveInfoMapper.deleteById(request.getId()); //退回操作记录表中增加数据 - BusinessLabExecutiveOperateLog operateLog = new BusinessLabExecutiveOperateLog(); - operateLog.setOrderId(request.getOrderId()); - operateLog.setSampleId(request.getSampleId()); - operateLog.setMeasureDeptId(request.getMeasureSegmentId()); - operateLog.setMeasurePersonId(request.getMeasurePersonId()); - operateLog.setOperatePersonId(userId); - operateLog.setOperatePersonName(user.getName()); - operateLog.setMeasureStatus(MeasureStatusEnum.SEND_BACK); - operateLog.setOperateReason(request.getOperateReason()); + BusinessLabExecutiveOperateLog operateLog = getBusinessLabExecutiveOperateLog(request, user, userId); int insertFlag = labExecutiveOperateLogMapper.insert(operateLog); if(deleteFlag > 0 && insertFlag > 0){ //退回后会将下一个要执行的实验室检测状态更新为待分配,将后面的实验室顺序变更为连续(都进行减1) @@ -596,4 +585,29 @@ } }); } + + private Map selectDirectDept(AuthUser user) { + Map resultMap = SqlRunner.db().selectOne( + "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON srr.USERID = su.ID " + + "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + + "WHERE su.ID = {0}" + + "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + return resultMap; + } + + private BusinessLabExecutiveOperateLog getBusinessLabExecutiveOperateLog(ExecutiveSendBackRequest request, AuthUser user, Long userId) { + BusinessLabExecutiveOperateLog operateLog = new BusinessLabExecutiveOperateLog(); + operateLog.setOrderId(request.getOrderId()); + operateLog.setSampleId(request.getSampleId()); + operateLog.setMeasureDeptId(request.getMeasureSegmentId()); + operateLog.setMeasurePersonId(request.getMeasurePersonId()); + operateLog.setOperatePersonId(userId); + operateLog.setOperatePersonName(user.getName()); + operateLog.setMeasureStatus(MeasureStatusEnum.SEND_BACK); + operateLog.setOperateReason(request.getOperateReason()); + return operateLog; + } + } 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 f6b3933..48742b4 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 @@ -9,14 +9,17 @@ import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.ExportEnum; import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; import com.casic.missiles.mapper.business.BusinessOrderMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -49,18 +52,19 @@ @AllArgsConstructor public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { - private final BusinessOrderListReponseMapper orderListReponseMapper; + private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; private final CustomerSampleService customerSampleService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; + private final BusinessDealRecordMapper dealRecordMapper; /** * 1、分页查询 2、批量查询所有的委托书、样品关系 => 进行以sampleId为key主键map list 3、查询计算样品数量 */ @Override public Page orderListPage(Page page, OrderListRequest request) throws Exception { - QueryWrapper wrapper = listParamWrapper(request); - Page resultPage = this.orderListReponseMapper.selectPage(page, wrapper); + QueryWrapper wrapper = listParamWrapperBuilder(request); + Page resultPage = this.orderListResponseMapper.selectPage(page, wrapper); List orderSampleList = sampleRelationMapper.selectList(null); Map> orderSampleMap = orderSampleList.stream().collect( Collectors.groupingBy(BusinessOrderSampleRelation::getOrderId) @@ -74,7 +78,9 @@ return resultPage; } - // 1、查询委托书详情 2、对样品列表进行查询 3、设置默认在库标志 + /** + * 1、查询委托书详情 2、对样品列表进行查询 3、设置默认在库标志 + */ @Override public BusinessOrder orderDetail(Long id) { BusinessOrder businessOrder = this.baseMapper.selectById(id); @@ -91,29 +97,24 @@ return businessOrder; } - @Override - public ReturnDTO deleteOrder(Long id) { - Integer deleteFlag = this.baseMapper.deleteById(id); - if (deleteFlag > 0) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - - // 删除样品和委托书的明细关系,填充传输的明细样品数据, - // 对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + /** + * 1、删除样品和委托书的明细关系,填充传输的明细样品数据 + * 2、对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + */ @Override public ReturnDTO updateOrder(BusinessOrder businessOrder) { - Integer updateFlag = this.baseMapper.updateById(businessOrder); - this.sampleStatusDeletor(businessOrder.getId()); - Boolean sampleUpdateFlag = true; + AuthUser authUser = ShiroKit.getUser(); + businessOrder.setUpdateUser(authUser.getId()); + int updateFlag = this.baseMapper.updateById(businessOrder); + this.deleteSampleById(businessOrder.getId()); + boolean sampleUpdateFlag = true; this.doSampleListPopulation(businessOrder); for (CustomerSampleInfo sampleInfo : businessOrder.getCustomerSampleInfoList()) { sampleInfo.setDeliverer(businessOrder.getDeliverer()); sampleInfo.setDelivererTel(businessOrder.getDelivererTel()); - if (sampleInfo.getIsExistSample().equals("0")) { + if ("0".equals(sampleInfo.getIsExistSample())) { ReturnDTO returnDTO = customerSampleService.addSample(sampleInfo); - sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode().equals("200"); + sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode().equals(200); } else { ReturnDTO returnDTO = customerSampleService.updateSample(sampleInfo); sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode() == 200; @@ -126,25 +127,27 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //删除样品和委托书的明细关系,填充传输的明细样品数据, - // 对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + /** + * 1、删除样品和委托书的明细关系,填充传输的明细样品数据 + * 2、对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + */ @Override @Transactional public ReturnDTO addOrder(BusinessOrder businessOrder) { initOrderInfo(businessOrder); - Integer addFlag = this.baseMapper.insert(businessOrder); - Boolean sampleAddFlag = true; - this.sampleStatusDeletor(businessOrder.getId()); + int addFlag = this.baseMapper.insert(businessOrder); + boolean sampleAddFlag = true; + this.deleteSampleById(businessOrder.getId()); this.doSampleListPopulation(businessOrder); for (CustomerSampleInfo sampleInfo : businessOrder.getCustomerSampleInfoList()) { sampleInfo.setDeliverer(businessOrder.getDeliverer()); sampleInfo.setDelivererTel(businessOrder.getDelivererTel()); - if (sampleInfo.getIsExistSample().equals("0")) { + if ("0".equals(sampleInfo.getIsExistSample())) { ReturnDTO returnDTO = customerSampleService.addSample(sampleInfo); - sampleAddFlag = sampleAddFlag && returnDTO.getCode() == 200; + sampleAddFlag = sampleAddFlag && returnDTO.getCode().equals(200); } else { ReturnDTO returnDTO = customerSampleService.updateSample(sampleInfo); - sampleAddFlag = sampleAddFlag && returnDTO.getCode() == 200; + sampleAddFlag = sampleAddFlag && returnDTO.getCode().equals(200); } sampleAddFlag = sampleAddFlag && sampleStatusCreator(sampleInfo.getOrderId(), sampleInfo.getMeasureContent(), sampleInfo.getId()) > 0; } @@ -154,58 +157,135 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //如查询说明,补充对是否加急的excel文档表现 + /** + * 1、判断是否存在ids,进行其他参数属性的初始化 + * 2、查询查询构建 + * 3、查询样品关系,构建委托书样品数量map集合 + * 4、字典值进行状态转化 + */ @Override public void orderExport(OrderListRequest request, HttpServletResponse response) { try { - List orderListReponseList; + List orderResponseList; if (!CollectionUtils.isEmpty(request.getIds())) { - orderListReponseList = orderListReponseMapper.selectBatchIds(request.getIds()); + orderResponseList = orderListResponseMapper.selectBatchIds(request.getIds()); } else { - QueryWrapper wrapper = listParamWrapper(request); - orderListReponseList = this.orderListReponseMapper.selectList(wrapper); + QueryWrapper wrapper = listParamWrapperBuilder(request); + orderResponseList = this.orderListResponseMapper.selectList(wrapper); } + //查询样品关系,构建委托书样品数量map集合, List orderSampleList = sampleRelationMapper.selectList(null); Map> orderSampleMap = orderSampleList.stream().collect( Collectors.groupingBy(BusinessOrderSampleRelation::getOrderId) ); - orderListReponseList.forEach( + orderResponseList.forEach( orderSample -> orderSample.setSampleCount(orderSampleMap.containsKey(orderSample.getId()) ? orderSampleMap.get(orderSample.getId()).size() : 0) ); - for (OrderListReponse orderListReponse : orderListReponseList) { - orderListReponse.setIsUrgent(orderListReponse.getIsUrgent().equals("1") ? "是" : "否"); + //字典转换 + for (OrderListReponse orderListReponse : orderResponseList) { + orderListReponse.setIsUrgent("1".equals(orderListReponse.getIsUrgent()) ? "是" : "否"); DictCodeUtils.convertDictCodeToName(orderListReponse); } - iBaseExportService.exportExcel(response, OrderListReponse.class, orderListReponseList, ExportEnum.ORDER_EXPORT.getSheetName()); + iBaseExportService.exportExcel(response, OrderListReponse.class, orderResponseList, ExportEnum.ORDER_EXPORT.getSheetName()); } catch (Exception ex) { log.error("委托书导出出现异常,异常信息为{}", ex); } } + /** + * 通过状态对委托书状态进行更新 + */ @Override - public ReturnDTO updateStatusById(Long id, String status) { - BusinessOrder businessOrder = new BusinessOrder(); - businessOrder.setId(id); - businessOrder.setStatus(status); - Integer updateFlag = this.baseMapper.updateById(businessOrder); - if (updateFlag > 0) { + public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { + int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); + int addDealRecordFlag = addDealRecord(orderCancelRequest); + if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 取消记录,修改委托书状态,同时生成委托书操作日志,供用户查询 + */ + @Override + @Transactional + public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int addDealRecordFlag = addDealRecord(orderCancelRequest); + if (updateFlag > 0 && addDealRecordFlag > 0) { + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + /** + * 操作记录的查询 + */ + @Override + public List optionRecord(Long id) { + QueryWrapper dealRecordQueryWrapper = new QueryWrapper() + .eq("order_id", id); + return dealRecordMapper.selectList(dealRecordQueryWrapper); + } + + /** + * 新增操作记录 + */ + private int addDealRecord(OrderCancelRequest orderCancelRequest) { + AuthUser authUser = ShiroKit.getUser(); + BusinessDealRecord businessDealRecord = BusinessDealRecord.builder() + .createUser(authUser.getId()) + .createUserName(authUser.getName()) + .recordContent(reasonConvert(orderCancelRequest.getReason())) + .orderId(orderCancelRequest.getId()) + .build(); + return dealRecordMapper.insert(businessDealRecord); + } + + /** + * 强调正在做状态更新 + */ + private int doUpdateStatusById(Long orderId, String status) { + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(orderId); + businessOrder.setStatus(status); + AuthUser authUser = ShiroKit.getUser(); + businessOrder.setUpdateUser(authUser.getId()); + return this.baseMapper.updateById(businessOrder); + } + + /** + * 原因字典转化为相应的值 + */ + private String reasonConvert(String reasonIds) { + String reasonStr = ""; + if (StringUtils.isEmpty(reasonIds)) { + return reasonStr; + } + String[] reasonIdList = reasonIds.split(","); + for (String reasonId : reasonIdList) { + String reasonContent = dealRecordMapper.getDictContent(reasonId); + reasonStr = reasonStr + reasonContent + ","; + } + return reasonStr.substring(0, reasonStr.length() - 1); + } + private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); + businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); businessOrder.setStatus("1"); } - - private QueryWrapper listParamWrapper(OrderListRequest request) { + /** + * 委托书列表查询构建方法 + */ + private QueryWrapper listParamWrapperBuilder(OrderListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getDeliverer()), "deliverer", request.getDeliverer()); @@ -223,21 +303,19 @@ return queryWrapper; } - private Integer sampleStatusDeletor(Long orderId) { + private int deleteSampleById(Long orderId) { QueryWrapper sampleStatusRelationWrapper = new QueryWrapper() .eq("order_id", orderId); - Integer sampleStatus = this.sampleRelationMapper.delete(sampleStatusRelationWrapper); - return sampleStatus; + return this.sampleRelationMapper.delete(sampleStatusRelationWrapper); } - private Integer sampleStatusCreator(Long orderId, String measureContent, Long sampleId) { + private int sampleStatusCreator(Long orderId, String measureContent, Long sampleId) { BusinessOrderSampleRelation sampleStatusPopulation = new BusinessOrderSampleRelation(); sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); sampleStatusPopulation.setMeasureType("1"); - Integer sampleStatus = this.sampleRelationMapper.insert(sampleStatusPopulation); - return sampleStatus; + return this.sampleRelationMapper.insert(sampleStatusPopulation); } private void doSampleListPopulation(BusinessOrder businessOrder) { @@ -249,4 +327,5 @@ } ); } + } 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 e922dc2..07c88e9 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 com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -11,8 +12,6 @@ import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; -import com.casic.missiles.dto.business.interchange.InterchangeListResponse; -import com.casic.missiles.dto.meter.TrainPlanApprovalListResponse; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; @@ -21,20 +20,22 @@ import com.casic.missiles.mapper.business.*; import com.casic.missiles.model.business.*; import com.casic.missiles.service.business.IBusinessDispatchService; -import com.casic.missiles.utils.ConvertUtils; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.util.ObjectUtils; -import org.springframework.util.StringUtils; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Objects; import java.util.Optional; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -45,84 +46,59 @@ private final BusinessLabExecutiveInfoMapper labExecutiveInfoMapper; private final IBaseExportService iBaseExportService; - //终止、回退、收入、归还、催办按钮 - //列表返回只需要控制已收入回退按钮显示的权限即可,其中回退在没有任何实验室进行的情况,可以进行设备的回退 + /** + * 终止、回退、收入、归还、催办按钮 + * 列表返回只需要控制已收入回退按钮显示的权限即可,其中回退在没有任何实验室进行的情况,可以进行设备的回退 + */ @Override public Page listPage(Page page, DeviceDispatchDTO request) { -// //查询委托书和样品关联表中的各状态的样品 - Page dispatchVOPage = orderSampleRelationMapper.getSampleListByStatus(page, request); + //查询委托书和样品关联表中的各状态的样品 + Page dispatchVoPage = orderSampleRelationMapper.getSampleListByStatus(page, request); log.info("设备收发-当前查询样品状态为:{}", request.getSampleStatus()); - List records = dispatchVOPage.getRecords(); + List records = dispatchVoPage.getRecords(); if (CollectionUtils.isEmpty(records)) { return new Page<>(); } - doDispatchVOPagePopution(records, request); - return dispatchVOPage; - } - - - //进行已收入分页的当前环节回填、出具证书回填 - private void doDispatchVOPopulation(DeviceDispatchVO dispatchVO, Long sampleId, Long orderId) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); - HandOutLabExecutiveDTO handOutLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); - Integer measureNumberStatus = labExecutiveInfoMapper.getMeasureNumberStatus(orderId, sampleId); - // - if (!Objects.isNull(handOutLabExecutiveDTO)) { - dispatchVO.setRequireCertifications(handOutLabExecutiveDTO.getRequireCertifications()); - dispatchVO.setCurrentSegment(handOutLabExecutiveDTO.getDeptName()); - Long measureDeptId = handOutLabExecutiveDTO.getMeasureDeptId(); - dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, measureDeptId)); - } else { - dispatchVO.setAlreadyCertifications(0); - dispatchVO.setRequireCertifications(ObjectUtils.isEmpty(measureNumberStatus) ? 0 : measureNumberStatus); - } - if (!ObjectUtils.isEmpty(measureNumberStatus) && measureNumberStatus > 0) { - dispatchVO.setFallbackState(0);//不可以进行回退 - } else { - dispatchVO.setFallbackState(1);//可以进行回退 - } + doPopulateDispatch(records, request); + return dispatchVoPage; } /** - * 重点填充类 - * - * @param dispatchVOPage - * @param request + * 分发列表填充 */ - private void doDispatchVOPagePopution(List dispatchVOPage, DeviceDispatchDTO request) { - dispatchVOPage.stream().forEach( + private void doPopulateDispatch(List dispatchVOPage, DeviceDispatchDTO request) { + dispatchVOPage.forEach( dispatchVO -> { Long orderId = dispatchVO.getOrderId(); Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && request.getSampleStatus().equals("8") && noSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { - //待分发状态,分发性质:有退回就是退回分发,当前检定环节:待分配,已出具证书:无,出具证书总数:无 + //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 case SampleStatusEnum.TO_HANDOUT: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //检测中状态,分发性质:无,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 + //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 case SampleStatusEnum.IN_MEASURE: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //检测完状态,分发性质:无,当前检定环节:完成,已出具证书:无,出具证书总数:无 + //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 case SampleStatusEnum.MEASURE_COMPLETE: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //超期样品(即检测超期,未在应检完时间检完),分发性质:无,当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 + doDispatchVoPopulation(dispatchVO, sampleId, orderId); + return; + //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 case SampleStatusEnum.BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); - Long deptId = overLabExecutiveDTO.getMeasureDeptId(); + Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); dispatchVO.setRequireCertifications(overLabExecutiveDTO.getRequireCertifications()); - if (checkSampleFinshStauts(dispatchVO)) { + // 判断样品是完成或接收状态,直接显示即可 + if (checkSampleFinishStatus(dispatchVO)) { return; } dispatchVO.setCurrentSegment(overLabExecutiveDTO.getDeptName()); break; + default: + break; } } ); @@ -131,8 +107,7 @@ @Override public void exportSampleDispatchList(DeviceDispatchDTO request, HttpServletResponse response) { try { - - Page deviceDispatchVOPage = PageFactory.defaultPage(); + Page deviceDispatchVOPage; if (!CollectionUtils.isEmpty(request.getIds())) { initDeviceDispatchDTOEmpty(request); } else { @@ -150,29 +125,59 @@ } + /** + * 状态更新 + */ @Override public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer updateFalg = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFalg > 0) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - - //终止操作,不仅更新状态,同时进行实验室状态的更新 - @Override - @Transactional - public ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, true); - //实验室状态数据的更新 - reasonPopulation(deviceStatusChangeDTO); + Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); if (updateFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - private void reasonPopulation(DeviceStatusChangeDTO deviceStatusChangeDTO) { + /** + * 终止操作,不仅更新状态,同时进行实验室状态原因的更新 + */ + @Override + @Transactional + public ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO) { + Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, true); + //实验室状态数据的更新 + updateLabExecutiveInfo(deviceStatusChangeDTO); + if (updateFlag > 0) { + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + /** + * 进行已收入分页的当前环节回填、出具证书回填 + */ + private void doDispatchVoPopulation(DeviceDispatchVO dispatchVO, Long sampleId, Long orderId) { + dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + HandOutLabExecutiveDTO handOutLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); + Integer measureNumberStatus = labExecutiveInfoMapper.getMeasureNumberStatus(orderId, sampleId); + //证书,当前环节的回填 + if (!Objects.isNull(handOutLabExecutiveDTO)) { + dispatchVO.setRequireCertifications(handOutLabExecutiveDTO.getRequireCertifications()); + dispatchVO.setCurrentSegment(handOutLabExecutiveDTO.getDeptName()); + Long measureDeptId = handOutLabExecutiveDTO.getMeasureDeptId(); + dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, measureDeptId)); + } else { + dispatchVO.setAlreadyCertifications(0); + dispatchVO.setRequireCertifications(ObjectUtils.isEmpty(measureNumberStatus) ? 0 : measureNumberStatus); + } + //处于检测中、检测完、待检测的实验室大于0,不可以进行回退,否则可以进行回退 + if (!ObjectUtils.isEmpty(measureNumberStatus) && measureNumberStatus > 0) { + dispatchVO.setFallbackState(0); + } else { + dispatchVO.setFallbackState(1); + } + } + + private void updateLabExecutiveInfo(DeviceStatusChangeDTO deviceStatusChangeDTO) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); @@ -182,10 +187,13 @@ labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } + /** + * 消息催办 + */ @Override public ReturnDTO rushDoProcess(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer deleteFalg = this.baseMapper.deleteById(deviceStatusChangeDTO.getOrderId()); - if (deleteFalg > 0) { + int deleteFlag = this.baseMapper.deleteById(deviceStatusChangeDTO.getOrderId()); + if (deleteFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -203,7 +211,7 @@ return null; } Optional handOutLabExecutiveDTOOptional = labExecutiveList.stream().findFirst(); - return handOutLabExecutiveDTOOptional.isPresent() ? handOutLabExecutiveDTOOptional.get() : null; + return handOutLabExecutiveDTOOptional.orElse(null); } private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { @@ -214,7 +222,9 @@ return wrapper; } - //更新检测完成后,执行当前正在进行数据 + /** + * 更新检测完成后,执行当前正在进行数据 + */ private Integer statusChangeUpdator(DeviceStatusChangeDTO statusChangeDTO, Boolean terminateFlag) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); @@ -227,15 +237,18 @@ return this.orderSampleRelationMapper.update(businessOrderSampleRelation, queryWrapper); } - //判断不是自检 - private Boolean noSelfMeasure(DeviceDispatchVO dispatchVO) { - if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType()) && (dispatchVO.getMeasureType().equals("1") || dispatchVO.getMeasureType().equals("2"))) { - String currentSegment = dispatchVO.getMeasureType().equals("1") ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; - dispatchVO.setCurrentSegment(currentSegment); - return true; - } else { - return false; + /** + * 判断不是自检 + */ + 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; + dispatchVO.setCurrentSegment(currentSegment); + return true; + } } + return false; } private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { @@ -250,8 +263,10 @@ request.setEndTime(null); } - // 判断样品是完成或接收状态,直接显示即可 - private Boolean checkSampleFinshStauts(DeviceDispatchVO dispatchVO) { + /** + * 判断样品是完成或接收状态,直接显示即可 + */ + private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); 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 eecf207..4f06678 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 @@ -28,6 +28,9 @@ import javax.servlet.http.HttpServletResponse; import java.util.List; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -58,7 +61,7 @@ @Override public ReturnDTO deleteAdvice(Long id) { - Integer deleteFlag = customerAdviceMapper.deleteById(id); + int deleteFlag = customerAdviceMapper.deleteById(id); if (deleteFlag > 0) { return ReturnUtil.success(); } @@ -67,7 +70,7 @@ @Override public ReturnDTO updateAdvice(CustomerAdviceInfo customerAdviceInfo) { - Integer updateFlag = customerAdviceMapper.updateById(customerAdviceInfo); + int updateFlag = customerAdviceMapper.updateById(customerAdviceInfo); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -77,7 +80,7 @@ @Override public ReturnDTO addAdvice(CustomerAdviceInfo customerAdviceInfo) { initCustomerAdviceInfo(customerAdviceInfo); - Integer addFlag = customerAdviceMapper.insert(customerAdviceInfo); + int addFlag = customerAdviceMapper.insert(customerAdviceInfo); if (addFlag > 0) { return ReturnUtil.success(); } 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 79a776b..3bbcaaf 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 @@ -55,7 +55,7 @@ public Page listPage(Page page, CustomerSampleListRequest request) throws Exception { QueryWrapper wrapper = listParamWrapper(request); Page customerSamplePage = customerSampleListResponseMapper.selectPage(page, wrapper); - customerSamplePage.getRecords().stream() + customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { @@ -72,26 +72,30 @@ return customerSamplePage; } - //新增样品表,同时新增样品委托书关联状态表 + /** + * 新增样品表,同时新增样品委托书关联状态表 + */ @Override @Transactional public ReturnDTO addSample(CustomerSampleInfo customerSampleInfo) { initSample(customerSampleInfo); - Integer addFlag = this.baseMapper.insert(customerSampleInfo); + int addFlag = this.baseMapper.insert(customerSampleInfo); if (addFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //更新样品表,同时更新样品委托书关联状态表 + /** + * 更新样品表,同时更新样品委托书关联状态表 + */ @Override @Transactional public ReturnDTO updateSample(CustomerSampleInfo customerSampleInfo) { AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setUpdateUser(authUser.getId()); initSample(customerSampleInfo); - Integer updateFlag = this.baseMapper.updateById(customerSampleInfo); + int updateFlag = this.baseMapper.updateById(customerSampleInfo); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -110,8 +114,6 @@ /** * 只导出样品列表信息 * - * @param request - * @param response */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -148,9 +150,8 @@ } @Override - @Transactional public ReturnDTO deleteSample(Long id) { - Integer deleteFalg = this.baseMapper.deleteById(id); + int deleteFalg = this.baseMapper.deleteById(id); if (deleteFalg > 0) { return ReturnUtil.success(); } @@ -158,12 +159,12 @@ } @Override - public Page mesureRecordsBySampleId(Long id) { + public Page measureRecordsBySampleId(Long id) { Page page = PageFactory.defaultPage(); QueryWrapper wrapper = new QueryWrapper() .eq("sample_id", id); - Page mesureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); - return mesureRecordsResponsePage; + Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + return measureRecordsResponsePage; } @Override @@ -197,12 +198,12 @@ 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());//样品所属 - queryWrapper.like(StringUtils.isNotBlank(request.getSampleModel()), "sample_model", request.getSampleModel());//样品型号 - queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName());//委托方名称 - queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo());//委托方代码 + 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()); + queryWrapper.like(StringUtils.isNotBlank(request.getSampleModel()), "sample_model", request.getSampleModel()); + 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"), "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); 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 62c4a00..32d4dee 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 @@ -70,7 +70,7 @@ @Transactional public ReturnDTO addCustomer(CustomerInfo customerInfo) { initCustomerInfo(customerInfo); - Integer addFlag = this.baseMapper.insert(customerInfo); + int addFlag = this.baseMapper.insert(customerInfo); Boolean userAddFlag = userInfoListCreator(customerInfo.getCustomerUserList(), customerInfo.getId()); if (addFlag > 0 && userAddFlag) { return ReturnUtil.success(); @@ -84,7 +84,7 @@ AuthUser authUser = ShiroKit.getUser(); customerInfo.setUpdateUser(authUser.getId()); userInfoListDeletor(customerInfo.getId()); - Integer updateFlag = this.baseMapper.updateById(customerInfo); + int updateFlag = this.baseMapper.updateById(customerInfo); Boolean userUpdateFlag = userInfoListCreator(customerInfo.getCustomerUserList(),customerInfo.getId()); if (updateFlag > 0 && userUpdateFlag) { return ReturnUtil.success(); @@ -102,7 +102,7 @@ @Override public ReturnDTO deleteCustomer(Long id) { CustomerInfo customerInfo = this.baseMapper.selectById(id); - Integer deleteFlag = this.baseMapper.deleteById(id); + int deleteFlag = this.baseMapper.deleteById(id); userInfoListDeletor(customerInfo.getId()); if (deleteFlag > 0) { return ReturnUtil.success(); @@ -116,8 +116,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("customer_id", customerId); queryWrapper.orderByDesc("create_time"); - Page sampleRecordsResponsePage = sampleRecordsResponseMapper.selectPage(page, queryWrapper); - return sampleRecordsResponsePage; + return sampleRecordsResponseMapper.selectPage(page, queryWrapper); } @@ -129,9 +128,8 @@ @Override//暂定不做 public Page mesureRecordsByCustomerId(Long customerId) { - Page mesureRecordsResponsePage = PageFactory.defaultPage(); - - return mesureRecordsResponsePage; + Page measureRecordsResponsePage = PageFactory.defaultPage(); + return measureRecordsResponsePage; } @Override @@ -139,8 +137,7 @@ Page page = PageFactory.defaultPage(); QueryWrapper wrapper = new QueryWrapper() .eq("customer_id", customerId); - Page certificationResponsePage = certificationMapper.selectPage(page, wrapper); - return certificationResponsePage; + return certificationMapper.selectPage(page, wrapper); } @Override @@ -185,8 +182,7 @@ private List customerUserDetail(Long id) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("customer_id", id); - List customerUserInfoList = customerUserMapper.selectList(queryWrapper); - return customerUserInfoList; + return customerUserMapper.selectList(queryWrapper); } private void userInfoListDeletor(Long customerId) { @@ -197,12 +193,12 @@ private Boolean userInfoListCreator(List userInfoList, Long id) { Long maxUserNo = customerUserMapper.selectMaxUserNo(); - Boolean userUpdateFlag = true; + boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); customerUserInfo.setUserNo(customerNo); - Integer userAddNum = customerUserMapper.insert(customerUserInfo); + int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { userUpdateFlag = false; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java index d816cb8..c9997c5 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java @@ -11,6 +11,9 @@ import java.util.*; import java.util.stream.Collectors; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -24,8 +27,7 @@ Map trendMap = sampleList.stream().collect( Collectors.toMap(e -> String.valueOf(e.get("increaseTime")), e -> String.valueOf(e.get("count"))) ); - List trendResponseList = recentYearBuilder(trendMap); - return trendResponseList; + return recentYearBuilder(trendMap); } @Override @@ -34,8 +36,7 @@ Map trendMap = sampleList.stream().collect( Collectors.toMap(e -> String.valueOf(e.get("expireTime")), e -> String.valueOf(e.get("count"))) ); - List trendResponseList = recentYearBuilder(trendMap); - return trendResponseList; + return recentYearBuilder(trendMap); } @Override @@ -44,8 +45,7 @@ Map trendMap = sampleList.stream().collect( Collectors.toMap(e -> String.valueOf(e.get("increaseTime")), e -> String.valueOf(e.get("count"))) ); - List trendResponseList = recentYearBuilder(trendMap); - return trendResponseList; + return recentYearBuilder(trendMap); } // 鉴定金额暂时没有表设计,loading... @@ -64,10 +64,10 @@ Calendar endDate = Calendar.getInstance(); endDate.setTime(new Date()); while (beginDate.getTime().compareTo(endDate.getTime()) <= 0) { - WorkbenceTrendResponse workbenceResponse = new WorkbenceTrendResponse(); - workbenceResponse.setDate(sdf2.format(beginDate.getTime())); - workbenceResponse.setCount(trendMap.containsKey(sdf1.format(beginDate.getTime())) ? trendMap.get(sdf1.format(beginDate.getTime())) : "0"); - mapList.add(workbenceResponse); + WorkbenceTrendResponse workBenchResponse = new WorkbenceTrendResponse(); + workBenchResponse.setDate(sdf2.format(beginDate.getTime())); + workBenchResponse.setCount(trendMap.containsKey(sdf1.format(beginDate.getTime())) ? trendMap.get(sdf1.format(beginDate.getTime())) : "0"); + mapList.add(workBenchResponse); beginDate.add(Calendar.MONTH, 1); } return mapList; 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 2d1d4a7..c0e00ab 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 @@ -247,6 +247,8 @@ toBeApprovedList.forEach(toBeApprovedDTO -> { if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); + //补全可选决策项 + approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); } }); }); 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 35a7098..b9faa3d 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 @@ -290,6 +290,8 @@ toBeApprovedList.forEach(toBeApprovedDTO -> { if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ approval.setTaskId(toBeApprovedDTO.getTaskId()); + //补全可选决策项 + approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); } }); }); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 09eee0f..c4b3d7a 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -67,11 +67,17 @@ WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} @@ -88,11 +94,17 @@ SELECT * FROM meter_train_plan WHERE is_del = 0 - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} 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 04ed845..d04eb14 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 @@ -90,5 +90,4 @@ @ApiModelProperty(value = "回退状态(已收入的状态) 1真0假", dataType = "Integer") private Integer FallbackState; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java new file mode 100644 index 0000000..b06975f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java @@ -0,0 +1,16 @@ +package com.casic.missiles.dto.business.order; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OrderCancelRequest { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") + private String reason; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java index 9662eb8..d6206c5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java @@ -4,13 +4,18 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.List; +/** + * @author cz + */ @Data @ApiModel("设备接收") public class CertificateListRequest { @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") + @NotBlank(message = "表单id不能为空") private String formId; @ApiModelProperty(value = "证书编号", dataType = "String") @@ -20,7 +25,7 @@ private String orderNo; @ApiModelProperty(value = "委托方名称", dataType = "String") - private String cutomerName; + private String customerName; @ApiModelProperty(value = "样品编号", dataType = "String") private String sampleNo; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java index 28c6d26..bacfc56 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java @@ -58,8 +58,14 @@ /** * 创建时间 */ - @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 表单id diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index 9528373..cd1066f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,7 +114,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index b1048c1..bf75da4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,8 +111,8 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; /** * 可选决策项 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java index 9d1f2f0..8f0bfce 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java @@ -25,14 +25,26 @@ /** * 培训时间 */ - @ApiModelProperty(value = "培训时间(查询出该时间前列表倒序)", dataType = "String") - private String trainTime; + @ApiModelProperty(value = "培训开始时间", dataType = "String") + private String trainStartTime; + + /** + * 培训时间 + */ + @ApiModelProperty(value = "培训结束时间", dataType = "String") + private String trainEndTime; /** * 创建时间 */ - @ApiModelProperty(value = "创建时间(查询出该时间前列表倒序)", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 组织部门id-系统组织表 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 8893256..847993f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -117,6 +117,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java new file mode 100644 index 0000000..17e0770 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java @@ -0,0 +1,37 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@TableName("business_deal_record") +@ApiModel("委托书操作记录") +@AllArgsConstructor +@Builder +@Data +public class BusinessDealRecord { + + private Long id; + + @ApiModelProperty("委托书id") + private Long orderId; + + @ApiModelProperty("原因") + private String recordContent; + + private Long createUser; + + @ApiModelProperty("操作人名称") + private String createUserName; + + @ApiModelProperty("创建时间") + private String createTime; + + @ApiModelProperty("备注") + private String remark; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java index 8778b11..9e960f6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java @@ -87,6 +87,9 @@ private Integer isDel; + @ApiModelProperty(value = "最后更新人员", dataType = "String") + private Long updateUser; + @ApiModelProperty(value = "创建人", dataType = "String") private Long createUser; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java new file mode 100644 index 0000000..6572d23 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java @@ -0,0 +1,31 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * @author cz + */ +@Data +@TableName("business_order_record") +public class BusinessOrderRecord { + + private Long id; + + private Long orderId; + + /** + * 记录内容 + */ + private String recordTContent; + + /** + * 创建人id + */ + private Long createUser; + + /** + * 创建人时间 + */ + private String createTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java index ae324f0..ffc21af 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java @@ -146,7 +146,7 @@ private String remark; /** - * 流程定义id + * 流程实例id */ @ApiModelProperty(value = "流程实例id(未通过培训计划编辑接口必传参数)", dataType = "String") @TableField("process_id") 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 a0cceda..230c779 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 @@ -1,7 +1,6 @@ package com.casic.missiles.service.Impl.business; import cn.hutool.core.lang.Assert; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; @@ -15,14 +14,12 @@ import com.casic.missiles.dto.business.print.CertificateListRequest; import com.casic.missiles.dto.business.print.CertificateListResponse; import com.casic.missiles.dto.business.print.CertificateRefusePrintRequest; -import com.casic.missiles.dto.flowable.AllApproveDTO; 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.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -40,6 +37,9 @@ import java.util.*; import java.util.stream.Collectors; +/** + * @author cz + */ @Service @AllArgsConstructor public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { @@ -81,16 +81,19 @@ } @Override - @Transactional - public ReturnDTO agreeAginPrint(ApprovalAgreeRequest request) { - ReturnDTO returnDTO = approvalOperateService.agree(request); - return returnDTO; + public ReturnDTO agreeAgainPrint(ApprovalAgreeRequest request) { + return approvalOperateService.agree(request); } + /** + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * + * @return + */ @Override @Transactional public ReturnDTO refuseAgainPrint(CertificateRefusePrintRequest request) { - ApprovalRefuseRequest approvalRefuseRequest=new ApprovalRefuseRequest(); + ApprovalRefuseRequest approvalRefuseRequest = new ApprovalRefuseRequest(); approvalRefuseRequest.setTaskId(request.getTaskId()); approvalRefuseRequest.setComments(request.getComments()); ReturnDTO returnDTO = approvalOperateService.refuse(approvalRefuseRequest); @@ -99,8 +102,9 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setPrintStatus("2");//设置为不能打印 - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //设置为不能打印 + certificateReport.setPrintStatus("2"); + certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -108,7 +112,9 @@ return ReturnUtil.success(); } - //提交审批流程,修改证书审批状态、修改打印状态 + /** + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + */ @Transactional @Override public ReturnDTO submitAgainPrint(BaseApprovalSubmitRequest request) { @@ -119,8 +125,10 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //审批状态为审批中 - certificateReport.setPrintStatus("3"); //打印状态审批中 + //审批状态为审批中 + certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //打印状态审批中 + certificateReport.setPrintStatus("3"); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -128,13 +136,14 @@ return ReturnUtil.success(); } - //可打印:只需要查询可打印状态即可 - //查询工作流 + /** + * 可打印:只需要查询可打印状态即可,待审批状态,查询工作流,同时传输任务id + */ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)) { handlerBeApproved(approvalList, page, request); - } else if (request.getPrintStatus().equals("0")) { + } else if("0".equals(request.getPrintStatus())) { request.setApprovalStatus(null); approvalList.setRecords(this.baseMapper.selectBatchForApprovalList(page, request, null)); } else { @@ -147,18 +156,9 @@ return approvalList; } - private Page handleAllApprovalListResponse(Page approvalList, List allApproveList) { - Map taskMap = allApproveList.stream().collect(Collectors.toMap(AllApproveDTO::getBusinessKey, AllApproveDTO::getStatus)); - //状态补全 - approvalList.getRecords().forEach(approval -> { - approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); - approval.setApprovalStatus(taskMap.get(String.valueOf(approval.getId()))); - }); - //排序 - approvalList.setRecords(approvalList.getRecords().stream().sorted(Comparator.comparing(CertificateListResponse::getCreateTime).reversed()).collect(Collectors.toList())); - return approvalList; - } - + /** + * 查询待审批状态的打印证书,查询业务主键信息,据此查询相应的证书,并填充相应的工作流状态 + */ private Page handlerBeApproved(Page approvalList, Page page, CertificateListRequest request) { List businessKeys = new ArrayList<>(); List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); @@ -179,11 +179,4 @@ return approvalList; } - private void handleApprovalListResponse(Page approvalList, String status) { - approvalList.getRecords().stream().forEach(result -> { - //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 - result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); - }); - } - } 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 b397f83..859010b 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 @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.business; -import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -46,7 +45,9 @@ private final IBaseExportService iBaseExportService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; - //** 送检人查询条件不在设备交接单中,需要联查才可以实现 + /** + * 送检人查询条件不在设备交接单中,需要联查才可以实现 + */ @Override public Page exchangeListPage(Page page, InterchangeListRequest request) throws Exception { page.setRecords(this.baseMapper.selectInterchangeListPage(page, request)); @@ -54,7 +55,8 @@ } @Override - public BusinessInterchangeDetailResponse exchangeDetail(Long id) { ; + public BusinessInterchangeDetailResponse exchangeDetail(Long id) { + ; BusinessInterchangeDetailResponse businessExchange = this.baseMapper.getInfoById(id); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", businessExchange.getOrderId()); @@ -71,19 +73,21 @@ @Override @Transactional public ReturnDTO deleteExchange(Long id) { - Integer deleteFlag = this.baseMapper.deleteById(id); - //交接单绑定的肯定有样品,所以samplUpdateFlag肯定为true - Boolean samplUpdateFlag = sampleStatusDeletor(id) > 0; - if (deleteFlag > 0 && samplUpdateFlag) { + int deleteFlag = this.baseMapper.deleteById(id); + //交接单绑定的肯定有样品,所以sampleUpdateFlag肯定为true + boolean sampleUpdateFlag = sampleStatusDeletor(id) > 0; + if (deleteFlag > 0 && sampleUpdateFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //更新不对样品有任何操作 + /** + * 更新不对样品有任何操作 + */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { - Integer updateFlag = this.baseMapper.updateById(businessInterchange); + int updateFlag = this.baseMapper.updateById(businessInterchange); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -94,8 +98,8 @@ @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { populationExchange(businessInterchange); - Integer addFlag = this.baseMapper.insert(businessInterchange); - Boolean sampleAddFlag = true; + int addFlag = this.baseMapper.insert(businessInterchange); + boolean sampleAddFlag = true; if (!CollectionUtils.isEmpty(businessInterchange.getCustomerSampleList())) { for (CustomerSampleListVO sampleInfo : businessInterchange.getCustomerSampleList()) { sampleAddFlag = sampleAddFlag && sampleStatusUpdator(sampleInfo, businessInterchange.getId()) > 0; 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 3bd316c..585a207 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 @@ -215,13 +215,7 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - Map resultMap = SqlRunner.db().selectOne( - "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + - "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + - "JOIN sys_user su ON srr.USERID = su.ID " + - "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + - "WHERE su.ID = {0}" + - "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + Map resultMap = selectDirectDept(user); if(CollectionUtils.isEmpty(resultMap) || Objects.isNull(resultMap.get("deptId"))){ return new Page<>(); } @@ -390,16 +384,7 @@ Long maxNo = labExecutiveTemplateInfoMapper.selectMaxTemplateNo(); for (int i = 0; i < labExecutiveInfos.size(); i++) { BusinessLabExecutiveInfo lab = labExecutiveInfos.get(i); - BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); - templateInfo.setTemplateCode(templateCode); -// templateInfo.setSampleTypeId(); - templateInfo.setSampleId(lab.getSampleId()); - templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); - templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); -// templateInfo.setMeasureItem(); - templateInfo.setExecuteSequence(lab.getMeasureSequence()); -// templateInfo.setCreateUser(); + BusinessLabExecutiveTemplateInfo templateInfo = getBusinessLabExecutiveTemplateInfo(maxNo, i, lab); labList.add(templateInfo); } if(labExecutiveTemplateInfoService.saveBatch(labList)) log.info("实验室检测记录批量保存为实验室检测模板成功"); @@ -422,6 +407,20 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { + BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); + String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + templateInfo.setTemplateCode(templateCode); +// templateInfo.setSampleTypeId(); + templateInfo.setSampleId(lab.getSampleId()); + templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); + templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); +// templateInfo.setMeasureItem(); + templateInfo.setExecuteSequence(lab.getMeasureSequence()); +// templateInfo.setCreateUser(); + return templateInfo; + } + @Override public ReturnDTO updateExecutiveList(UpdateExecutiveListRequest request) { //删除前端已删除的ids @@ -469,7 +468,6 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - //登录用户id获取计量人员id,实验室检测信息中存储的是计量人员id MeterStaff meterStaff = getMeterStaffInfo(user); if(Objects.isNull(meterStaff)) throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_NOT_STAFF); Long userId = meterStaff.getId(); @@ -510,7 +508,6 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - //登录用户id获取计量人员id,实验室检测信息中存储的是计量人员id MeterStaff meterStaff = getMeterStaffInfo(user); if(Objects.isNull(meterStaff)) throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_NOT_STAFF); Long userId = meterStaff.getId(); @@ -518,15 +515,7 @@ //删除实验室检测列表中退回数据 int deleteFlag = labExecutiveInfoMapper.deleteById(request.getId()); //退回操作记录表中增加数据 - BusinessLabExecutiveOperateLog operateLog = new BusinessLabExecutiveOperateLog(); - operateLog.setOrderId(request.getOrderId()); - operateLog.setSampleId(request.getSampleId()); - operateLog.setMeasureDeptId(request.getMeasureSegmentId()); - operateLog.setMeasurePersonId(request.getMeasurePersonId()); - operateLog.setOperatePersonId(userId); - operateLog.setOperatePersonName(user.getName()); - operateLog.setMeasureStatus(MeasureStatusEnum.SEND_BACK); - operateLog.setOperateReason(request.getOperateReason()); + BusinessLabExecutiveOperateLog operateLog = getBusinessLabExecutiveOperateLog(request, user, userId); int insertFlag = labExecutiveOperateLogMapper.insert(operateLog); if(deleteFlag > 0 && insertFlag > 0){ //退回后会将下一个要执行的实验室检测状态更新为待分配,将后面的实验室顺序变更为连续(都进行减1) @@ -596,4 +585,29 @@ } }); } + + private Map selectDirectDept(AuthUser user) { + Map resultMap = SqlRunner.db().selectOne( + "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON srr.USERID = su.ID " + + "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + + "WHERE su.ID = {0}" + + "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + return resultMap; + } + + private BusinessLabExecutiveOperateLog getBusinessLabExecutiveOperateLog(ExecutiveSendBackRequest request, AuthUser user, Long userId) { + BusinessLabExecutiveOperateLog operateLog = new BusinessLabExecutiveOperateLog(); + operateLog.setOrderId(request.getOrderId()); + operateLog.setSampleId(request.getSampleId()); + operateLog.setMeasureDeptId(request.getMeasureSegmentId()); + operateLog.setMeasurePersonId(request.getMeasurePersonId()); + operateLog.setOperatePersonId(userId); + operateLog.setOperatePersonName(user.getName()); + operateLog.setMeasureStatus(MeasureStatusEnum.SEND_BACK); + operateLog.setOperateReason(request.getOperateReason()); + return operateLog; + } + } 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 f6b3933..48742b4 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 @@ -9,14 +9,17 @@ import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.ExportEnum; import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; import com.casic.missiles.mapper.business.BusinessOrderMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -49,18 +52,19 @@ @AllArgsConstructor public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { - private final BusinessOrderListReponseMapper orderListReponseMapper; + private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; private final CustomerSampleService customerSampleService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; + private final BusinessDealRecordMapper dealRecordMapper; /** * 1、分页查询 2、批量查询所有的委托书、样品关系 => 进行以sampleId为key主键map list 3、查询计算样品数量 */ @Override public Page orderListPage(Page page, OrderListRequest request) throws Exception { - QueryWrapper wrapper = listParamWrapper(request); - Page resultPage = this.orderListReponseMapper.selectPage(page, wrapper); + QueryWrapper wrapper = listParamWrapperBuilder(request); + Page resultPage = this.orderListResponseMapper.selectPage(page, wrapper); List orderSampleList = sampleRelationMapper.selectList(null); Map> orderSampleMap = orderSampleList.stream().collect( Collectors.groupingBy(BusinessOrderSampleRelation::getOrderId) @@ -74,7 +78,9 @@ return resultPage; } - // 1、查询委托书详情 2、对样品列表进行查询 3、设置默认在库标志 + /** + * 1、查询委托书详情 2、对样品列表进行查询 3、设置默认在库标志 + */ @Override public BusinessOrder orderDetail(Long id) { BusinessOrder businessOrder = this.baseMapper.selectById(id); @@ -91,29 +97,24 @@ return businessOrder; } - @Override - public ReturnDTO deleteOrder(Long id) { - Integer deleteFlag = this.baseMapper.deleteById(id); - if (deleteFlag > 0) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - - // 删除样品和委托书的明细关系,填充传输的明细样品数据, - // 对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + /** + * 1、删除样品和委托书的明细关系,填充传输的明细样品数据 + * 2、对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + */ @Override public ReturnDTO updateOrder(BusinessOrder businessOrder) { - Integer updateFlag = this.baseMapper.updateById(businessOrder); - this.sampleStatusDeletor(businessOrder.getId()); - Boolean sampleUpdateFlag = true; + AuthUser authUser = ShiroKit.getUser(); + businessOrder.setUpdateUser(authUser.getId()); + int updateFlag = this.baseMapper.updateById(businessOrder); + this.deleteSampleById(businessOrder.getId()); + boolean sampleUpdateFlag = true; this.doSampleListPopulation(businessOrder); for (CustomerSampleInfo sampleInfo : businessOrder.getCustomerSampleInfoList()) { sampleInfo.setDeliverer(businessOrder.getDeliverer()); sampleInfo.setDelivererTel(businessOrder.getDelivererTel()); - if (sampleInfo.getIsExistSample().equals("0")) { + if ("0".equals(sampleInfo.getIsExistSample())) { ReturnDTO returnDTO = customerSampleService.addSample(sampleInfo); - sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode().equals("200"); + sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode().equals(200); } else { ReturnDTO returnDTO = customerSampleService.updateSample(sampleInfo); sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode() == 200; @@ -126,25 +127,27 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //删除样品和委托书的明细关系,填充传输的明细样品数据, - // 对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + /** + * 1、删除样品和委托书的明细关系,填充传输的明细样品数据 + * 2、对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + */ @Override @Transactional public ReturnDTO addOrder(BusinessOrder businessOrder) { initOrderInfo(businessOrder); - Integer addFlag = this.baseMapper.insert(businessOrder); - Boolean sampleAddFlag = true; - this.sampleStatusDeletor(businessOrder.getId()); + int addFlag = this.baseMapper.insert(businessOrder); + boolean sampleAddFlag = true; + this.deleteSampleById(businessOrder.getId()); this.doSampleListPopulation(businessOrder); for (CustomerSampleInfo sampleInfo : businessOrder.getCustomerSampleInfoList()) { sampleInfo.setDeliverer(businessOrder.getDeliverer()); sampleInfo.setDelivererTel(businessOrder.getDelivererTel()); - if (sampleInfo.getIsExistSample().equals("0")) { + if ("0".equals(sampleInfo.getIsExistSample())) { ReturnDTO returnDTO = customerSampleService.addSample(sampleInfo); - sampleAddFlag = sampleAddFlag && returnDTO.getCode() == 200; + sampleAddFlag = sampleAddFlag && returnDTO.getCode().equals(200); } else { ReturnDTO returnDTO = customerSampleService.updateSample(sampleInfo); - sampleAddFlag = sampleAddFlag && returnDTO.getCode() == 200; + sampleAddFlag = sampleAddFlag && returnDTO.getCode().equals(200); } sampleAddFlag = sampleAddFlag && sampleStatusCreator(sampleInfo.getOrderId(), sampleInfo.getMeasureContent(), sampleInfo.getId()) > 0; } @@ -154,58 +157,135 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //如查询说明,补充对是否加急的excel文档表现 + /** + * 1、判断是否存在ids,进行其他参数属性的初始化 + * 2、查询查询构建 + * 3、查询样品关系,构建委托书样品数量map集合 + * 4、字典值进行状态转化 + */ @Override public void orderExport(OrderListRequest request, HttpServletResponse response) { try { - List orderListReponseList; + List orderResponseList; if (!CollectionUtils.isEmpty(request.getIds())) { - orderListReponseList = orderListReponseMapper.selectBatchIds(request.getIds()); + orderResponseList = orderListResponseMapper.selectBatchIds(request.getIds()); } else { - QueryWrapper wrapper = listParamWrapper(request); - orderListReponseList = this.orderListReponseMapper.selectList(wrapper); + QueryWrapper wrapper = listParamWrapperBuilder(request); + orderResponseList = this.orderListResponseMapper.selectList(wrapper); } + //查询样品关系,构建委托书样品数量map集合, List orderSampleList = sampleRelationMapper.selectList(null); Map> orderSampleMap = orderSampleList.stream().collect( Collectors.groupingBy(BusinessOrderSampleRelation::getOrderId) ); - orderListReponseList.forEach( + orderResponseList.forEach( orderSample -> orderSample.setSampleCount(orderSampleMap.containsKey(orderSample.getId()) ? orderSampleMap.get(orderSample.getId()).size() : 0) ); - for (OrderListReponse orderListReponse : orderListReponseList) { - orderListReponse.setIsUrgent(orderListReponse.getIsUrgent().equals("1") ? "是" : "否"); + //字典转换 + for (OrderListReponse orderListReponse : orderResponseList) { + orderListReponse.setIsUrgent("1".equals(orderListReponse.getIsUrgent()) ? "是" : "否"); DictCodeUtils.convertDictCodeToName(orderListReponse); } - iBaseExportService.exportExcel(response, OrderListReponse.class, orderListReponseList, ExportEnum.ORDER_EXPORT.getSheetName()); + iBaseExportService.exportExcel(response, OrderListReponse.class, orderResponseList, ExportEnum.ORDER_EXPORT.getSheetName()); } catch (Exception ex) { log.error("委托书导出出现异常,异常信息为{}", ex); } } + /** + * 通过状态对委托书状态进行更新 + */ @Override - public ReturnDTO updateStatusById(Long id, String status) { - BusinessOrder businessOrder = new BusinessOrder(); - businessOrder.setId(id); - businessOrder.setStatus(status); - Integer updateFlag = this.baseMapper.updateById(businessOrder); - if (updateFlag > 0) { + public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { + int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); + int addDealRecordFlag = addDealRecord(orderCancelRequest); + if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 取消记录,修改委托书状态,同时生成委托书操作日志,供用户查询 + */ + @Override + @Transactional + public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int addDealRecordFlag = addDealRecord(orderCancelRequest); + if (updateFlag > 0 && addDealRecordFlag > 0) { + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + /** + * 操作记录的查询 + */ + @Override + public List optionRecord(Long id) { + QueryWrapper dealRecordQueryWrapper = new QueryWrapper() + .eq("order_id", id); + return dealRecordMapper.selectList(dealRecordQueryWrapper); + } + + /** + * 新增操作记录 + */ + private int addDealRecord(OrderCancelRequest orderCancelRequest) { + AuthUser authUser = ShiroKit.getUser(); + BusinessDealRecord businessDealRecord = BusinessDealRecord.builder() + .createUser(authUser.getId()) + .createUserName(authUser.getName()) + .recordContent(reasonConvert(orderCancelRequest.getReason())) + .orderId(orderCancelRequest.getId()) + .build(); + return dealRecordMapper.insert(businessDealRecord); + } + + /** + * 强调正在做状态更新 + */ + private int doUpdateStatusById(Long orderId, String status) { + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(orderId); + businessOrder.setStatus(status); + AuthUser authUser = ShiroKit.getUser(); + businessOrder.setUpdateUser(authUser.getId()); + return this.baseMapper.updateById(businessOrder); + } + + /** + * 原因字典转化为相应的值 + */ + private String reasonConvert(String reasonIds) { + String reasonStr = ""; + if (StringUtils.isEmpty(reasonIds)) { + return reasonStr; + } + String[] reasonIdList = reasonIds.split(","); + for (String reasonId : reasonIdList) { + String reasonContent = dealRecordMapper.getDictContent(reasonId); + reasonStr = reasonStr + reasonContent + ","; + } + return reasonStr.substring(0, reasonStr.length() - 1); + } + private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); + businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); businessOrder.setStatus("1"); } - - private QueryWrapper listParamWrapper(OrderListRequest request) { + /** + * 委托书列表查询构建方法 + */ + private QueryWrapper listParamWrapperBuilder(OrderListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getDeliverer()), "deliverer", request.getDeliverer()); @@ -223,21 +303,19 @@ return queryWrapper; } - private Integer sampleStatusDeletor(Long orderId) { + private int deleteSampleById(Long orderId) { QueryWrapper sampleStatusRelationWrapper = new QueryWrapper() .eq("order_id", orderId); - Integer sampleStatus = this.sampleRelationMapper.delete(sampleStatusRelationWrapper); - return sampleStatus; + return this.sampleRelationMapper.delete(sampleStatusRelationWrapper); } - private Integer sampleStatusCreator(Long orderId, String measureContent, Long sampleId) { + private int sampleStatusCreator(Long orderId, String measureContent, Long sampleId) { BusinessOrderSampleRelation sampleStatusPopulation = new BusinessOrderSampleRelation(); sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); sampleStatusPopulation.setMeasureType("1"); - Integer sampleStatus = this.sampleRelationMapper.insert(sampleStatusPopulation); - return sampleStatus; + return this.sampleRelationMapper.insert(sampleStatusPopulation); } private void doSampleListPopulation(BusinessOrder businessOrder) { @@ -249,4 +327,5 @@ } ); } + } 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 e922dc2..07c88e9 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 com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -11,8 +12,6 @@ import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; -import com.casic.missiles.dto.business.interchange.InterchangeListResponse; -import com.casic.missiles.dto.meter.TrainPlanApprovalListResponse; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; @@ -21,20 +20,22 @@ import com.casic.missiles.mapper.business.*; import com.casic.missiles.model.business.*; import com.casic.missiles.service.business.IBusinessDispatchService; -import com.casic.missiles.utils.ConvertUtils; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.util.ObjectUtils; -import org.springframework.util.StringUtils; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Objects; import java.util.Optional; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -45,84 +46,59 @@ private final BusinessLabExecutiveInfoMapper labExecutiveInfoMapper; private final IBaseExportService iBaseExportService; - //终止、回退、收入、归还、催办按钮 - //列表返回只需要控制已收入回退按钮显示的权限即可,其中回退在没有任何实验室进行的情况,可以进行设备的回退 + /** + * 终止、回退、收入、归还、催办按钮 + * 列表返回只需要控制已收入回退按钮显示的权限即可,其中回退在没有任何实验室进行的情况,可以进行设备的回退 + */ @Override public Page listPage(Page page, DeviceDispatchDTO request) { -// //查询委托书和样品关联表中的各状态的样品 - Page dispatchVOPage = orderSampleRelationMapper.getSampleListByStatus(page, request); + //查询委托书和样品关联表中的各状态的样品 + Page dispatchVoPage = orderSampleRelationMapper.getSampleListByStatus(page, request); log.info("设备收发-当前查询样品状态为:{}", request.getSampleStatus()); - List records = dispatchVOPage.getRecords(); + List records = dispatchVoPage.getRecords(); if (CollectionUtils.isEmpty(records)) { return new Page<>(); } - doDispatchVOPagePopution(records, request); - return dispatchVOPage; - } - - - //进行已收入分页的当前环节回填、出具证书回填 - private void doDispatchVOPopulation(DeviceDispatchVO dispatchVO, Long sampleId, Long orderId) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); - HandOutLabExecutiveDTO handOutLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); - Integer measureNumberStatus = labExecutiveInfoMapper.getMeasureNumberStatus(orderId, sampleId); - // - if (!Objects.isNull(handOutLabExecutiveDTO)) { - dispatchVO.setRequireCertifications(handOutLabExecutiveDTO.getRequireCertifications()); - dispatchVO.setCurrentSegment(handOutLabExecutiveDTO.getDeptName()); - Long measureDeptId = handOutLabExecutiveDTO.getMeasureDeptId(); - dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, measureDeptId)); - } else { - dispatchVO.setAlreadyCertifications(0); - dispatchVO.setRequireCertifications(ObjectUtils.isEmpty(measureNumberStatus) ? 0 : measureNumberStatus); - } - if (!ObjectUtils.isEmpty(measureNumberStatus) && measureNumberStatus > 0) { - dispatchVO.setFallbackState(0);//不可以进行回退 - } else { - dispatchVO.setFallbackState(1);//可以进行回退 - } + doPopulateDispatch(records, request); + return dispatchVoPage; } /** - * 重点填充类 - * - * @param dispatchVOPage - * @param request + * 分发列表填充 */ - private void doDispatchVOPagePopution(List dispatchVOPage, DeviceDispatchDTO request) { - dispatchVOPage.stream().forEach( + private void doPopulateDispatch(List dispatchVOPage, DeviceDispatchDTO request) { + dispatchVOPage.forEach( dispatchVO -> { Long orderId = dispatchVO.getOrderId(); Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && request.getSampleStatus().equals("8") && noSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { - //待分发状态,分发性质:有退回就是退回分发,当前检定环节:待分配,已出具证书:无,出具证书总数:无 + //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 case SampleStatusEnum.TO_HANDOUT: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //检测中状态,分发性质:无,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 + //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 case SampleStatusEnum.IN_MEASURE: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //检测完状态,分发性质:无,当前检定环节:完成,已出具证书:无,出具证书总数:无 + //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 case SampleStatusEnum.MEASURE_COMPLETE: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //超期样品(即检测超期,未在应检完时间检完),分发性质:无,当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 + doDispatchVoPopulation(dispatchVO, sampleId, orderId); + return; + //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 case SampleStatusEnum.BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); - Long deptId = overLabExecutiveDTO.getMeasureDeptId(); + Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); dispatchVO.setRequireCertifications(overLabExecutiveDTO.getRequireCertifications()); - if (checkSampleFinshStauts(dispatchVO)) { + // 判断样品是完成或接收状态,直接显示即可 + if (checkSampleFinishStatus(dispatchVO)) { return; } dispatchVO.setCurrentSegment(overLabExecutiveDTO.getDeptName()); break; + default: + break; } } ); @@ -131,8 +107,7 @@ @Override public void exportSampleDispatchList(DeviceDispatchDTO request, HttpServletResponse response) { try { - - Page deviceDispatchVOPage = PageFactory.defaultPage(); + Page deviceDispatchVOPage; if (!CollectionUtils.isEmpty(request.getIds())) { initDeviceDispatchDTOEmpty(request); } else { @@ -150,29 +125,59 @@ } + /** + * 状态更新 + */ @Override public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer updateFalg = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFalg > 0) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - - //终止操作,不仅更新状态,同时进行实验室状态的更新 - @Override - @Transactional - public ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, true); - //实验室状态数据的更新 - reasonPopulation(deviceStatusChangeDTO); + Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); if (updateFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - private void reasonPopulation(DeviceStatusChangeDTO deviceStatusChangeDTO) { + /** + * 终止操作,不仅更新状态,同时进行实验室状态原因的更新 + */ + @Override + @Transactional + public ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO) { + Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, true); + //实验室状态数据的更新 + updateLabExecutiveInfo(deviceStatusChangeDTO); + if (updateFlag > 0) { + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + /** + * 进行已收入分页的当前环节回填、出具证书回填 + */ + private void doDispatchVoPopulation(DeviceDispatchVO dispatchVO, Long sampleId, Long orderId) { + dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + HandOutLabExecutiveDTO handOutLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); + Integer measureNumberStatus = labExecutiveInfoMapper.getMeasureNumberStatus(orderId, sampleId); + //证书,当前环节的回填 + if (!Objects.isNull(handOutLabExecutiveDTO)) { + dispatchVO.setRequireCertifications(handOutLabExecutiveDTO.getRequireCertifications()); + dispatchVO.setCurrentSegment(handOutLabExecutiveDTO.getDeptName()); + Long measureDeptId = handOutLabExecutiveDTO.getMeasureDeptId(); + dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, measureDeptId)); + } else { + dispatchVO.setAlreadyCertifications(0); + dispatchVO.setRequireCertifications(ObjectUtils.isEmpty(measureNumberStatus) ? 0 : measureNumberStatus); + } + //处于检测中、检测完、待检测的实验室大于0,不可以进行回退,否则可以进行回退 + if (!ObjectUtils.isEmpty(measureNumberStatus) && measureNumberStatus > 0) { + dispatchVO.setFallbackState(0); + } else { + dispatchVO.setFallbackState(1); + } + } + + private void updateLabExecutiveInfo(DeviceStatusChangeDTO deviceStatusChangeDTO) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); @@ -182,10 +187,13 @@ labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } + /** + * 消息催办 + */ @Override public ReturnDTO rushDoProcess(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer deleteFalg = this.baseMapper.deleteById(deviceStatusChangeDTO.getOrderId()); - if (deleteFalg > 0) { + int deleteFlag = this.baseMapper.deleteById(deviceStatusChangeDTO.getOrderId()); + if (deleteFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -203,7 +211,7 @@ return null; } Optional handOutLabExecutiveDTOOptional = labExecutiveList.stream().findFirst(); - return handOutLabExecutiveDTOOptional.isPresent() ? handOutLabExecutiveDTOOptional.get() : null; + return handOutLabExecutiveDTOOptional.orElse(null); } private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { @@ -214,7 +222,9 @@ return wrapper; } - //更新检测完成后,执行当前正在进行数据 + /** + * 更新检测完成后,执行当前正在进行数据 + */ private Integer statusChangeUpdator(DeviceStatusChangeDTO statusChangeDTO, Boolean terminateFlag) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); @@ -227,15 +237,18 @@ return this.orderSampleRelationMapper.update(businessOrderSampleRelation, queryWrapper); } - //判断不是自检 - private Boolean noSelfMeasure(DeviceDispatchVO dispatchVO) { - if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType()) && (dispatchVO.getMeasureType().equals("1") || dispatchVO.getMeasureType().equals("2"))) { - String currentSegment = dispatchVO.getMeasureType().equals("1") ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; - dispatchVO.setCurrentSegment(currentSegment); - return true; - } else { - return false; + /** + * 判断不是自检 + */ + 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; + dispatchVO.setCurrentSegment(currentSegment); + return true; + } } + return false; } private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { @@ -250,8 +263,10 @@ request.setEndTime(null); } - // 判断样品是完成或接收状态,直接显示即可 - private Boolean checkSampleFinshStauts(DeviceDispatchVO dispatchVO) { + /** + * 判断样品是完成或接收状态,直接显示即可 + */ + private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); 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 eecf207..4f06678 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 @@ -28,6 +28,9 @@ import javax.servlet.http.HttpServletResponse; import java.util.List; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -58,7 +61,7 @@ @Override public ReturnDTO deleteAdvice(Long id) { - Integer deleteFlag = customerAdviceMapper.deleteById(id); + int deleteFlag = customerAdviceMapper.deleteById(id); if (deleteFlag > 0) { return ReturnUtil.success(); } @@ -67,7 +70,7 @@ @Override public ReturnDTO updateAdvice(CustomerAdviceInfo customerAdviceInfo) { - Integer updateFlag = customerAdviceMapper.updateById(customerAdviceInfo); + int updateFlag = customerAdviceMapper.updateById(customerAdviceInfo); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -77,7 +80,7 @@ @Override public ReturnDTO addAdvice(CustomerAdviceInfo customerAdviceInfo) { initCustomerAdviceInfo(customerAdviceInfo); - Integer addFlag = customerAdviceMapper.insert(customerAdviceInfo); + int addFlag = customerAdviceMapper.insert(customerAdviceInfo); if (addFlag > 0) { return ReturnUtil.success(); } 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 79a776b..3bbcaaf 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 @@ -55,7 +55,7 @@ public Page listPage(Page page, CustomerSampleListRequest request) throws Exception { QueryWrapper wrapper = listParamWrapper(request); Page customerSamplePage = customerSampleListResponseMapper.selectPage(page, wrapper); - customerSamplePage.getRecords().stream() + customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { @@ -72,26 +72,30 @@ return customerSamplePage; } - //新增样品表,同时新增样品委托书关联状态表 + /** + * 新增样品表,同时新增样品委托书关联状态表 + */ @Override @Transactional public ReturnDTO addSample(CustomerSampleInfo customerSampleInfo) { initSample(customerSampleInfo); - Integer addFlag = this.baseMapper.insert(customerSampleInfo); + int addFlag = this.baseMapper.insert(customerSampleInfo); if (addFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //更新样品表,同时更新样品委托书关联状态表 + /** + * 更新样品表,同时更新样品委托书关联状态表 + */ @Override @Transactional public ReturnDTO updateSample(CustomerSampleInfo customerSampleInfo) { AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setUpdateUser(authUser.getId()); initSample(customerSampleInfo); - Integer updateFlag = this.baseMapper.updateById(customerSampleInfo); + int updateFlag = this.baseMapper.updateById(customerSampleInfo); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -110,8 +114,6 @@ /** * 只导出样品列表信息 * - * @param request - * @param response */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -148,9 +150,8 @@ } @Override - @Transactional public ReturnDTO deleteSample(Long id) { - Integer deleteFalg = this.baseMapper.deleteById(id); + int deleteFalg = this.baseMapper.deleteById(id); if (deleteFalg > 0) { return ReturnUtil.success(); } @@ -158,12 +159,12 @@ } @Override - public Page mesureRecordsBySampleId(Long id) { + public Page measureRecordsBySampleId(Long id) { Page page = PageFactory.defaultPage(); QueryWrapper wrapper = new QueryWrapper() .eq("sample_id", id); - Page mesureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); - return mesureRecordsResponsePage; + Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + return measureRecordsResponsePage; } @Override @@ -197,12 +198,12 @@ 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());//样品所属 - queryWrapper.like(StringUtils.isNotBlank(request.getSampleModel()), "sample_model", request.getSampleModel());//样品型号 - queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName());//委托方名称 - queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo());//委托方代码 + 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()); + queryWrapper.like(StringUtils.isNotBlank(request.getSampleModel()), "sample_model", request.getSampleModel()); + 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"), "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); 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 62c4a00..32d4dee 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 @@ -70,7 +70,7 @@ @Transactional public ReturnDTO addCustomer(CustomerInfo customerInfo) { initCustomerInfo(customerInfo); - Integer addFlag = this.baseMapper.insert(customerInfo); + int addFlag = this.baseMapper.insert(customerInfo); Boolean userAddFlag = userInfoListCreator(customerInfo.getCustomerUserList(), customerInfo.getId()); if (addFlag > 0 && userAddFlag) { return ReturnUtil.success(); @@ -84,7 +84,7 @@ AuthUser authUser = ShiroKit.getUser(); customerInfo.setUpdateUser(authUser.getId()); userInfoListDeletor(customerInfo.getId()); - Integer updateFlag = this.baseMapper.updateById(customerInfo); + int updateFlag = this.baseMapper.updateById(customerInfo); Boolean userUpdateFlag = userInfoListCreator(customerInfo.getCustomerUserList(),customerInfo.getId()); if (updateFlag > 0 && userUpdateFlag) { return ReturnUtil.success(); @@ -102,7 +102,7 @@ @Override public ReturnDTO deleteCustomer(Long id) { CustomerInfo customerInfo = this.baseMapper.selectById(id); - Integer deleteFlag = this.baseMapper.deleteById(id); + int deleteFlag = this.baseMapper.deleteById(id); userInfoListDeletor(customerInfo.getId()); if (deleteFlag > 0) { return ReturnUtil.success(); @@ -116,8 +116,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("customer_id", customerId); queryWrapper.orderByDesc("create_time"); - Page sampleRecordsResponsePage = sampleRecordsResponseMapper.selectPage(page, queryWrapper); - return sampleRecordsResponsePage; + return sampleRecordsResponseMapper.selectPage(page, queryWrapper); } @@ -129,9 +128,8 @@ @Override//暂定不做 public Page mesureRecordsByCustomerId(Long customerId) { - Page mesureRecordsResponsePage = PageFactory.defaultPage(); - - return mesureRecordsResponsePage; + Page measureRecordsResponsePage = PageFactory.defaultPage(); + return measureRecordsResponsePage; } @Override @@ -139,8 +137,7 @@ Page page = PageFactory.defaultPage(); QueryWrapper wrapper = new QueryWrapper() .eq("customer_id", customerId); - Page certificationResponsePage = certificationMapper.selectPage(page, wrapper); - return certificationResponsePage; + return certificationMapper.selectPage(page, wrapper); } @Override @@ -185,8 +182,7 @@ private List customerUserDetail(Long id) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("customer_id", id); - List customerUserInfoList = customerUserMapper.selectList(queryWrapper); - return customerUserInfoList; + return customerUserMapper.selectList(queryWrapper); } private void userInfoListDeletor(Long customerId) { @@ -197,12 +193,12 @@ private Boolean userInfoListCreator(List userInfoList, Long id) { Long maxUserNo = customerUserMapper.selectMaxUserNo(); - Boolean userUpdateFlag = true; + boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); customerUserInfo.setUserNo(customerNo); - Integer userAddNum = customerUserMapper.insert(customerUserInfo); + int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { userUpdateFlag = false; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java index d816cb8..c9997c5 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java @@ -11,6 +11,9 @@ import java.util.*; import java.util.stream.Collectors; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -24,8 +27,7 @@ Map trendMap = sampleList.stream().collect( Collectors.toMap(e -> String.valueOf(e.get("increaseTime")), e -> String.valueOf(e.get("count"))) ); - List trendResponseList = recentYearBuilder(trendMap); - return trendResponseList; + return recentYearBuilder(trendMap); } @Override @@ -34,8 +36,7 @@ Map trendMap = sampleList.stream().collect( Collectors.toMap(e -> String.valueOf(e.get("expireTime")), e -> String.valueOf(e.get("count"))) ); - List trendResponseList = recentYearBuilder(trendMap); - return trendResponseList; + return recentYearBuilder(trendMap); } @Override @@ -44,8 +45,7 @@ Map trendMap = sampleList.stream().collect( Collectors.toMap(e -> String.valueOf(e.get("increaseTime")), e -> String.valueOf(e.get("count"))) ); - List trendResponseList = recentYearBuilder(trendMap); - return trendResponseList; + return recentYearBuilder(trendMap); } // 鉴定金额暂时没有表设计,loading... @@ -64,10 +64,10 @@ Calendar endDate = Calendar.getInstance(); endDate.setTime(new Date()); while (beginDate.getTime().compareTo(endDate.getTime()) <= 0) { - WorkbenceTrendResponse workbenceResponse = new WorkbenceTrendResponse(); - workbenceResponse.setDate(sdf2.format(beginDate.getTime())); - workbenceResponse.setCount(trendMap.containsKey(sdf1.format(beginDate.getTime())) ? trendMap.get(sdf1.format(beginDate.getTime())) : "0"); - mapList.add(workbenceResponse); + WorkbenceTrendResponse workBenchResponse = new WorkbenceTrendResponse(); + workBenchResponse.setDate(sdf2.format(beginDate.getTime())); + workBenchResponse.setCount(trendMap.containsKey(sdf1.format(beginDate.getTime())) ? trendMap.get(sdf1.format(beginDate.getTime())) : "0"); + mapList.add(workBenchResponse); beginDate.add(Calendar.MONTH, 1); } return mapList; 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 2d1d4a7..c0e00ab 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 @@ -247,6 +247,8 @@ toBeApprovedList.forEach(toBeApprovedDTO -> { if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); + //补全可选决策项 + approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); } }); }); 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 35a7098..b9faa3d 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 @@ -290,6 +290,8 @@ toBeApprovedList.forEach(toBeApprovedDTO -> { if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ approval.setTaskId(toBeApprovedDTO.getTaskId()); + //补全可选决策项 + approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); } }); }); 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 ba06aff..660be28 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 @@ -124,7 +124,7 @@ .name(name) // .category("")//自定义类别 .deploy(); - log.info("流程定义部署,flowable return deploy;{}", JSONObject.toJSONString(deploy)); + log.info("流程定义部署,flowable return deploy:{}", JSONObject.toJSONString(deploy)); if (Objects.isNull(deploy)) { return ReturnUtil.failed("流程定义部署失败"); } @@ -335,7 +335,6 @@ //添加incoming属性(表示进来的,即上面流程节点的id列表),值为仅一个启动事件id的列表 flowNode.put("incoming", Collections.singletonList(fromId)); String id = createTask(flowNode, process, sequenceFlows); - // 如果当前任务还有后续任务,则遍历创建后续任务 JSONObject nextNode = flowNode.getJSONObject("childNode"); if (Objects.nonNull(nextNode)) { @@ -349,7 +348,6 @@ else if (Type.CC.type.equals(nodeType)) { flowNode.put("incoming", Collections.singletonList(fromId)); String id = createServiceTask(flowNode, process, sequenceFlows); - // 如果当前任务还有后续任务,则遍历创建后续任务 JSONObject nextNode = flowNode.getJSONObject("childNode"); if (Objects.nonNull(nextNode)) { @@ -363,7 +361,6 @@ else if (Type.USER_TASK.type.equals(nodeType)) { flowNode.put("incoming", Collections.singletonList(fromId)); String id = createTask(flowNode, process, sequenceFlows); - // 如果当前任务还有后续任务,则遍历创建后续任务 JSONObject nextNode = flowNode.getJSONObject("childNode"); if (Objects.nonNull(nextNode)) { @@ -454,11 +451,16 @@ } } String str = StringUtils.join(userIds, ","); - // todo: 以下需验证,若不行,采用:流程实例的发起人通过TaskCreatedListener监听器设置,这里再获取,或者可能需要再加个监听器获取 + // 以下已测试成功 // ExUtils为bean实例方法,已添加 // flowable表达式会自动识别流程变量,以下root也可识别为实例创建时的具体值,比如:${price < 100},price就是一个流程变量的值,UEL表达式的结果为布尔值 String starterId = "root"; - expression = "exUtils." + "strContains(" + starterId + "," + str + ")"; + if(StringUtils.isEmpty(str)){ + //其他条件(最后一个分支为空条件的情况) + expression = "#{exUtils." + "strContains(" + starterId + "," + starterId + ")}"; + }else { + expression = "#{exUtils." + "strContains(" + starterId + "," + str + ")}"; + } } if (Objects.isNull(childNode)) { @@ -509,7 +511,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为啥不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -556,12 +558,11 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); } - // 针对 gateway 空任务分支 添加条件表达式,即条件节点下无子节点的情况 if (!conditions.isEmpty()) { FlowElement flowElement1 = model.getFlowElement(identifier); @@ -582,7 +583,6 @@ if (Objects.isNull(sequenceFlow.getConditionExpression()) && StringUtils.isNotBlank(expression)) { sequenceFlow.setConditionExpression(expression); } - conditions.remove(0); } }); @@ -590,7 +590,6 @@ } return endExId; } -// return exclusiveGatewayId; } /** @@ -685,8 +684,10 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 - List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); + List incoming = null; + if(!Objects.isNull(flowNode.getJSONArray("incoming"))){ + incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); + } String id = ""; if (incoming != null && !incoming.isEmpty()) { UserTask userTask = new UserTask(); @@ -758,25 +759,15 @@ } private enum Type { - //0 发起人 1审批 2抄送 3条件 4路由 + //0 发起人 1审批任务 2抄送任务 4条件路由 5并行网关 ROOT(0, UserTask.class), + USER_TASK(1, UserTask.class), + CC(2, ServiceTask.class), ROUTER(4, ExclusiveGateway.class), PARALLEL(5, ParallelGateway.class), - - /** - * 排他事件 - */ -// EXCLUSIVE(4, ExclusiveGateway.class), - - /** - * 任务 - */ - SERVER_TASK(6, UserTask.class), - USER_TASK(1, UserTask.class), - CC(2, ServiceTask.class); + SERVER_TASK(6, UserTask.class); private Integer type; - private Class typeClass; Type(Integer type, Class typeClass) { @@ -795,7 +786,6 @@ public boolean isEqual(String type) { return this.type.equals(type); } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 09eee0f..c4b3d7a 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -67,11 +67,17 @@ WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} @@ -88,11 +94,17 @@ SELECT * FROM meter_train_plan WHERE is_del = 0 - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} 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 04ed845..d04eb14 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 @@ -90,5 +90,4 @@ @ApiModelProperty(value = "回退状态(已收入的状态) 1真0假", dataType = "Integer") private Integer FallbackState; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java new file mode 100644 index 0000000..b06975f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java @@ -0,0 +1,16 @@ +package com.casic.missiles.dto.business.order; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OrderCancelRequest { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") + private String reason; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java index 9662eb8..d6206c5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java @@ -4,13 +4,18 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.List; +/** + * @author cz + */ @Data @ApiModel("设备接收") public class CertificateListRequest { @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") + @NotBlank(message = "表单id不能为空") private String formId; @ApiModelProperty(value = "证书编号", dataType = "String") @@ -20,7 +25,7 @@ private String orderNo; @ApiModelProperty(value = "委托方名称", dataType = "String") - private String cutomerName; + private String customerName; @ApiModelProperty(value = "样品编号", dataType = "String") private String sampleNo; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java index 28c6d26..bacfc56 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java @@ -58,8 +58,14 @@ /** * 创建时间 */ - @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 表单id diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index 9528373..cd1066f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,7 +114,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index b1048c1..bf75da4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,8 +111,8 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; /** * 可选决策项 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java index 9d1f2f0..8f0bfce 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java @@ -25,14 +25,26 @@ /** * 培训时间 */ - @ApiModelProperty(value = "培训时间(查询出该时间前列表倒序)", dataType = "String") - private String trainTime; + @ApiModelProperty(value = "培训开始时间", dataType = "String") + private String trainStartTime; + + /** + * 培训时间 + */ + @ApiModelProperty(value = "培训结束时间", dataType = "String") + private String trainEndTime; /** * 创建时间 */ - @ApiModelProperty(value = "创建时间(查询出该时间前列表倒序)", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 组织部门id-系统组织表 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 8893256..847993f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -117,6 +117,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java new file mode 100644 index 0000000..17e0770 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java @@ -0,0 +1,37 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@TableName("business_deal_record") +@ApiModel("委托书操作记录") +@AllArgsConstructor +@Builder +@Data +public class BusinessDealRecord { + + private Long id; + + @ApiModelProperty("委托书id") + private Long orderId; + + @ApiModelProperty("原因") + private String recordContent; + + private Long createUser; + + @ApiModelProperty("操作人名称") + private String createUserName; + + @ApiModelProperty("创建时间") + private String createTime; + + @ApiModelProperty("备注") + private String remark; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java index 8778b11..9e960f6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java @@ -87,6 +87,9 @@ private Integer isDel; + @ApiModelProperty(value = "最后更新人员", dataType = "String") + private Long updateUser; + @ApiModelProperty(value = "创建人", dataType = "String") private Long createUser; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java new file mode 100644 index 0000000..6572d23 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java @@ -0,0 +1,31 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * @author cz + */ +@Data +@TableName("business_order_record") +public class BusinessOrderRecord { + + private Long id; + + private Long orderId; + + /** + * 记录内容 + */ + private String recordTContent; + + /** + * 创建人id + */ + private Long createUser; + + /** + * 创建人时间 + */ + private String createTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java index ae324f0..ffc21af 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java @@ -146,7 +146,7 @@ private String remark; /** - * 流程定义id + * 流程实例id */ @ApiModelProperty(value = "流程实例id(未通过培训计划编辑接口必传参数)", dataType = "String") @TableField("process_id") 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 a0cceda..230c779 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 @@ -1,7 +1,6 @@ package com.casic.missiles.service.Impl.business; import cn.hutool.core.lang.Assert; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; @@ -15,14 +14,12 @@ import com.casic.missiles.dto.business.print.CertificateListRequest; import com.casic.missiles.dto.business.print.CertificateListResponse; import com.casic.missiles.dto.business.print.CertificateRefusePrintRequest; -import com.casic.missiles.dto.flowable.AllApproveDTO; 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.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -40,6 +37,9 @@ import java.util.*; import java.util.stream.Collectors; +/** + * @author cz + */ @Service @AllArgsConstructor public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { @@ -81,16 +81,19 @@ } @Override - @Transactional - public ReturnDTO agreeAginPrint(ApprovalAgreeRequest request) { - ReturnDTO returnDTO = approvalOperateService.agree(request); - return returnDTO; + public ReturnDTO agreeAgainPrint(ApprovalAgreeRequest request) { + return approvalOperateService.agree(request); } + /** + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * + * @return + */ @Override @Transactional public ReturnDTO refuseAgainPrint(CertificateRefusePrintRequest request) { - ApprovalRefuseRequest approvalRefuseRequest=new ApprovalRefuseRequest(); + ApprovalRefuseRequest approvalRefuseRequest = new ApprovalRefuseRequest(); approvalRefuseRequest.setTaskId(request.getTaskId()); approvalRefuseRequest.setComments(request.getComments()); ReturnDTO returnDTO = approvalOperateService.refuse(approvalRefuseRequest); @@ -99,8 +102,9 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setPrintStatus("2");//设置为不能打印 - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //设置为不能打印 + certificateReport.setPrintStatus("2"); + certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -108,7 +112,9 @@ return ReturnUtil.success(); } - //提交审批流程,修改证书审批状态、修改打印状态 + /** + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + */ @Transactional @Override public ReturnDTO submitAgainPrint(BaseApprovalSubmitRequest request) { @@ -119,8 +125,10 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //审批状态为审批中 - certificateReport.setPrintStatus("3"); //打印状态审批中 + //审批状态为审批中 + certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //打印状态审批中 + certificateReport.setPrintStatus("3"); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -128,13 +136,14 @@ return ReturnUtil.success(); } - //可打印:只需要查询可打印状态即可 - //查询工作流 + /** + * 可打印:只需要查询可打印状态即可,待审批状态,查询工作流,同时传输任务id + */ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)) { handlerBeApproved(approvalList, page, request); - } else if (request.getPrintStatus().equals("0")) { + } else if("0".equals(request.getPrintStatus())) { request.setApprovalStatus(null); approvalList.setRecords(this.baseMapper.selectBatchForApprovalList(page, request, null)); } else { @@ -147,18 +156,9 @@ return approvalList; } - private Page handleAllApprovalListResponse(Page approvalList, List allApproveList) { - Map taskMap = allApproveList.stream().collect(Collectors.toMap(AllApproveDTO::getBusinessKey, AllApproveDTO::getStatus)); - //状态补全 - approvalList.getRecords().forEach(approval -> { - approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); - approval.setApprovalStatus(taskMap.get(String.valueOf(approval.getId()))); - }); - //排序 - approvalList.setRecords(approvalList.getRecords().stream().sorted(Comparator.comparing(CertificateListResponse::getCreateTime).reversed()).collect(Collectors.toList())); - return approvalList; - } - + /** + * 查询待审批状态的打印证书,查询业务主键信息,据此查询相应的证书,并填充相应的工作流状态 + */ private Page handlerBeApproved(Page approvalList, Page page, CertificateListRequest request) { List businessKeys = new ArrayList<>(); List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); @@ -179,11 +179,4 @@ return approvalList; } - private void handleApprovalListResponse(Page approvalList, String status) { - approvalList.getRecords().stream().forEach(result -> { - //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 - result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); - }); - } - } 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 b397f83..859010b 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 @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.business; -import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -46,7 +45,9 @@ private final IBaseExportService iBaseExportService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; - //** 送检人查询条件不在设备交接单中,需要联查才可以实现 + /** + * 送检人查询条件不在设备交接单中,需要联查才可以实现 + */ @Override public Page exchangeListPage(Page page, InterchangeListRequest request) throws Exception { page.setRecords(this.baseMapper.selectInterchangeListPage(page, request)); @@ -54,7 +55,8 @@ } @Override - public BusinessInterchangeDetailResponse exchangeDetail(Long id) { ; + public BusinessInterchangeDetailResponse exchangeDetail(Long id) { + ; BusinessInterchangeDetailResponse businessExchange = this.baseMapper.getInfoById(id); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", businessExchange.getOrderId()); @@ -71,19 +73,21 @@ @Override @Transactional public ReturnDTO deleteExchange(Long id) { - Integer deleteFlag = this.baseMapper.deleteById(id); - //交接单绑定的肯定有样品,所以samplUpdateFlag肯定为true - Boolean samplUpdateFlag = sampleStatusDeletor(id) > 0; - if (deleteFlag > 0 && samplUpdateFlag) { + int deleteFlag = this.baseMapper.deleteById(id); + //交接单绑定的肯定有样品,所以sampleUpdateFlag肯定为true + boolean sampleUpdateFlag = sampleStatusDeletor(id) > 0; + if (deleteFlag > 0 && sampleUpdateFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //更新不对样品有任何操作 + /** + * 更新不对样品有任何操作 + */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { - Integer updateFlag = this.baseMapper.updateById(businessInterchange); + int updateFlag = this.baseMapper.updateById(businessInterchange); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -94,8 +98,8 @@ @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { populationExchange(businessInterchange); - Integer addFlag = this.baseMapper.insert(businessInterchange); - Boolean sampleAddFlag = true; + int addFlag = this.baseMapper.insert(businessInterchange); + boolean sampleAddFlag = true; if (!CollectionUtils.isEmpty(businessInterchange.getCustomerSampleList())) { for (CustomerSampleListVO sampleInfo : businessInterchange.getCustomerSampleList()) { sampleAddFlag = sampleAddFlag && sampleStatusUpdator(sampleInfo, businessInterchange.getId()) > 0; 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 3bd316c..585a207 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 @@ -215,13 +215,7 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - Map resultMap = SqlRunner.db().selectOne( - "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + - "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + - "JOIN sys_user su ON srr.USERID = su.ID " + - "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + - "WHERE su.ID = {0}" + - "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + Map resultMap = selectDirectDept(user); if(CollectionUtils.isEmpty(resultMap) || Objects.isNull(resultMap.get("deptId"))){ return new Page<>(); } @@ -390,16 +384,7 @@ Long maxNo = labExecutiveTemplateInfoMapper.selectMaxTemplateNo(); for (int i = 0; i < labExecutiveInfos.size(); i++) { BusinessLabExecutiveInfo lab = labExecutiveInfos.get(i); - BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); - templateInfo.setTemplateCode(templateCode); -// templateInfo.setSampleTypeId(); - templateInfo.setSampleId(lab.getSampleId()); - templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); - templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); -// templateInfo.setMeasureItem(); - templateInfo.setExecuteSequence(lab.getMeasureSequence()); -// templateInfo.setCreateUser(); + BusinessLabExecutiveTemplateInfo templateInfo = getBusinessLabExecutiveTemplateInfo(maxNo, i, lab); labList.add(templateInfo); } if(labExecutiveTemplateInfoService.saveBatch(labList)) log.info("实验室检测记录批量保存为实验室检测模板成功"); @@ -422,6 +407,20 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { + BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); + String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + templateInfo.setTemplateCode(templateCode); +// templateInfo.setSampleTypeId(); + templateInfo.setSampleId(lab.getSampleId()); + templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); + templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); +// templateInfo.setMeasureItem(); + templateInfo.setExecuteSequence(lab.getMeasureSequence()); +// templateInfo.setCreateUser(); + return templateInfo; + } + @Override public ReturnDTO updateExecutiveList(UpdateExecutiveListRequest request) { //删除前端已删除的ids @@ -469,7 +468,6 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - //登录用户id获取计量人员id,实验室检测信息中存储的是计量人员id MeterStaff meterStaff = getMeterStaffInfo(user); if(Objects.isNull(meterStaff)) throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_NOT_STAFF); Long userId = meterStaff.getId(); @@ -510,7 +508,6 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - //登录用户id获取计量人员id,实验室检测信息中存储的是计量人员id MeterStaff meterStaff = getMeterStaffInfo(user); if(Objects.isNull(meterStaff)) throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_NOT_STAFF); Long userId = meterStaff.getId(); @@ -518,15 +515,7 @@ //删除实验室检测列表中退回数据 int deleteFlag = labExecutiveInfoMapper.deleteById(request.getId()); //退回操作记录表中增加数据 - BusinessLabExecutiveOperateLog operateLog = new BusinessLabExecutiveOperateLog(); - operateLog.setOrderId(request.getOrderId()); - operateLog.setSampleId(request.getSampleId()); - operateLog.setMeasureDeptId(request.getMeasureSegmentId()); - operateLog.setMeasurePersonId(request.getMeasurePersonId()); - operateLog.setOperatePersonId(userId); - operateLog.setOperatePersonName(user.getName()); - operateLog.setMeasureStatus(MeasureStatusEnum.SEND_BACK); - operateLog.setOperateReason(request.getOperateReason()); + BusinessLabExecutiveOperateLog operateLog = getBusinessLabExecutiveOperateLog(request, user, userId); int insertFlag = labExecutiveOperateLogMapper.insert(operateLog); if(deleteFlag > 0 && insertFlag > 0){ //退回后会将下一个要执行的实验室检测状态更新为待分配,将后面的实验室顺序变更为连续(都进行减1) @@ -596,4 +585,29 @@ } }); } + + private Map selectDirectDept(AuthUser user) { + Map resultMap = SqlRunner.db().selectOne( + "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON srr.USERID = su.ID " + + "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + + "WHERE su.ID = {0}" + + "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + return resultMap; + } + + private BusinessLabExecutiveOperateLog getBusinessLabExecutiveOperateLog(ExecutiveSendBackRequest request, AuthUser user, Long userId) { + BusinessLabExecutiveOperateLog operateLog = new BusinessLabExecutiveOperateLog(); + operateLog.setOrderId(request.getOrderId()); + operateLog.setSampleId(request.getSampleId()); + operateLog.setMeasureDeptId(request.getMeasureSegmentId()); + operateLog.setMeasurePersonId(request.getMeasurePersonId()); + operateLog.setOperatePersonId(userId); + operateLog.setOperatePersonName(user.getName()); + operateLog.setMeasureStatus(MeasureStatusEnum.SEND_BACK); + operateLog.setOperateReason(request.getOperateReason()); + return operateLog; + } + } 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 f6b3933..48742b4 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 @@ -9,14 +9,17 @@ import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.ExportEnum; import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; import com.casic.missiles.mapper.business.BusinessOrderMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -49,18 +52,19 @@ @AllArgsConstructor public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { - private final BusinessOrderListReponseMapper orderListReponseMapper; + private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; private final CustomerSampleService customerSampleService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; + private final BusinessDealRecordMapper dealRecordMapper; /** * 1、分页查询 2、批量查询所有的委托书、样品关系 => 进行以sampleId为key主键map list 3、查询计算样品数量 */ @Override public Page orderListPage(Page page, OrderListRequest request) throws Exception { - QueryWrapper wrapper = listParamWrapper(request); - Page resultPage = this.orderListReponseMapper.selectPage(page, wrapper); + QueryWrapper wrapper = listParamWrapperBuilder(request); + Page resultPage = this.orderListResponseMapper.selectPage(page, wrapper); List orderSampleList = sampleRelationMapper.selectList(null); Map> orderSampleMap = orderSampleList.stream().collect( Collectors.groupingBy(BusinessOrderSampleRelation::getOrderId) @@ -74,7 +78,9 @@ return resultPage; } - // 1、查询委托书详情 2、对样品列表进行查询 3、设置默认在库标志 + /** + * 1、查询委托书详情 2、对样品列表进行查询 3、设置默认在库标志 + */ @Override public BusinessOrder orderDetail(Long id) { BusinessOrder businessOrder = this.baseMapper.selectById(id); @@ -91,29 +97,24 @@ return businessOrder; } - @Override - public ReturnDTO deleteOrder(Long id) { - Integer deleteFlag = this.baseMapper.deleteById(id); - if (deleteFlag > 0) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - - // 删除样品和委托书的明细关系,填充传输的明细样品数据, - // 对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + /** + * 1、删除样品和委托书的明细关系,填充传输的明细样品数据 + * 2、对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + */ @Override public ReturnDTO updateOrder(BusinessOrder businessOrder) { - Integer updateFlag = this.baseMapper.updateById(businessOrder); - this.sampleStatusDeletor(businessOrder.getId()); - Boolean sampleUpdateFlag = true; + AuthUser authUser = ShiroKit.getUser(); + businessOrder.setUpdateUser(authUser.getId()); + int updateFlag = this.baseMapper.updateById(businessOrder); + this.deleteSampleById(businessOrder.getId()); + boolean sampleUpdateFlag = true; this.doSampleListPopulation(businessOrder); for (CustomerSampleInfo sampleInfo : businessOrder.getCustomerSampleInfoList()) { sampleInfo.setDeliverer(businessOrder.getDeliverer()); sampleInfo.setDelivererTel(businessOrder.getDelivererTel()); - if (sampleInfo.getIsExistSample().equals("0")) { + if ("0".equals(sampleInfo.getIsExistSample())) { ReturnDTO returnDTO = customerSampleService.addSample(sampleInfo); - sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode().equals("200"); + sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode().equals(200); } else { ReturnDTO returnDTO = customerSampleService.updateSample(sampleInfo); sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode() == 200; @@ -126,25 +127,27 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //删除样品和委托书的明细关系,填充传输的明细样品数据, - // 对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + /** + * 1、删除样品和委托书的明细关系,填充传输的明细样品数据 + * 2、对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + */ @Override @Transactional public ReturnDTO addOrder(BusinessOrder businessOrder) { initOrderInfo(businessOrder); - Integer addFlag = this.baseMapper.insert(businessOrder); - Boolean sampleAddFlag = true; - this.sampleStatusDeletor(businessOrder.getId()); + int addFlag = this.baseMapper.insert(businessOrder); + boolean sampleAddFlag = true; + this.deleteSampleById(businessOrder.getId()); this.doSampleListPopulation(businessOrder); for (CustomerSampleInfo sampleInfo : businessOrder.getCustomerSampleInfoList()) { sampleInfo.setDeliverer(businessOrder.getDeliverer()); sampleInfo.setDelivererTel(businessOrder.getDelivererTel()); - if (sampleInfo.getIsExistSample().equals("0")) { + if ("0".equals(sampleInfo.getIsExistSample())) { ReturnDTO returnDTO = customerSampleService.addSample(sampleInfo); - sampleAddFlag = sampleAddFlag && returnDTO.getCode() == 200; + sampleAddFlag = sampleAddFlag && returnDTO.getCode().equals(200); } else { ReturnDTO returnDTO = customerSampleService.updateSample(sampleInfo); - sampleAddFlag = sampleAddFlag && returnDTO.getCode() == 200; + sampleAddFlag = sampleAddFlag && returnDTO.getCode().equals(200); } sampleAddFlag = sampleAddFlag && sampleStatusCreator(sampleInfo.getOrderId(), sampleInfo.getMeasureContent(), sampleInfo.getId()) > 0; } @@ -154,58 +157,135 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //如查询说明,补充对是否加急的excel文档表现 + /** + * 1、判断是否存在ids,进行其他参数属性的初始化 + * 2、查询查询构建 + * 3、查询样品关系,构建委托书样品数量map集合 + * 4、字典值进行状态转化 + */ @Override public void orderExport(OrderListRequest request, HttpServletResponse response) { try { - List orderListReponseList; + List orderResponseList; if (!CollectionUtils.isEmpty(request.getIds())) { - orderListReponseList = orderListReponseMapper.selectBatchIds(request.getIds()); + orderResponseList = orderListResponseMapper.selectBatchIds(request.getIds()); } else { - QueryWrapper wrapper = listParamWrapper(request); - orderListReponseList = this.orderListReponseMapper.selectList(wrapper); + QueryWrapper wrapper = listParamWrapperBuilder(request); + orderResponseList = this.orderListResponseMapper.selectList(wrapper); } + //查询样品关系,构建委托书样品数量map集合, List orderSampleList = sampleRelationMapper.selectList(null); Map> orderSampleMap = orderSampleList.stream().collect( Collectors.groupingBy(BusinessOrderSampleRelation::getOrderId) ); - orderListReponseList.forEach( + orderResponseList.forEach( orderSample -> orderSample.setSampleCount(orderSampleMap.containsKey(orderSample.getId()) ? orderSampleMap.get(orderSample.getId()).size() : 0) ); - for (OrderListReponse orderListReponse : orderListReponseList) { - orderListReponse.setIsUrgent(orderListReponse.getIsUrgent().equals("1") ? "是" : "否"); + //字典转换 + for (OrderListReponse orderListReponse : orderResponseList) { + orderListReponse.setIsUrgent("1".equals(orderListReponse.getIsUrgent()) ? "是" : "否"); DictCodeUtils.convertDictCodeToName(orderListReponse); } - iBaseExportService.exportExcel(response, OrderListReponse.class, orderListReponseList, ExportEnum.ORDER_EXPORT.getSheetName()); + iBaseExportService.exportExcel(response, OrderListReponse.class, orderResponseList, ExportEnum.ORDER_EXPORT.getSheetName()); } catch (Exception ex) { log.error("委托书导出出现异常,异常信息为{}", ex); } } + /** + * 通过状态对委托书状态进行更新 + */ @Override - public ReturnDTO updateStatusById(Long id, String status) { - BusinessOrder businessOrder = new BusinessOrder(); - businessOrder.setId(id); - businessOrder.setStatus(status); - Integer updateFlag = this.baseMapper.updateById(businessOrder); - if (updateFlag > 0) { + public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { + int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); + int addDealRecordFlag = addDealRecord(orderCancelRequest); + if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 取消记录,修改委托书状态,同时生成委托书操作日志,供用户查询 + */ + @Override + @Transactional + public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int addDealRecordFlag = addDealRecord(orderCancelRequest); + if (updateFlag > 0 && addDealRecordFlag > 0) { + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + /** + * 操作记录的查询 + */ + @Override + public List optionRecord(Long id) { + QueryWrapper dealRecordQueryWrapper = new QueryWrapper() + .eq("order_id", id); + return dealRecordMapper.selectList(dealRecordQueryWrapper); + } + + /** + * 新增操作记录 + */ + private int addDealRecord(OrderCancelRequest orderCancelRequest) { + AuthUser authUser = ShiroKit.getUser(); + BusinessDealRecord businessDealRecord = BusinessDealRecord.builder() + .createUser(authUser.getId()) + .createUserName(authUser.getName()) + .recordContent(reasonConvert(orderCancelRequest.getReason())) + .orderId(orderCancelRequest.getId()) + .build(); + return dealRecordMapper.insert(businessDealRecord); + } + + /** + * 强调正在做状态更新 + */ + private int doUpdateStatusById(Long orderId, String status) { + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(orderId); + businessOrder.setStatus(status); + AuthUser authUser = ShiroKit.getUser(); + businessOrder.setUpdateUser(authUser.getId()); + return this.baseMapper.updateById(businessOrder); + } + + /** + * 原因字典转化为相应的值 + */ + private String reasonConvert(String reasonIds) { + String reasonStr = ""; + if (StringUtils.isEmpty(reasonIds)) { + return reasonStr; + } + String[] reasonIdList = reasonIds.split(","); + for (String reasonId : reasonIdList) { + String reasonContent = dealRecordMapper.getDictContent(reasonId); + reasonStr = reasonStr + reasonContent + ","; + } + return reasonStr.substring(0, reasonStr.length() - 1); + } + private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); + businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); businessOrder.setStatus("1"); } - - private QueryWrapper listParamWrapper(OrderListRequest request) { + /** + * 委托书列表查询构建方法 + */ + private QueryWrapper listParamWrapperBuilder(OrderListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getDeliverer()), "deliverer", request.getDeliverer()); @@ -223,21 +303,19 @@ return queryWrapper; } - private Integer sampleStatusDeletor(Long orderId) { + private int deleteSampleById(Long orderId) { QueryWrapper sampleStatusRelationWrapper = new QueryWrapper() .eq("order_id", orderId); - Integer sampleStatus = this.sampleRelationMapper.delete(sampleStatusRelationWrapper); - return sampleStatus; + return this.sampleRelationMapper.delete(sampleStatusRelationWrapper); } - private Integer sampleStatusCreator(Long orderId, String measureContent, Long sampleId) { + private int sampleStatusCreator(Long orderId, String measureContent, Long sampleId) { BusinessOrderSampleRelation sampleStatusPopulation = new BusinessOrderSampleRelation(); sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); sampleStatusPopulation.setMeasureType("1"); - Integer sampleStatus = this.sampleRelationMapper.insert(sampleStatusPopulation); - return sampleStatus; + return this.sampleRelationMapper.insert(sampleStatusPopulation); } private void doSampleListPopulation(BusinessOrder businessOrder) { @@ -249,4 +327,5 @@ } ); } + } 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 e922dc2..07c88e9 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 com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -11,8 +12,6 @@ import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; -import com.casic.missiles.dto.business.interchange.InterchangeListResponse; -import com.casic.missiles.dto.meter.TrainPlanApprovalListResponse; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; @@ -21,20 +20,22 @@ import com.casic.missiles.mapper.business.*; import com.casic.missiles.model.business.*; import com.casic.missiles.service.business.IBusinessDispatchService; -import com.casic.missiles.utils.ConvertUtils; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.util.ObjectUtils; -import org.springframework.util.StringUtils; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Objects; import java.util.Optional; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -45,84 +46,59 @@ private final BusinessLabExecutiveInfoMapper labExecutiveInfoMapper; private final IBaseExportService iBaseExportService; - //终止、回退、收入、归还、催办按钮 - //列表返回只需要控制已收入回退按钮显示的权限即可,其中回退在没有任何实验室进行的情况,可以进行设备的回退 + /** + * 终止、回退、收入、归还、催办按钮 + * 列表返回只需要控制已收入回退按钮显示的权限即可,其中回退在没有任何实验室进行的情况,可以进行设备的回退 + */ @Override public Page listPage(Page page, DeviceDispatchDTO request) { -// //查询委托书和样品关联表中的各状态的样品 - Page dispatchVOPage = orderSampleRelationMapper.getSampleListByStatus(page, request); + //查询委托书和样品关联表中的各状态的样品 + Page dispatchVoPage = orderSampleRelationMapper.getSampleListByStatus(page, request); log.info("设备收发-当前查询样品状态为:{}", request.getSampleStatus()); - List records = dispatchVOPage.getRecords(); + List records = dispatchVoPage.getRecords(); if (CollectionUtils.isEmpty(records)) { return new Page<>(); } - doDispatchVOPagePopution(records, request); - return dispatchVOPage; - } - - - //进行已收入分页的当前环节回填、出具证书回填 - private void doDispatchVOPopulation(DeviceDispatchVO dispatchVO, Long sampleId, Long orderId) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); - HandOutLabExecutiveDTO handOutLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); - Integer measureNumberStatus = labExecutiveInfoMapper.getMeasureNumberStatus(orderId, sampleId); - // - if (!Objects.isNull(handOutLabExecutiveDTO)) { - dispatchVO.setRequireCertifications(handOutLabExecutiveDTO.getRequireCertifications()); - dispatchVO.setCurrentSegment(handOutLabExecutiveDTO.getDeptName()); - Long measureDeptId = handOutLabExecutiveDTO.getMeasureDeptId(); - dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, measureDeptId)); - } else { - dispatchVO.setAlreadyCertifications(0); - dispatchVO.setRequireCertifications(ObjectUtils.isEmpty(measureNumberStatus) ? 0 : measureNumberStatus); - } - if (!ObjectUtils.isEmpty(measureNumberStatus) && measureNumberStatus > 0) { - dispatchVO.setFallbackState(0);//不可以进行回退 - } else { - dispatchVO.setFallbackState(1);//可以进行回退 - } + doPopulateDispatch(records, request); + return dispatchVoPage; } /** - * 重点填充类 - * - * @param dispatchVOPage - * @param request + * 分发列表填充 */ - private void doDispatchVOPagePopution(List dispatchVOPage, DeviceDispatchDTO request) { - dispatchVOPage.stream().forEach( + private void doPopulateDispatch(List dispatchVOPage, DeviceDispatchDTO request) { + dispatchVOPage.forEach( dispatchVO -> { Long orderId = dispatchVO.getOrderId(); Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && request.getSampleStatus().equals("8") && noSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { - //待分发状态,分发性质:有退回就是退回分发,当前检定环节:待分配,已出具证书:无,出具证书总数:无 + //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 case SampleStatusEnum.TO_HANDOUT: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //检测中状态,分发性质:无,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 + //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 case SampleStatusEnum.IN_MEASURE: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //检测完状态,分发性质:无,当前检定环节:完成,已出具证书:无,出具证书总数:无 + //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 case SampleStatusEnum.MEASURE_COMPLETE: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //超期样品(即检测超期,未在应检完时间检完),分发性质:无,当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 + doDispatchVoPopulation(dispatchVO, sampleId, orderId); + return; + //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 case SampleStatusEnum.BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); - Long deptId = overLabExecutiveDTO.getMeasureDeptId(); + Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); dispatchVO.setRequireCertifications(overLabExecutiveDTO.getRequireCertifications()); - if (checkSampleFinshStauts(dispatchVO)) { + // 判断样品是完成或接收状态,直接显示即可 + if (checkSampleFinishStatus(dispatchVO)) { return; } dispatchVO.setCurrentSegment(overLabExecutiveDTO.getDeptName()); break; + default: + break; } } ); @@ -131,8 +107,7 @@ @Override public void exportSampleDispatchList(DeviceDispatchDTO request, HttpServletResponse response) { try { - - Page deviceDispatchVOPage = PageFactory.defaultPage(); + Page deviceDispatchVOPage; if (!CollectionUtils.isEmpty(request.getIds())) { initDeviceDispatchDTOEmpty(request); } else { @@ -150,29 +125,59 @@ } + /** + * 状态更新 + */ @Override public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer updateFalg = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFalg > 0) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - - //终止操作,不仅更新状态,同时进行实验室状态的更新 - @Override - @Transactional - public ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, true); - //实验室状态数据的更新 - reasonPopulation(deviceStatusChangeDTO); + Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); if (updateFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - private void reasonPopulation(DeviceStatusChangeDTO deviceStatusChangeDTO) { + /** + * 终止操作,不仅更新状态,同时进行实验室状态原因的更新 + */ + @Override + @Transactional + public ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO) { + Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, true); + //实验室状态数据的更新 + updateLabExecutiveInfo(deviceStatusChangeDTO); + if (updateFlag > 0) { + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + /** + * 进行已收入分页的当前环节回填、出具证书回填 + */ + private void doDispatchVoPopulation(DeviceDispatchVO dispatchVO, Long sampleId, Long orderId) { + dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + HandOutLabExecutiveDTO handOutLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); + Integer measureNumberStatus = labExecutiveInfoMapper.getMeasureNumberStatus(orderId, sampleId); + //证书,当前环节的回填 + if (!Objects.isNull(handOutLabExecutiveDTO)) { + dispatchVO.setRequireCertifications(handOutLabExecutiveDTO.getRequireCertifications()); + dispatchVO.setCurrentSegment(handOutLabExecutiveDTO.getDeptName()); + Long measureDeptId = handOutLabExecutiveDTO.getMeasureDeptId(); + dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, measureDeptId)); + } else { + dispatchVO.setAlreadyCertifications(0); + dispatchVO.setRequireCertifications(ObjectUtils.isEmpty(measureNumberStatus) ? 0 : measureNumberStatus); + } + //处于检测中、检测完、待检测的实验室大于0,不可以进行回退,否则可以进行回退 + if (!ObjectUtils.isEmpty(measureNumberStatus) && measureNumberStatus > 0) { + dispatchVO.setFallbackState(0); + } else { + dispatchVO.setFallbackState(1); + } + } + + private void updateLabExecutiveInfo(DeviceStatusChangeDTO deviceStatusChangeDTO) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); @@ -182,10 +187,13 @@ labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } + /** + * 消息催办 + */ @Override public ReturnDTO rushDoProcess(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer deleteFalg = this.baseMapper.deleteById(deviceStatusChangeDTO.getOrderId()); - if (deleteFalg > 0) { + int deleteFlag = this.baseMapper.deleteById(deviceStatusChangeDTO.getOrderId()); + if (deleteFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -203,7 +211,7 @@ return null; } Optional handOutLabExecutiveDTOOptional = labExecutiveList.stream().findFirst(); - return handOutLabExecutiveDTOOptional.isPresent() ? handOutLabExecutiveDTOOptional.get() : null; + return handOutLabExecutiveDTOOptional.orElse(null); } private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { @@ -214,7 +222,9 @@ return wrapper; } - //更新检测完成后,执行当前正在进行数据 + /** + * 更新检测完成后,执行当前正在进行数据 + */ private Integer statusChangeUpdator(DeviceStatusChangeDTO statusChangeDTO, Boolean terminateFlag) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); @@ -227,15 +237,18 @@ return this.orderSampleRelationMapper.update(businessOrderSampleRelation, queryWrapper); } - //判断不是自检 - private Boolean noSelfMeasure(DeviceDispatchVO dispatchVO) { - if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType()) && (dispatchVO.getMeasureType().equals("1") || dispatchVO.getMeasureType().equals("2"))) { - String currentSegment = dispatchVO.getMeasureType().equals("1") ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; - dispatchVO.setCurrentSegment(currentSegment); - return true; - } else { - return false; + /** + * 判断不是自检 + */ + 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; + dispatchVO.setCurrentSegment(currentSegment); + return true; + } } + return false; } private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { @@ -250,8 +263,10 @@ request.setEndTime(null); } - // 判断样品是完成或接收状态,直接显示即可 - private Boolean checkSampleFinshStauts(DeviceDispatchVO dispatchVO) { + /** + * 判断样品是完成或接收状态,直接显示即可 + */ + private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); 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 eecf207..4f06678 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 @@ -28,6 +28,9 @@ import javax.servlet.http.HttpServletResponse; import java.util.List; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -58,7 +61,7 @@ @Override public ReturnDTO deleteAdvice(Long id) { - Integer deleteFlag = customerAdviceMapper.deleteById(id); + int deleteFlag = customerAdviceMapper.deleteById(id); if (deleteFlag > 0) { return ReturnUtil.success(); } @@ -67,7 +70,7 @@ @Override public ReturnDTO updateAdvice(CustomerAdviceInfo customerAdviceInfo) { - Integer updateFlag = customerAdviceMapper.updateById(customerAdviceInfo); + int updateFlag = customerAdviceMapper.updateById(customerAdviceInfo); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -77,7 +80,7 @@ @Override public ReturnDTO addAdvice(CustomerAdviceInfo customerAdviceInfo) { initCustomerAdviceInfo(customerAdviceInfo); - Integer addFlag = customerAdviceMapper.insert(customerAdviceInfo); + int addFlag = customerAdviceMapper.insert(customerAdviceInfo); if (addFlag > 0) { return ReturnUtil.success(); } 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 79a776b..3bbcaaf 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 @@ -55,7 +55,7 @@ public Page listPage(Page page, CustomerSampleListRequest request) throws Exception { QueryWrapper wrapper = listParamWrapper(request); Page customerSamplePage = customerSampleListResponseMapper.selectPage(page, wrapper); - customerSamplePage.getRecords().stream() + customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { @@ -72,26 +72,30 @@ return customerSamplePage; } - //新增样品表,同时新增样品委托书关联状态表 + /** + * 新增样品表,同时新增样品委托书关联状态表 + */ @Override @Transactional public ReturnDTO addSample(CustomerSampleInfo customerSampleInfo) { initSample(customerSampleInfo); - Integer addFlag = this.baseMapper.insert(customerSampleInfo); + int addFlag = this.baseMapper.insert(customerSampleInfo); if (addFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //更新样品表,同时更新样品委托书关联状态表 + /** + * 更新样品表,同时更新样品委托书关联状态表 + */ @Override @Transactional public ReturnDTO updateSample(CustomerSampleInfo customerSampleInfo) { AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setUpdateUser(authUser.getId()); initSample(customerSampleInfo); - Integer updateFlag = this.baseMapper.updateById(customerSampleInfo); + int updateFlag = this.baseMapper.updateById(customerSampleInfo); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -110,8 +114,6 @@ /** * 只导出样品列表信息 * - * @param request - * @param response */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -148,9 +150,8 @@ } @Override - @Transactional public ReturnDTO deleteSample(Long id) { - Integer deleteFalg = this.baseMapper.deleteById(id); + int deleteFalg = this.baseMapper.deleteById(id); if (deleteFalg > 0) { return ReturnUtil.success(); } @@ -158,12 +159,12 @@ } @Override - public Page mesureRecordsBySampleId(Long id) { + public Page measureRecordsBySampleId(Long id) { Page page = PageFactory.defaultPage(); QueryWrapper wrapper = new QueryWrapper() .eq("sample_id", id); - Page mesureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); - return mesureRecordsResponsePage; + Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + return measureRecordsResponsePage; } @Override @@ -197,12 +198,12 @@ 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());//样品所属 - queryWrapper.like(StringUtils.isNotBlank(request.getSampleModel()), "sample_model", request.getSampleModel());//样品型号 - queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName());//委托方名称 - queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo());//委托方代码 + 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()); + queryWrapper.like(StringUtils.isNotBlank(request.getSampleModel()), "sample_model", request.getSampleModel()); + 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"), "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); 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 62c4a00..32d4dee 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 @@ -70,7 +70,7 @@ @Transactional public ReturnDTO addCustomer(CustomerInfo customerInfo) { initCustomerInfo(customerInfo); - Integer addFlag = this.baseMapper.insert(customerInfo); + int addFlag = this.baseMapper.insert(customerInfo); Boolean userAddFlag = userInfoListCreator(customerInfo.getCustomerUserList(), customerInfo.getId()); if (addFlag > 0 && userAddFlag) { return ReturnUtil.success(); @@ -84,7 +84,7 @@ AuthUser authUser = ShiroKit.getUser(); customerInfo.setUpdateUser(authUser.getId()); userInfoListDeletor(customerInfo.getId()); - Integer updateFlag = this.baseMapper.updateById(customerInfo); + int updateFlag = this.baseMapper.updateById(customerInfo); Boolean userUpdateFlag = userInfoListCreator(customerInfo.getCustomerUserList(),customerInfo.getId()); if (updateFlag > 0 && userUpdateFlag) { return ReturnUtil.success(); @@ -102,7 +102,7 @@ @Override public ReturnDTO deleteCustomer(Long id) { CustomerInfo customerInfo = this.baseMapper.selectById(id); - Integer deleteFlag = this.baseMapper.deleteById(id); + int deleteFlag = this.baseMapper.deleteById(id); userInfoListDeletor(customerInfo.getId()); if (deleteFlag > 0) { return ReturnUtil.success(); @@ -116,8 +116,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("customer_id", customerId); queryWrapper.orderByDesc("create_time"); - Page sampleRecordsResponsePage = sampleRecordsResponseMapper.selectPage(page, queryWrapper); - return sampleRecordsResponsePage; + return sampleRecordsResponseMapper.selectPage(page, queryWrapper); } @@ -129,9 +128,8 @@ @Override//暂定不做 public Page mesureRecordsByCustomerId(Long customerId) { - Page mesureRecordsResponsePage = PageFactory.defaultPage(); - - return mesureRecordsResponsePage; + Page measureRecordsResponsePage = PageFactory.defaultPage(); + return measureRecordsResponsePage; } @Override @@ -139,8 +137,7 @@ Page page = PageFactory.defaultPage(); QueryWrapper wrapper = new QueryWrapper() .eq("customer_id", customerId); - Page certificationResponsePage = certificationMapper.selectPage(page, wrapper); - return certificationResponsePage; + return certificationMapper.selectPage(page, wrapper); } @Override @@ -185,8 +182,7 @@ private List customerUserDetail(Long id) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("customer_id", id); - List customerUserInfoList = customerUserMapper.selectList(queryWrapper); - return customerUserInfoList; + return customerUserMapper.selectList(queryWrapper); } private void userInfoListDeletor(Long customerId) { @@ -197,12 +193,12 @@ private Boolean userInfoListCreator(List userInfoList, Long id) { Long maxUserNo = customerUserMapper.selectMaxUserNo(); - Boolean userUpdateFlag = true; + boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); customerUserInfo.setUserNo(customerNo); - Integer userAddNum = customerUserMapper.insert(customerUserInfo); + int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { userUpdateFlag = false; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java index d816cb8..c9997c5 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java @@ -11,6 +11,9 @@ import java.util.*; import java.util.stream.Collectors; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -24,8 +27,7 @@ Map trendMap = sampleList.stream().collect( Collectors.toMap(e -> String.valueOf(e.get("increaseTime")), e -> String.valueOf(e.get("count"))) ); - List trendResponseList = recentYearBuilder(trendMap); - return trendResponseList; + return recentYearBuilder(trendMap); } @Override @@ -34,8 +36,7 @@ Map trendMap = sampleList.stream().collect( Collectors.toMap(e -> String.valueOf(e.get("expireTime")), e -> String.valueOf(e.get("count"))) ); - List trendResponseList = recentYearBuilder(trendMap); - return trendResponseList; + return recentYearBuilder(trendMap); } @Override @@ -44,8 +45,7 @@ Map trendMap = sampleList.stream().collect( Collectors.toMap(e -> String.valueOf(e.get("increaseTime")), e -> String.valueOf(e.get("count"))) ); - List trendResponseList = recentYearBuilder(trendMap); - return trendResponseList; + return recentYearBuilder(trendMap); } // 鉴定金额暂时没有表设计,loading... @@ -64,10 +64,10 @@ Calendar endDate = Calendar.getInstance(); endDate.setTime(new Date()); while (beginDate.getTime().compareTo(endDate.getTime()) <= 0) { - WorkbenceTrendResponse workbenceResponse = new WorkbenceTrendResponse(); - workbenceResponse.setDate(sdf2.format(beginDate.getTime())); - workbenceResponse.setCount(trendMap.containsKey(sdf1.format(beginDate.getTime())) ? trendMap.get(sdf1.format(beginDate.getTime())) : "0"); - mapList.add(workbenceResponse); + WorkbenceTrendResponse workBenchResponse = new WorkbenceTrendResponse(); + workBenchResponse.setDate(sdf2.format(beginDate.getTime())); + workBenchResponse.setCount(trendMap.containsKey(sdf1.format(beginDate.getTime())) ? trendMap.get(sdf1.format(beginDate.getTime())) : "0"); + mapList.add(workBenchResponse); beginDate.add(Calendar.MONTH, 1); } return mapList; 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 2d1d4a7..c0e00ab 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 @@ -247,6 +247,8 @@ toBeApprovedList.forEach(toBeApprovedDTO -> { if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); + //补全可选决策项 + approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); } }); }); 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 35a7098..b9faa3d 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 @@ -290,6 +290,8 @@ toBeApprovedList.forEach(toBeApprovedDTO -> { if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ approval.setTaskId(toBeApprovedDTO.getTaskId()); + //补全可选决策项 + approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); } }); }); 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 ba06aff..660be28 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 @@ -124,7 +124,7 @@ .name(name) // .category("")//自定义类别 .deploy(); - log.info("流程定义部署,flowable return deploy;{}", JSONObject.toJSONString(deploy)); + log.info("流程定义部署,flowable return deploy:{}", JSONObject.toJSONString(deploy)); if (Objects.isNull(deploy)) { return ReturnUtil.failed("流程定义部署失败"); } @@ -335,7 +335,6 @@ //添加incoming属性(表示进来的,即上面流程节点的id列表),值为仅一个启动事件id的列表 flowNode.put("incoming", Collections.singletonList(fromId)); String id = createTask(flowNode, process, sequenceFlows); - // 如果当前任务还有后续任务,则遍历创建后续任务 JSONObject nextNode = flowNode.getJSONObject("childNode"); if (Objects.nonNull(nextNode)) { @@ -349,7 +348,6 @@ else if (Type.CC.type.equals(nodeType)) { flowNode.put("incoming", Collections.singletonList(fromId)); String id = createServiceTask(flowNode, process, sequenceFlows); - // 如果当前任务还有后续任务,则遍历创建后续任务 JSONObject nextNode = flowNode.getJSONObject("childNode"); if (Objects.nonNull(nextNode)) { @@ -363,7 +361,6 @@ else if (Type.USER_TASK.type.equals(nodeType)) { flowNode.put("incoming", Collections.singletonList(fromId)); String id = createTask(flowNode, process, sequenceFlows); - // 如果当前任务还有后续任务,则遍历创建后续任务 JSONObject nextNode = flowNode.getJSONObject("childNode"); if (Objects.nonNull(nextNode)) { @@ -454,11 +451,16 @@ } } String str = StringUtils.join(userIds, ","); - // todo: 以下需验证,若不行,采用:流程实例的发起人通过TaskCreatedListener监听器设置,这里再获取,或者可能需要再加个监听器获取 + // 以下已测试成功 // ExUtils为bean实例方法,已添加 // flowable表达式会自动识别流程变量,以下root也可识别为实例创建时的具体值,比如:${price < 100},price就是一个流程变量的值,UEL表达式的结果为布尔值 String starterId = "root"; - expression = "exUtils." + "strContains(" + starterId + "," + str + ")"; + if(StringUtils.isEmpty(str)){ + //其他条件(最后一个分支为空条件的情况) + expression = "#{exUtils." + "strContains(" + starterId + "," + starterId + ")}"; + }else { + expression = "#{exUtils." + "strContains(" + starterId + "," + str + ")}"; + } } if (Objects.isNull(childNode)) { @@ -509,7 +511,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为啥不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -556,12 +558,11 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); } - // 针对 gateway 空任务分支 添加条件表达式,即条件节点下无子节点的情况 if (!conditions.isEmpty()) { FlowElement flowElement1 = model.getFlowElement(identifier); @@ -582,7 +583,6 @@ if (Objects.isNull(sequenceFlow.getConditionExpression()) && StringUtils.isNotBlank(expression)) { sequenceFlow.setConditionExpression(expression); } - conditions.remove(0); } }); @@ -590,7 +590,6 @@ } return endExId; } -// return exclusiveGatewayId; } /** @@ -685,8 +684,10 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 - List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); + List incoming = null; + if(!Objects.isNull(flowNode.getJSONArray("incoming"))){ + incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); + } String id = ""; if (incoming != null && !incoming.isEmpty()) { UserTask userTask = new UserTask(); @@ -758,25 +759,15 @@ } private enum Type { - //0 发起人 1审批 2抄送 3条件 4路由 + //0 发起人 1审批任务 2抄送任务 4条件路由 5并行网关 ROOT(0, UserTask.class), + USER_TASK(1, UserTask.class), + CC(2, ServiceTask.class), ROUTER(4, ExclusiveGateway.class), PARALLEL(5, ParallelGateway.class), - - /** - * 排他事件 - */ -// EXCLUSIVE(4, ExclusiveGateway.class), - - /** - * 任务 - */ - SERVER_TASK(6, UserTask.class), - USER_TASK(1, UserTask.class), - CC(2, ServiceTask.class); + SERVER_TASK(6, UserTask.class); private Integer type; - private Class typeClass; Type(Integer type, Class typeClass) { @@ -795,7 +786,6 @@ public boolean isEqual(String type) { return this.type.equals(type); } - } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessCertificatePrintService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessCertificatePrintService.java index b81d0a4..061ffd0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessCertificatePrintService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessCertificatePrintService.java @@ -17,7 +17,7 @@ void certificatePrintExport(CertificateListRequest request, HttpServletResponse response, Page page) throws Exception; - ReturnDTO agreeAginPrint(ApprovalAgreeRequest request); + ReturnDTO agreeAgainPrint(ApprovalAgreeRequest request); ReturnDTO refuseAgainPrint(CertificateRefusePrintRequest request); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 09eee0f..c4b3d7a 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -67,11 +67,17 @@ WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} @@ -88,11 +94,17 @@ SELECT * FROM meter_train_plan WHERE is_del = 0 - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} 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 04ed845..d04eb14 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 @@ -90,5 +90,4 @@ @ApiModelProperty(value = "回退状态(已收入的状态) 1真0假", dataType = "Integer") private Integer FallbackState; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java new file mode 100644 index 0000000..b06975f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java @@ -0,0 +1,16 @@ +package com.casic.missiles.dto.business.order; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OrderCancelRequest { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") + private String reason; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java index 9662eb8..d6206c5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java @@ -4,13 +4,18 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.List; +/** + * @author cz + */ @Data @ApiModel("设备接收") public class CertificateListRequest { @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") + @NotBlank(message = "表单id不能为空") private String formId; @ApiModelProperty(value = "证书编号", dataType = "String") @@ -20,7 +25,7 @@ private String orderNo; @ApiModelProperty(value = "委托方名称", dataType = "String") - private String cutomerName; + private String customerName; @ApiModelProperty(value = "样品编号", dataType = "String") private String sampleNo; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java index 28c6d26..bacfc56 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java @@ -58,8 +58,14 @@ /** * 创建时间 */ - @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 表单id diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index 9528373..cd1066f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,7 +114,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index b1048c1..bf75da4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,8 +111,8 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; /** * 可选决策项 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java index 9d1f2f0..8f0bfce 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java @@ -25,14 +25,26 @@ /** * 培训时间 */ - @ApiModelProperty(value = "培训时间(查询出该时间前列表倒序)", dataType = "String") - private String trainTime; + @ApiModelProperty(value = "培训开始时间", dataType = "String") + private String trainStartTime; + + /** + * 培训时间 + */ + @ApiModelProperty(value = "培训结束时间", dataType = "String") + private String trainEndTime; /** * 创建时间 */ - @ApiModelProperty(value = "创建时间(查询出该时间前列表倒序)", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 组织部门id-系统组织表 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 8893256..847993f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -117,6 +117,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java new file mode 100644 index 0000000..17e0770 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java @@ -0,0 +1,37 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@TableName("business_deal_record") +@ApiModel("委托书操作记录") +@AllArgsConstructor +@Builder +@Data +public class BusinessDealRecord { + + private Long id; + + @ApiModelProperty("委托书id") + private Long orderId; + + @ApiModelProperty("原因") + private String recordContent; + + private Long createUser; + + @ApiModelProperty("操作人名称") + private String createUserName; + + @ApiModelProperty("创建时间") + private String createTime; + + @ApiModelProperty("备注") + private String remark; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java index 8778b11..9e960f6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java @@ -87,6 +87,9 @@ private Integer isDel; + @ApiModelProperty(value = "最后更新人员", dataType = "String") + private Long updateUser; + @ApiModelProperty(value = "创建人", dataType = "String") private Long createUser; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java new file mode 100644 index 0000000..6572d23 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java @@ -0,0 +1,31 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * @author cz + */ +@Data +@TableName("business_order_record") +public class BusinessOrderRecord { + + private Long id; + + private Long orderId; + + /** + * 记录内容 + */ + private String recordTContent; + + /** + * 创建人id + */ + private Long createUser; + + /** + * 创建人时间 + */ + private String createTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java index ae324f0..ffc21af 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java @@ -146,7 +146,7 @@ private String remark; /** - * 流程定义id + * 流程实例id */ @ApiModelProperty(value = "流程实例id(未通过培训计划编辑接口必传参数)", dataType = "String") @TableField("process_id") 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 a0cceda..230c779 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 @@ -1,7 +1,6 @@ package com.casic.missiles.service.Impl.business; import cn.hutool.core.lang.Assert; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; @@ -15,14 +14,12 @@ import com.casic.missiles.dto.business.print.CertificateListRequest; import com.casic.missiles.dto.business.print.CertificateListResponse; import com.casic.missiles.dto.business.print.CertificateRefusePrintRequest; -import com.casic.missiles.dto.flowable.AllApproveDTO; 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.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -40,6 +37,9 @@ import java.util.*; import java.util.stream.Collectors; +/** + * @author cz + */ @Service @AllArgsConstructor public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { @@ -81,16 +81,19 @@ } @Override - @Transactional - public ReturnDTO agreeAginPrint(ApprovalAgreeRequest request) { - ReturnDTO returnDTO = approvalOperateService.agree(request); - return returnDTO; + public ReturnDTO agreeAgainPrint(ApprovalAgreeRequest request) { + return approvalOperateService.agree(request); } + /** + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * + * @return + */ @Override @Transactional public ReturnDTO refuseAgainPrint(CertificateRefusePrintRequest request) { - ApprovalRefuseRequest approvalRefuseRequest=new ApprovalRefuseRequest(); + ApprovalRefuseRequest approvalRefuseRequest = new ApprovalRefuseRequest(); approvalRefuseRequest.setTaskId(request.getTaskId()); approvalRefuseRequest.setComments(request.getComments()); ReturnDTO returnDTO = approvalOperateService.refuse(approvalRefuseRequest); @@ -99,8 +102,9 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setPrintStatus("2");//设置为不能打印 - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //设置为不能打印 + certificateReport.setPrintStatus("2"); + certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -108,7 +112,9 @@ return ReturnUtil.success(); } - //提交审批流程,修改证书审批状态、修改打印状态 + /** + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + */ @Transactional @Override public ReturnDTO submitAgainPrint(BaseApprovalSubmitRequest request) { @@ -119,8 +125,10 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //审批状态为审批中 - certificateReport.setPrintStatus("3"); //打印状态审批中 + //审批状态为审批中 + certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //打印状态审批中 + certificateReport.setPrintStatus("3"); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -128,13 +136,14 @@ return ReturnUtil.success(); } - //可打印:只需要查询可打印状态即可 - //查询工作流 + /** + * 可打印:只需要查询可打印状态即可,待审批状态,查询工作流,同时传输任务id + */ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)) { handlerBeApproved(approvalList, page, request); - } else if (request.getPrintStatus().equals("0")) { + } else if("0".equals(request.getPrintStatus())) { request.setApprovalStatus(null); approvalList.setRecords(this.baseMapper.selectBatchForApprovalList(page, request, null)); } else { @@ -147,18 +156,9 @@ return approvalList; } - private Page handleAllApprovalListResponse(Page approvalList, List allApproveList) { - Map taskMap = allApproveList.stream().collect(Collectors.toMap(AllApproveDTO::getBusinessKey, AllApproveDTO::getStatus)); - //状态补全 - approvalList.getRecords().forEach(approval -> { - approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); - approval.setApprovalStatus(taskMap.get(String.valueOf(approval.getId()))); - }); - //排序 - approvalList.setRecords(approvalList.getRecords().stream().sorted(Comparator.comparing(CertificateListResponse::getCreateTime).reversed()).collect(Collectors.toList())); - return approvalList; - } - + /** + * 查询待审批状态的打印证书,查询业务主键信息,据此查询相应的证书,并填充相应的工作流状态 + */ private Page handlerBeApproved(Page approvalList, Page page, CertificateListRequest request) { List businessKeys = new ArrayList<>(); List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); @@ -179,11 +179,4 @@ return approvalList; } - private void handleApprovalListResponse(Page approvalList, String status) { - approvalList.getRecords().stream().forEach(result -> { - //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 - result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); - }); - } - } 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 b397f83..859010b 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 @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.business; -import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -46,7 +45,9 @@ private final IBaseExportService iBaseExportService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; - //** 送检人查询条件不在设备交接单中,需要联查才可以实现 + /** + * 送检人查询条件不在设备交接单中,需要联查才可以实现 + */ @Override public Page exchangeListPage(Page page, InterchangeListRequest request) throws Exception { page.setRecords(this.baseMapper.selectInterchangeListPage(page, request)); @@ -54,7 +55,8 @@ } @Override - public BusinessInterchangeDetailResponse exchangeDetail(Long id) { ; + public BusinessInterchangeDetailResponse exchangeDetail(Long id) { + ; BusinessInterchangeDetailResponse businessExchange = this.baseMapper.getInfoById(id); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", businessExchange.getOrderId()); @@ -71,19 +73,21 @@ @Override @Transactional public ReturnDTO deleteExchange(Long id) { - Integer deleteFlag = this.baseMapper.deleteById(id); - //交接单绑定的肯定有样品,所以samplUpdateFlag肯定为true - Boolean samplUpdateFlag = sampleStatusDeletor(id) > 0; - if (deleteFlag > 0 && samplUpdateFlag) { + int deleteFlag = this.baseMapper.deleteById(id); + //交接单绑定的肯定有样品,所以sampleUpdateFlag肯定为true + boolean sampleUpdateFlag = sampleStatusDeletor(id) > 0; + if (deleteFlag > 0 && sampleUpdateFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //更新不对样品有任何操作 + /** + * 更新不对样品有任何操作 + */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { - Integer updateFlag = this.baseMapper.updateById(businessInterchange); + int updateFlag = this.baseMapper.updateById(businessInterchange); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -94,8 +98,8 @@ @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { populationExchange(businessInterchange); - Integer addFlag = this.baseMapper.insert(businessInterchange); - Boolean sampleAddFlag = true; + int addFlag = this.baseMapper.insert(businessInterchange); + boolean sampleAddFlag = true; if (!CollectionUtils.isEmpty(businessInterchange.getCustomerSampleList())) { for (CustomerSampleListVO sampleInfo : businessInterchange.getCustomerSampleList()) { sampleAddFlag = sampleAddFlag && sampleStatusUpdator(sampleInfo, businessInterchange.getId()) > 0; 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 3bd316c..585a207 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 @@ -215,13 +215,7 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - Map resultMap = SqlRunner.db().selectOne( - "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + - "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + - "JOIN sys_user su ON srr.USERID = su.ID " + - "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + - "WHERE su.ID = {0}" + - "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + Map resultMap = selectDirectDept(user); if(CollectionUtils.isEmpty(resultMap) || Objects.isNull(resultMap.get("deptId"))){ return new Page<>(); } @@ -390,16 +384,7 @@ Long maxNo = labExecutiveTemplateInfoMapper.selectMaxTemplateNo(); for (int i = 0; i < labExecutiveInfos.size(); i++) { BusinessLabExecutiveInfo lab = labExecutiveInfos.get(i); - BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); - templateInfo.setTemplateCode(templateCode); -// templateInfo.setSampleTypeId(); - templateInfo.setSampleId(lab.getSampleId()); - templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); - templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); -// templateInfo.setMeasureItem(); - templateInfo.setExecuteSequence(lab.getMeasureSequence()); -// templateInfo.setCreateUser(); + BusinessLabExecutiveTemplateInfo templateInfo = getBusinessLabExecutiveTemplateInfo(maxNo, i, lab); labList.add(templateInfo); } if(labExecutiveTemplateInfoService.saveBatch(labList)) log.info("实验室检测记录批量保存为实验室检测模板成功"); @@ -422,6 +407,20 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { + BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); + String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + templateInfo.setTemplateCode(templateCode); +// templateInfo.setSampleTypeId(); + templateInfo.setSampleId(lab.getSampleId()); + templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); + templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); +// templateInfo.setMeasureItem(); + templateInfo.setExecuteSequence(lab.getMeasureSequence()); +// templateInfo.setCreateUser(); + return templateInfo; + } + @Override public ReturnDTO updateExecutiveList(UpdateExecutiveListRequest request) { //删除前端已删除的ids @@ -469,7 +468,6 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - //登录用户id获取计量人员id,实验室检测信息中存储的是计量人员id MeterStaff meterStaff = getMeterStaffInfo(user); if(Objects.isNull(meterStaff)) throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_NOT_STAFF); Long userId = meterStaff.getId(); @@ -510,7 +508,6 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - //登录用户id获取计量人员id,实验室检测信息中存储的是计量人员id MeterStaff meterStaff = getMeterStaffInfo(user); if(Objects.isNull(meterStaff)) throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_NOT_STAFF); Long userId = meterStaff.getId(); @@ -518,15 +515,7 @@ //删除实验室检测列表中退回数据 int deleteFlag = labExecutiveInfoMapper.deleteById(request.getId()); //退回操作记录表中增加数据 - BusinessLabExecutiveOperateLog operateLog = new BusinessLabExecutiveOperateLog(); - operateLog.setOrderId(request.getOrderId()); - operateLog.setSampleId(request.getSampleId()); - operateLog.setMeasureDeptId(request.getMeasureSegmentId()); - operateLog.setMeasurePersonId(request.getMeasurePersonId()); - operateLog.setOperatePersonId(userId); - operateLog.setOperatePersonName(user.getName()); - operateLog.setMeasureStatus(MeasureStatusEnum.SEND_BACK); - operateLog.setOperateReason(request.getOperateReason()); + BusinessLabExecutiveOperateLog operateLog = getBusinessLabExecutiveOperateLog(request, user, userId); int insertFlag = labExecutiveOperateLogMapper.insert(operateLog); if(deleteFlag > 0 && insertFlag > 0){ //退回后会将下一个要执行的实验室检测状态更新为待分配,将后面的实验室顺序变更为连续(都进行减1) @@ -596,4 +585,29 @@ } }); } + + private Map selectDirectDept(AuthUser user) { + Map resultMap = SqlRunner.db().selectOne( + "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON srr.USERID = su.ID " + + "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + + "WHERE su.ID = {0}" + + "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + return resultMap; + } + + private BusinessLabExecutiveOperateLog getBusinessLabExecutiveOperateLog(ExecutiveSendBackRequest request, AuthUser user, Long userId) { + BusinessLabExecutiveOperateLog operateLog = new BusinessLabExecutiveOperateLog(); + operateLog.setOrderId(request.getOrderId()); + operateLog.setSampleId(request.getSampleId()); + operateLog.setMeasureDeptId(request.getMeasureSegmentId()); + operateLog.setMeasurePersonId(request.getMeasurePersonId()); + operateLog.setOperatePersonId(userId); + operateLog.setOperatePersonName(user.getName()); + operateLog.setMeasureStatus(MeasureStatusEnum.SEND_BACK); + operateLog.setOperateReason(request.getOperateReason()); + return operateLog; + } + } 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 f6b3933..48742b4 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 @@ -9,14 +9,17 @@ import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.ExportEnum; import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; import com.casic.missiles.mapper.business.BusinessOrderMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -49,18 +52,19 @@ @AllArgsConstructor public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { - private final BusinessOrderListReponseMapper orderListReponseMapper; + private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; private final CustomerSampleService customerSampleService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; + private final BusinessDealRecordMapper dealRecordMapper; /** * 1、分页查询 2、批量查询所有的委托书、样品关系 => 进行以sampleId为key主键map list 3、查询计算样品数量 */ @Override public Page orderListPage(Page page, OrderListRequest request) throws Exception { - QueryWrapper wrapper = listParamWrapper(request); - Page resultPage = this.orderListReponseMapper.selectPage(page, wrapper); + QueryWrapper wrapper = listParamWrapperBuilder(request); + Page resultPage = this.orderListResponseMapper.selectPage(page, wrapper); List orderSampleList = sampleRelationMapper.selectList(null); Map> orderSampleMap = orderSampleList.stream().collect( Collectors.groupingBy(BusinessOrderSampleRelation::getOrderId) @@ -74,7 +78,9 @@ return resultPage; } - // 1、查询委托书详情 2、对样品列表进行查询 3、设置默认在库标志 + /** + * 1、查询委托书详情 2、对样品列表进行查询 3、设置默认在库标志 + */ @Override public BusinessOrder orderDetail(Long id) { BusinessOrder businessOrder = this.baseMapper.selectById(id); @@ -91,29 +97,24 @@ return businessOrder; } - @Override - public ReturnDTO deleteOrder(Long id) { - Integer deleteFlag = this.baseMapper.deleteById(id); - if (deleteFlag > 0) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - - // 删除样品和委托书的明细关系,填充传输的明细样品数据, - // 对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + /** + * 1、删除样品和委托书的明细关系,填充传输的明细样品数据 + * 2、对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + */ @Override public ReturnDTO updateOrder(BusinessOrder businessOrder) { - Integer updateFlag = this.baseMapper.updateById(businessOrder); - this.sampleStatusDeletor(businessOrder.getId()); - Boolean sampleUpdateFlag = true; + AuthUser authUser = ShiroKit.getUser(); + businessOrder.setUpdateUser(authUser.getId()); + int updateFlag = this.baseMapper.updateById(businessOrder); + this.deleteSampleById(businessOrder.getId()); + boolean sampleUpdateFlag = true; this.doSampleListPopulation(businessOrder); for (CustomerSampleInfo sampleInfo : businessOrder.getCustomerSampleInfoList()) { sampleInfo.setDeliverer(businessOrder.getDeliverer()); sampleInfo.setDelivererTel(businessOrder.getDelivererTel()); - if (sampleInfo.getIsExistSample().equals("0")) { + if ("0".equals(sampleInfo.getIsExistSample())) { ReturnDTO returnDTO = customerSampleService.addSample(sampleInfo); - sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode().equals("200"); + sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode().equals(200); } else { ReturnDTO returnDTO = customerSampleService.updateSample(sampleInfo); sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode() == 200; @@ -126,25 +127,27 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //删除样品和委托书的明细关系,填充传输的明细样品数据, - // 对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + /** + * 1、删除样品和委托书的明细关系,填充传输的明细样品数据 + * 2、对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + */ @Override @Transactional public ReturnDTO addOrder(BusinessOrder businessOrder) { initOrderInfo(businessOrder); - Integer addFlag = this.baseMapper.insert(businessOrder); - Boolean sampleAddFlag = true; - this.sampleStatusDeletor(businessOrder.getId()); + int addFlag = this.baseMapper.insert(businessOrder); + boolean sampleAddFlag = true; + this.deleteSampleById(businessOrder.getId()); this.doSampleListPopulation(businessOrder); for (CustomerSampleInfo sampleInfo : businessOrder.getCustomerSampleInfoList()) { sampleInfo.setDeliverer(businessOrder.getDeliverer()); sampleInfo.setDelivererTel(businessOrder.getDelivererTel()); - if (sampleInfo.getIsExistSample().equals("0")) { + if ("0".equals(sampleInfo.getIsExistSample())) { ReturnDTO returnDTO = customerSampleService.addSample(sampleInfo); - sampleAddFlag = sampleAddFlag && returnDTO.getCode() == 200; + sampleAddFlag = sampleAddFlag && returnDTO.getCode().equals(200); } else { ReturnDTO returnDTO = customerSampleService.updateSample(sampleInfo); - sampleAddFlag = sampleAddFlag && returnDTO.getCode() == 200; + sampleAddFlag = sampleAddFlag && returnDTO.getCode().equals(200); } sampleAddFlag = sampleAddFlag && sampleStatusCreator(sampleInfo.getOrderId(), sampleInfo.getMeasureContent(), sampleInfo.getId()) > 0; } @@ -154,58 +157,135 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //如查询说明,补充对是否加急的excel文档表现 + /** + * 1、判断是否存在ids,进行其他参数属性的初始化 + * 2、查询查询构建 + * 3、查询样品关系,构建委托书样品数量map集合 + * 4、字典值进行状态转化 + */ @Override public void orderExport(OrderListRequest request, HttpServletResponse response) { try { - List orderListReponseList; + List orderResponseList; if (!CollectionUtils.isEmpty(request.getIds())) { - orderListReponseList = orderListReponseMapper.selectBatchIds(request.getIds()); + orderResponseList = orderListResponseMapper.selectBatchIds(request.getIds()); } else { - QueryWrapper wrapper = listParamWrapper(request); - orderListReponseList = this.orderListReponseMapper.selectList(wrapper); + QueryWrapper wrapper = listParamWrapperBuilder(request); + orderResponseList = this.orderListResponseMapper.selectList(wrapper); } + //查询样品关系,构建委托书样品数量map集合, List orderSampleList = sampleRelationMapper.selectList(null); Map> orderSampleMap = orderSampleList.stream().collect( Collectors.groupingBy(BusinessOrderSampleRelation::getOrderId) ); - orderListReponseList.forEach( + orderResponseList.forEach( orderSample -> orderSample.setSampleCount(orderSampleMap.containsKey(orderSample.getId()) ? orderSampleMap.get(orderSample.getId()).size() : 0) ); - for (OrderListReponse orderListReponse : orderListReponseList) { - orderListReponse.setIsUrgent(orderListReponse.getIsUrgent().equals("1") ? "是" : "否"); + //字典转换 + for (OrderListReponse orderListReponse : orderResponseList) { + orderListReponse.setIsUrgent("1".equals(orderListReponse.getIsUrgent()) ? "是" : "否"); DictCodeUtils.convertDictCodeToName(orderListReponse); } - iBaseExportService.exportExcel(response, OrderListReponse.class, orderListReponseList, ExportEnum.ORDER_EXPORT.getSheetName()); + iBaseExportService.exportExcel(response, OrderListReponse.class, orderResponseList, ExportEnum.ORDER_EXPORT.getSheetName()); } catch (Exception ex) { log.error("委托书导出出现异常,异常信息为{}", ex); } } + /** + * 通过状态对委托书状态进行更新 + */ @Override - public ReturnDTO updateStatusById(Long id, String status) { - BusinessOrder businessOrder = new BusinessOrder(); - businessOrder.setId(id); - businessOrder.setStatus(status); - Integer updateFlag = this.baseMapper.updateById(businessOrder); - if (updateFlag > 0) { + public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { + int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); + int addDealRecordFlag = addDealRecord(orderCancelRequest); + if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 取消记录,修改委托书状态,同时生成委托书操作日志,供用户查询 + */ + @Override + @Transactional + public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int addDealRecordFlag = addDealRecord(orderCancelRequest); + if (updateFlag > 0 && addDealRecordFlag > 0) { + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + /** + * 操作记录的查询 + */ + @Override + public List optionRecord(Long id) { + QueryWrapper dealRecordQueryWrapper = new QueryWrapper() + .eq("order_id", id); + return dealRecordMapper.selectList(dealRecordQueryWrapper); + } + + /** + * 新增操作记录 + */ + private int addDealRecord(OrderCancelRequest orderCancelRequest) { + AuthUser authUser = ShiroKit.getUser(); + BusinessDealRecord businessDealRecord = BusinessDealRecord.builder() + .createUser(authUser.getId()) + .createUserName(authUser.getName()) + .recordContent(reasonConvert(orderCancelRequest.getReason())) + .orderId(orderCancelRequest.getId()) + .build(); + return dealRecordMapper.insert(businessDealRecord); + } + + /** + * 强调正在做状态更新 + */ + private int doUpdateStatusById(Long orderId, String status) { + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(orderId); + businessOrder.setStatus(status); + AuthUser authUser = ShiroKit.getUser(); + businessOrder.setUpdateUser(authUser.getId()); + return this.baseMapper.updateById(businessOrder); + } + + /** + * 原因字典转化为相应的值 + */ + private String reasonConvert(String reasonIds) { + String reasonStr = ""; + if (StringUtils.isEmpty(reasonIds)) { + return reasonStr; + } + String[] reasonIdList = reasonIds.split(","); + for (String reasonId : reasonIdList) { + String reasonContent = dealRecordMapper.getDictContent(reasonId); + reasonStr = reasonStr + reasonContent + ","; + } + return reasonStr.substring(0, reasonStr.length() - 1); + } + private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); + businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); businessOrder.setStatus("1"); } - - private QueryWrapper listParamWrapper(OrderListRequest request) { + /** + * 委托书列表查询构建方法 + */ + private QueryWrapper listParamWrapperBuilder(OrderListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getDeliverer()), "deliverer", request.getDeliverer()); @@ -223,21 +303,19 @@ return queryWrapper; } - private Integer sampleStatusDeletor(Long orderId) { + private int deleteSampleById(Long orderId) { QueryWrapper sampleStatusRelationWrapper = new QueryWrapper() .eq("order_id", orderId); - Integer sampleStatus = this.sampleRelationMapper.delete(sampleStatusRelationWrapper); - return sampleStatus; + return this.sampleRelationMapper.delete(sampleStatusRelationWrapper); } - private Integer sampleStatusCreator(Long orderId, String measureContent, Long sampleId) { + private int sampleStatusCreator(Long orderId, String measureContent, Long sampleId) { BusinessOrderSampleRelation sampleStatusPopulation = new BusinessOrderSampleRelation(); sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); sampleStatusPopulation.setMeasureType("1"); - Integer sampleStatus = this.sampleRelationMapper.insert(sampleStatusPopulation); - return sampleStatus; + return this.sampleRelationMapper.insert(sampleStatusPopulation); } private void doSampleListPopulation(BusinessOrder businessOrder) { @@ -249,4 +327,5 @@ } ); } + } 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 e922dc2..07c88e9 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 com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -11,8 +12,6 @@ import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; -import com.casic.missiles.dto.business.interchange.InterchangeListResponse; -import com.casic.missiles.dto.meter.TrainPlanApprovalListResponse; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; @@ -21,20 +20,22 @@ import com.casic.missiles.mapper.business.*; import com.casic.missiles.model.business.*; import com.casic.missiles.service.business.IBusinessDispatchService; -import com.casic.missiles.utils.ConvertUtils; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.util.ObjectUtils; -import org.springframework.util.StringUtils; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Objects; import java.util.Optional; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -45,84 +46,59 @@ private final BusinessLabExecutiveInfoMapper labExecutiveInfoMapper; private final IBaseExportService iBaseExportService; - //终止、回退、收入、归还、催办按钮 - //列表返回只需要控制已收入回退按钮显示的权限即可,其中回退在没有任何实验室进行的情况,可以进行设备的回退 + /** + * 终止、回退、收入、归还、催办按钮 + * 列表返回只需要控制已收入回退按钮显示的权限即可,其中回退在没有任何实验室进行的情况,可以进行设备的回退 + */ @Override public Page listPage(Page page, DeviceDispatchDTO request) { -// //查询委托书和样品关联表中的各状态的样品 - Page dispatchVOPage = orderSampleRelationMapper.getSampleListByStatus(page, request); + //查询委托书和样品关联表中的各状态的样品 + Page dispatchVoPage = orderSampleRelationMapper.getSampleListByStatus(page, request); log.info("设备收发-当前查询样品状态为:{}", request.getSampleStatus()); - List records = dispatchVOPage.getRecords(); + List records = dispatchVoPage.getRecords(); if (CollectionUtils.isEmpty(records)) { return new Page<>(); } - doDispatchVOPagePopution(records, request); - return dispatchVOPage; - } - - - //进行已收入分页的当前环节回填、出具证书回填 - private void doDispatchVOPopulation(DeviceDispatchVO dispatchVO, Long sampleId, Long orderId) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); - HandOutLabExecutiveDTO handOutLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); - Integer measureNumberStatus = labExecutiveInfoMapper.getMeasureNumberStatus(orderId, sampleId); - // - if (!Objects.isNull(handOutLabExecutiveDTO)) { - dispatchVO.setRequireCertifications(handOutLabExecutiveDTO.getRequireCertifications()); - dispatchVO.setCurrentSegment(handOutLabExecutiveDTO.getDeptName()); - Long measureDeptId = handOutLabExecutiveDTO.getMeasureDeptId(); - dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, measureDeptId)); - } else { - dispatchVO.setAlreadyCertifications(0); - dispatchVO.setRequireCertifications(ObjectUtils.isEmpty(measureNumberStatus) ? 0 : measureNumberStatus); - } - if (!ObjectUtils.isEmpty(measureNumberStatus) && measureNumberStatus > 0) { - dispatchVO.setFallbackState(0);//不可以进行回退 - } else { - dispatchVO.setFallbackState(1);//可以进行回退 - } + doPopulateDispatch(records, request); + return dispatchVoPage; } /** - * 重点填充类 - * - * @param dispatchVOPage - * @param request + * 分发列表填充 */ - private void doDispatchVOPagePopution(List dispatchVOPage, DeviceDispatchDTO request) { - dispatchVOPage.stream().forEach( + private void doPopulateDispatch(List dispatchVOPage, DeviceDispatchDTO request) { + dispatchVOPage.forEach( dispatchVO -> { Long orderId = dispatchVO.getOrderId(); Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && request.getSampleStatus().equals("8") && noSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { - //待分发状态,分发性质:有退回就是退回分发,当前检定环节:待分配,已出具证书:无,出具证书总数:无 + //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 case SampleStatusEnum.TO_HANDOUT: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //检测中状态,分发性质:无,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 + //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 case SampleStatusEnum.IN_MEASURE: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //检测完状态,分发性质:无,当前检定环节:完成,已出具证书:无,出具证书总数:无 + //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 case SampleStatusEnum.MEASURE_COMPLETE: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //超期样品(即检测超期,未在应检完时间检完),分发性质:无,当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 + doDispatchVoPopulation(dispatchVO, sampleId, orderId); + return; + //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 case SampleStatusEnum.BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); - Long deptId = overLabExecutiveDTO.getMeasureDeptId(); + Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); dispatchVO.setRequireCertifications(overLabExecutiveDTO.getRequireCertifications()); - if (checkSampleFinshStauts(dispatchVO)) { + // 判断样品是完成或接收状态,直接显示即可 + if (checkSampleFinishStatus(dispatchVO)) { return; } dispatchVO.setCurrentSegment(overLabExecutiveDTO.getDeptName()); break; + default: + break; } } ); @@ -131,8 +107,7 @@ @Override public void exportSampleDispatchList(DeviceDispatchDTO request, HttpServletResponse response) { try { - - Page deviceDispatchVOPage = PageFactory.defaultPage(); + Page deviceDispatchVOPage; if (!CollectionUtils.isEmpty(request.getIds())) { initDeviceDispatchDTOEmpty(request); } else { @@ -150,29 +125,59 @@ } + /** + * 状态更新 + */ @Override public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer updateFalg = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFalg > 0) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - - //终止操作,不仅更新状态,同时进行实验室状态的更新 - @Override - @Transactional - public ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, true); - //实验室状态数据的更新 - reasonPopulation(deviceStatusChangeDTO); + Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); if (updateFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - private void reasonPopulation(DeviceStatusChangeDTO deviceStatusChangeDTO) { + /** + * 终止操作,不仅更新状态,同时进行实验室状态原因的更新 + */ + @Override + @Transactional + public ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO) { + Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, true); + //实验室状态数据的更新 + updateLabExecutiveInfo(deviceStatusChangeDTO); + if (updateFlag > 0) { + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + /** + * 进行已收入分页的当前环节回填、出具证书回填 + */ + private void doDispatchVoPopulation(DeviceDispatchVO dispatchVO, Long sampleId, Long orderId) { + dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + HandOutLabExecutiveDTO handOutLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); + Integer measureNumberStatus = labExecutiveInfoMapper.getMeasureNumberStatus(orderId, sampleId); + //证书,当前环节的回填 + if (!Objects.isNull(handOutLabExecutiveDTO)) { + dispatchVO.setRequireCertifications(handOutLabExecutiveDTO.getRequireCertifications()); + dispatchVO.setCurrentSegment(handOutLabExecutiveDTO.getDeptName()); + Long measureDeptId = handOutLabExecutiveDTO.getMeasureDeptId(); + dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, measureDeptId)); + } else { + dispatchVO.setAlreadyCertifications(0); + dispatchVO.setRequireCertifications(ObjectUtils.isEmpty(measureNumberStatus) ? 0 : measureNumberStatus); + } + //处于检测中、检测完、待检测的实验室大于0,不可以进行回退,否则可以进行回退 + if (!ObjectUtils.isEmpty(measureNumberStatus) && measureNumberStatus > 0) { + dispatchVO.setFallbackState(0); + } else { + dispatchVO.setFallbackState(1); + } + } + + private void updateLabExecutiveInfo(DeviceStatusChangeDTO deviceStatusChangeDTO) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); @@ -182,10 +187,13 @@ labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } + /** + * 消息催办 + */ @Override public ReturnDTO rushDoProcess(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer deleteFalg = this.baseMapper.deleteById(deviceStatusChangeDTO.getOrderId()); - if (deleteFalg > 0) { + int deleteFlag = this.baseMapper.deleteById(deviceStatusChangeDTO.getOrderId()); + if (deleteFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -203,7 +211,7 @@ return null; } Optional handOutLabExecutiveDTOOptional = labExecutiveList.stream().findFirst(); - return handOutLabExecutiveDTOOptional.isPresent() ? handOutLabExecutiveDTOOptional.get() : null; + return handOutLabExecutiveDTOOptional.orElse(null); } private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { @@ -214,7 +222,9 @@ return wrapper; } - //更新检测完成后,执行当前正在进行数据 + /** + * 更新检测完成后,执行当前正在进行数据 + */ private Integer statusChangeUpdator(DeviceStatusChangeDTO statusChangeDTO, Boolean terminateFlag) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); @@ -227,15 +237,18 @@ return this.orderSampleRelationMapper.update(businessOrderSampleRelation, queryWrapper); } - //判断不是自检 - private Boolean noSelfMeasure(DeviceDispatchVO dispatchVO) { - if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType()) && (dispatchVO.getMeasureType().equals("1") || dispatchVO.getMeasureType().equals("2"))) { - String currentSegment = dispatchVO.getMeasureType().equals("1") ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; - dispatchVO.setCurrentSegment(currentSegment); - return true; - } else { - return false; + /** + * 判断不是自检 + */ + 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; + dispatchVO.setCurrentSegment(currentSegment); + return true; + } } + return false; } private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { @@ -250,8 +263,10 @@ request.setEndTime(null); } - // 判断样品是完成或接收状态,直接显示即可 - private Boolean checkSampleFinshStauts(DeviceDispatchVO dispatchVO) { + /** + * 判断样品是完成或接收状态,直接显示即可 + */ + private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); 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 eecf207..4f06678 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 @@ -28,6 +28,9 @@ import javax.servlet.http.HttpServletResponse; import java.util.List; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -58,7 +61,7 @@ @Override public ReturnDTO deleteAdvice(Long id) { - Integer deleteFlag = customerAdviceMapper.deleteById(id); + int deleteFlag = customerAdviceMapper.deleteById(id); if (deleteFlag > 0) { return ReturnUtil.success(); } @@ -67,7 +70,7 @@ @Override public ReturnDTO updateAdvice(CustomerAdviceInfo customerAdviceInfo) { - Integer updateFlag = customerAdviceMapper.updateById(customerAdviceInfo); + int updateFlag = customerAdviceMapper.updateById(customerAdviceInfo); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -77,7 +80,7 @@ @Override public ReturnDTO addAdvice(CustomerAdviceInfo customerAdviceInfo) { initCustomerAdviceInfo(customerAdviceInfo); - Integer addFlag = customerAdviceMapper.insert(customerAdviceInfo); + int addFlag = customerAdviceMapper.insert(customerAdviceInfo); if (addFlag > 0) { return ReturnUtil.success(); } 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 79a776b..3bbcaaf 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 @@ -55,7 +55,7 @@ public Page listPage(Page page, CustomerSampleListRequest request) throws Exception { QueryWrapper wrapper = listParamWrapper(request); Page customerSamplePage = customerSampleListResponseMapper.selectPage(page, wrapper); - customerSamplePage.getRecords().stream() + customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { @@ -72,26 +72,30 @@ return customerSamplePage; } - //新增样品表,同时新增样品委托书关联状态表 + /** + * 新增样品表,同时新增样品委托书关联状态表 + */ @Override @Transactional public ReturnDTO addSample(CustomerSampleInfo customerSampleInfo) { initSample(customerSampleInfo); - Integer addFlag = this.baseMapper.insert(customerSampleInfo); + int addFlag = this.baseMapper.insert(customerSampleInfo); if (addFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //更新样品表,同时更新样品委托书关联状态表 + /** + * 更新样品表,同时更新样品委托书关联状态表 + */ @Override @Transactional public ReturnDTO updateSample(CustomerSampleInfo customerSampleInfo) { AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setUpdateUser(authUser.getId()); initSample(customerSampleInfo); - Integer updateFlag = this.baseMapper.updateById(customerSampleInfo); + int updateFlag = this.baseMapper.updateById(customerSampleInfo); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -110,8 +114,6 @@ /** * 只导出样品列表信息 * - * @param request - * @param response */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -148,9 +150,8 @@ } @Override - @Transactional public ReturnDTO deleteSample(Long id) { - Integer deleteFalg = this.baseMapper.deleteById(id); + int deleteFalg = this.baseMapper.deleteById(id); if (deleteFalg > 0) { return ReturnUtil.success(); } @@ -158,12 +159,12 @@ } @Override - public Page mesureRecordsBySampleId(Long id) { + public Page measureRecordsBySampleId(Long id) { Page page = PageFactory.defaultPage(); QueryWrapper wrapper = new QueryWrapper() .eq("sample_id", id); - Page mesureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); - return mesureRecordsResponsePage; + Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + return measureRecordsResponsePage; } @Override @@ -197,12 +198,12 @@ 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());//样品所属 - queryWrapper.like(StringUtils.isNotBlank(request.getSampleModel()), "sample_model", request.getSampleModel());//样品型号 - queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName());//委托方名称 - queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo());//委托方代码 + 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()); + queryWrapper.like(StringUtils.isNotBlank(request.getSampleModel()), "sample_model", request.getSampleModel()); + 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"), "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); 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 62c4a00..32d4dee 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 @@ -70,7 +70,7 @@ @Transactional public ReturnDTO addCustomer(CustomerInfo customerInfo) { initCustomerInfo(customerInfo); - Integer addFlag = this.baseMapper.insert(customerInfo); + int addFlag = this.baseMapper.insert(customerInfo); Boolean userAddFlag = userInfoListCreator(customerInfo.getCustomerUserList(), customerInfo.getId()); if (addFlag > 0 && userAddFlag) { return ReturnUtil.success(); @@ -84,7 +84,7 @@ AuthUser authUser = ShiroKit.getUser(); customerInfo.setUpdateUser(authUser.getId()); userInfoListDeletor(customerInfo.getId()); - Integer updateFlag = this.baseMapper.updateById(customerInfo); + int updateFlag = this.baseMapper.updateById(customerInfo); Boolean userUpdateFlag = userInfoListCreator(customerInfo.getCustomerUserList(),customerInfo.getId()); if (updateFlag > 0 && userUpdateFlag) { return ReturnUtil.success(); @@ -102,7 +102,7 @@ @Override public ReturnDTO deleteCustomer(Long id) { CustomerInfo customerInfo = this.baseMapper.selectById(id); - Integer deleteFlag = this.baseMapper.deleteById(id); + int deleteFlag = this.baseMapper.deleteById(id); userInfoListDeletor(customerInfo.getId()); if (deleteFlag > 0) { return ReturnUtil.success(); @@ -116,8 +116,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("customer_id", customerId); queryWrapper.orderByDesc("create_time"); - Page sampleRecordsResponsePage = sampleRecordsResponseMapper.selectPage(page, queryWrapper); - return sampleRecordsResponsePage; + return sampleRecordsResponseMapper.selectPage(page, queryWrapper); } @@ -129,9 +128,8 @@ @Override//暂定不做 public Page mesureRecordsByCustomerId(Long customerId) { - Page mesureRecordsResponsePage = PageFactory.defaultPage(); - - return mesureRecordsResponsePage; + Page measureRecordsResponsePage = PageFactory.defaultPage(); + return measureRecordsResponsePage; } @Override @@ -139,8 +137,7 @@ Page page = PageFactory.defaultPage(); QueryWrapper wrapper = new QueryWrapper() .eq("customer_id", customerId); - Page certificationResponsePage = certificationMapper.selectPage(page, wrapper); - return certificationResponsePage; + return certificationMapper.selectPage(page, wrapper); } @Override @@ -185,8 +182,7 @@ private List customerUserDetail(Long id) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("customer_id", id); - List customerUserInfoList = customerUserMapper.selectList(queryWrapper); - return customerUserInfoList; + return customerUserMapper.selectList(queryWrapper); } private void userInfoListDeletor(Long customerId) { @@ -197,12 +193,12 @@ private Boolean userInfoListCreator(List userInfoList, Long id) { Long maxUserNo = customerUserMapper.selectMaxUserNo(); - Boolean userUpdateFlag = true; + boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); customerUserInfo.setUserNo(customerNo); - Integer userAddNum = customerUserMapper.insert(customerUserInfo); + int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { userUpdateFlag = false; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java index d816cb8..c9997c5 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java @@ -11,6 +11,9 @@ import java.util.*; import java.util.stream.Collectors; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -24,8 +27,7 @@ Map trendMap = sampleList.stream().collect( Collectors.toMap(e -> String.valueOf(e.get("increaseTime")), e -> String.valueOf(e.get("count"))) ); - List trendResponseList = recentYearBuilder(trendMap); - return trendResponseList; + return recentYearBuilder(trendMap); } @Override @@ -34,8 +36,7 @@ Map trendMap = sampleList.stream().collect( Collectors.toMap(e -> String.valueOf(e.get("expireTime")), e -> String.valueOf(e.get("count"))) ); - List trendResponseList = recentYearBuilder(trendMap); - return trendResponseList; + return recentYearBuilder(trendMap); } @Override @@ -44,8 +45,7 @@ Map trendMap = sampleList.stream().collect( Collectors.toMap(e -> String.valueOf(e.get("increaseTime")), e -> String.valueOf(e.get("count"))) ); - List trendResponseList = recentYearBuilder(trendMap); - return trendResponseList; + return recentYearBuilder(trendMap); } // 鉴定金额暂时没有表设计,loading... @@ -64,10 +64,10 @@ Calendar endDate = Calendar.getInstance(); endDate.setTime(new Date()); while (beginDate.getTime().compareTo(endDate.getTime()) <= 0) { - WorkbenceTrendResponse workbenceResponse = new WorkbenceTrendResponse(); - workbenceResponse.setDate(sdf2.format(beginDate.getTime())); - workbenceResponse.setCount(trendMap.containsKey(sdf1.format(beginDate.getTime())) ? trendMap.get(sdf1.format(beginDate.getTime())) : "0"); - mapList.add(workbenceResponse); + WorkbenceTrendResponse workBenchResponse = new WorkbenceTrendResponse(); + workBenchResponse.setDate(sdf2.format(beginDate.getTime())); + workBenchResponse.setCount(trendMap.containsKey(sdf1.format(beginDate.getTime())) ? trendMap.get(sdf1.format(beginDate.getTime())) : "0"); + mapList.add(workBenchResponse); beginDate.add(Calendar.MONTH, 1); } return mapList; 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 2d1d4a7..c0e00ab 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 @@ -247,6 +247,8 @@ toBeApprovedList.forEach(toBeApprovedDTO -> { if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); + //补全可选决策项 + approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); } }); }); 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 35a7098..b9faa3d 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 @@ -290,6 +290,8 @@ toBeApprovedList.forEach(toBeApprovedDTO -> { if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ approval.setTaskId(toBeApprovedDTO.getTaskId()); + //补全可选决策项 + approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); } }); }); 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 ba06aff..660be28 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 @@ -124,7 +124,7 @@ .name(name) // .category("")//自定义类别 .deploy(); - log.info("流程定义部署,flowable return deploy;{}", JSONObject.toJSONString(deploy)); + log.info("流程定义部署,flowable return deploy:{}", JSONObject.toJSONString(deploy)); if (Objects.isNull(deploy)) { return ReturnUtil.failed("流程定义部署失败"); } @@ -335,7 +335,6 @@ //添加incoming属性(表示进来的,即上面流程节点的id列表),值为仅一个启动事件id的列表 flowNode.put("incoming", Collections.singletonList(fromId)); String id = createTask(flowNode, process, sequenceFlows); - // 如果当前任务还有后续任务,则遍历创建后续任务 JSONObject nextNode = flowNode.getJSONObject("childNode"); if (Objects.nonNull(nextNode)) { @@ -349,7 +348,6 @@ else if (Type.CC.type.equals(nodeType)) { flowNode.put("incoming", Collections.singletonList(fromId)); String id = createServiceTask(flowNode, process, sequenceFlows); - // 如果当前任务还有后续任务,则遍历创建后续任务 JSONObject nextNode = flowNode.getJSONObject("childNode"); if (Objects.nonNull(nextNode)) { @@ -363,7 +361,6 @@ else if (Type.USER_TASK.type.equals(nodeType)) { flowNode.put("incoming", Collections.singletonList(fromId)); String id = createTask(flowNode, process, sequenceFlows); - // 如果当前任务还有后续任务,则遍历创建后续任务 JSONObject nextNode = flowNode.getJSONObject("childNode"); if (Objects.nonNull(nextNode)) { @@ -454,11 +451,16 @@ } } String str = StringUtils.join(userIds, ","); - // todo: 以下需验证,若不行,采用:流程实例的发起人通过TaskCreatedListener监听器设置,这里再获取,或者可能需要再加个监听器获取 + // 以下已测试成功 // ExUtils为bean实例方法,已添加 // flowable表达式会自动识别流程变量,以下root也可识别为实例创建时的具体值,比如:${price < 100},price就是一个流程变量的值,UEL表达式的结果为布尔值 String starterId = "root"; - expression = "exUtils." + "strContains(" + starterId + "," + str + ")"; + if(StringUtils.isEmpty(str)){ + //其他条件(最后一个分支为空条件的情况) + expression = "#{exUtils." + "strContains(" + starterId + "," + starterId + ")}"; + }else { + expression = "#{exUtils." + "strContains(" + starterId + "," + str + ")}"; + } } if (Objects.isNull(childNode)) { @@ -509,7 +511,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为啥不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -556,12 +558,11 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); } - // 针对 gateway 空任务分支 添加条件表达式,即条件节点下无子节点的情况 if (!conditions.isEmpty()) { FlowElement flowElement1 = model.getFlowElement(identifier); @@ -582,7 +583,6 @@ if (Objects.isNull(sequenceFlow.getConditionExpression()) && StringUtils.isNotBlank(expression)) { sequenceFlow.setConditionExpression(expression); } - conditions.remove(0); } }); @@ -590,7 +590,6 @@ } return endExId; } -// return exclusiveGatewayId; } /** @@ -685,8 +684,10 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 - List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); + List incoming = null; + if(!Objects.isNull(flowNode.getJSONArray("incoming"))){ + incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); + } String id = ""; if (incoming != null && !incoming.isEmpty()) { UserTask userTask = new UserTask(); @@ -758,25 +759,15 @@ } private enum Type { - //0 发起人 1审批 2抄送 3条件 4路由 + //0 发起人 1审批任务 2抄送任务 4条件路由 5并行网关 ROOT(0, UserTask.class), + USER_TASK(1, UserTask.class), + CC(2, ServiceTask.class), ROUTER(4, ExclusiveGateway.class), PARALLEL(5, ParallelGateway.class), - - /** - * 排他事件 - */ -// EXCLUSIVE(4, ExclusiveGateway.class), - - /** - * 任务 - */ - SERVER_TASK(6, UserTask.class), - USER_TASK(1, UserTask.class), - CC(2, ServiceTask.class); + SERVER_TASK(6, UserTask.class); private Integer type; - private Class typeClass; Type(Integer type, Class typeClass) { @@ -795,7 +786,6 @@ public boolean isEqual(String type) { return this.type.equals(type); } - } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessCertificatePrintService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessCertificatePrintService.java index b81d0a4..061ffd0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessCertificatePrintService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessCertificatePrintService.java @@ -17,7 +17,7 @@ void certificatePrintExport(CertificateListRequest request, HttpServletResponse response, Page page) throws Exception; - ReturnDTO agreeAginPrint(ApprovalAgreeRequest request); + ReturnDTO agreeAgainPrint(ApprovalAgreeRequest request); ReturnDTO refuseAgainPrint(CertificateRefusePrintRequest request); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessDispatchService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessDispatchService.java index 2292404..0c2aeb2 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessDispatchService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessDispatchService.java @@ -8,6 +8,9 @@ import javax.servlet.http.HttpServletResponse; +/** + * @author cz + */ public interface IBusinessDispatchService { Page listPage(Page page, DeviceDispatchDTO request); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 09eee0f..c4b3d7a 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -67,11 +67,17 @@ WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} @@ -88,11 +94,17 @@ SELECT * FROM meter_train_plan WHERE is_del = 0 - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} 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 04ed845..d04eb14 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 @@ -90,5 +90,4 @@ @ApiModelProperty(value = "回退状态(已收入的状态) 1真0假", dataType = "Integer") private Integer FallbackState; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java new file mode 100644 index 0000000..b06975f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java @@ -0,0 +1,16 @@ +package com.casic.missiles.dto.business.order; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OrderCancelRequest { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") + private String reason; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java index 9662eb8..d6206c5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java @@ -4,13 +4,18 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.List; +/** + * @author cz + */ @Data @ApiModel("设备接收") public class CertificateListRequest { @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") + @NotBlank(message = "表单id不能为空") private String formId; @ApiModelProperty(value = "证书编号", dataType = "String") @@ -20,7 +25,7 @@ private String orderNo; @ApiModelProperty(value = "委托方名称", dataType = "String") - private String cutomerName; + private String customerName; @ApiModelProperty(value = "样品编号", dataType = "String") private String sampleNo; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java index 28c6d26..bacfc56 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java @@ -58,8 +58,14 @@ /** * 创建时间 */ - @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 表单id diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index 9528373..cd1066f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,7 +114,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index b1048c1..bf75da4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,8 +111,8 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; /** * 可选决策项 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java index 9d1f2f0..8f0bfce 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java @@ -25,14 +25,26 @@ /** * 培训时间 */ - @ApiModelProperty(value = "培训时间(查询出该时间前列表倒序)", dataType = "String") - private String trainTime; + @ApiModelProperty(value = "培训开始时间", dataType = "String") + private String trainStartTime; + + /** + * 培训时间 + */ + @ApiModelProperty(value = "培训结束时间", dataType = "String") + private String trainEndTime; /** * 创建时间 */ - @ApiModelProperty(value = "创建时间(查询出该时间前列表倒序)", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 组织部门id-系统组织表 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 8893256..847993f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -117,6 +117,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java new file mode 100644 index 0000000..17e0770 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java @@ -0,0 +1,37 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@TableName("business_deal_record") +@ApiModel("委托书操作记录") +@AllArgsConstructor +@Builder +@Data +public class BusinessDealRecord { + + private Long id; + + @ApiModelProperty("委托书id") + private Long orderId; + + @ApiModelProperty("原因") + private String recordContent; + + private Long createUser; + + @ApiModelProperty("操作人名称") + private String createUserName; + + @ApiModelProperty("创建时间") + private String createTime; + + @ApiModelProperty("备注") + private String remark; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java index 8778b11..9e960f6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java @@ -87,6 +87,9 @@ private Integer isDel; + @ApiModelProperty(value = "最后更新人员", dataType = "String") + private Long updateUser; + @ApiModelProperty(value = "创建人", dataType = "String") private Long createUser; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java new file mode 100644 index 0000000..6572d23 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java @@ -0,0 +1,31 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * @author cz + */ +@Data +@TableName("business_order_record") +public class BusinessOrderRecord { + + private Long id; + + private Long orderId; + + /** + * 记录内容 + */ + private String recordTContent; + + /** + * 创建人id + */ + private Long createUser; + + /** + * 创建人时间 + */ + private String createTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java index ae324f0..ffc21af 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java @@ -146,7 +146,7 @@ private String remark; /** - * 流程定义id + * 流程实例id */ @ApiModelProperty(value = "流程实例id(未通过培训计划编辑接口必传参数)", dataType = "String") @TableField("process_id") 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 a0cceda..230c779 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 @@ -1,7 +1,6 @@ package com.casic.missiles.service.Impl.business; import cn.hutool.core.lang.Assert; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; @@ -15,14 +14,12 @@ import com.casic.missiles.dto.business.print.CertificateListRequest; import com.casic.missiles.dto.business.print.CertificateListResponse; import com.casic.missiles.dto.business.print.CertificateRefusePrintRequest; -import com.casic.missiles.dto.flowable.AllApproveDTO; 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.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -40,6 +37,9 @@ import java.util.*; import java.util.stream.Collectors; +/** + * @author cz + */ @Service @AllArgsConstructor public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { @@ -81,16 +81,19 @@ } @Override - @Transactional - public ReturnDTO agreeAginPrint(ApprovalAgreeRequest request) { - ReturnDTO returnDTO = approvalOperateService.agree(request); - return returnDTO; + public ReturnDTO agreeAgainPrint(ApprovalAgreeRequest request) { + return approvalOperateService.agree(request); } + /** + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * + * @return + */ @Override @Transactional public ReturnDTO refuseAgainPrint(CertificateRefusePrintRequest request) { - ApprovalRefuseRequest approvalRefuseRequest=new ApprovalRefuseRequest(); + ApprovalRefuseRequest approvalRefuseRequest = new ApprovalRefuseRequest(); approvalRefuseRequest.setTaskId(request.getTaskId()); approvalRefuseRequest.setComments(request.getComments()); ReturnDTO returnDTO = approvalOperateService.refuse(approvalRefuseRequest); @@ -99,8 +102,9 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setPrintStatus("2");//设置为不能打印 - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //设置为不能打印 + certificateReport.setPrintStatus("2"); + certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -108,7 +112,9 @@ return ReturnUtil.success(); } - //提交审批流程,修改证书审批状态、修改打印状态 + /** + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + */ @Transactional @Override public ReturnDTO submitAgainPrint(BaseApprovalSubmitRequest request) { @@ -119,8 +125,10 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //审批状态为审批中 - certificateReport.setPrintStatus("3"); //打印状态审批中 + //审批状态为审批中 + certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //打印状态审批中 + certificateReport.setPrintStatus("3"); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -128,13 +136,14 @@ return ReturnUtil.success(); } - //可打印:只需要查询可打印状态即可 - //查询工作流 + /** + * 可打印:只需要查询可打印状态即可,待审批状态,查询工作流,同时传输任务id + */ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)) { handlerBeApproved(approvalList, page, request); - } else if (request.getPrintStatus().equals("0")) { + } else if("0".equals(request.getPrintStatus())) { request.setApprovalStatus(null); approvalList.setRecords(this.baseMapper.selectBatchForApprovalList(page, request, null)); } else { @@ -147,18 +156,9 @@ return approvalList; } - private Page handleAllApprovalListResponse(Page approvalList, List allApproveList) { - Map taskMap = allApproveList.stream().collect(Collectors.toMap(AllApproveDTO::getBusinessKey, AllApproveDTO::getStatus)); - //状态补全 - approvalList.getRecords().forEach(approval -> { - approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); - approval.setApprovalStatus(taskMap.get(String.valueOf(approval.getId()))); - }); - //排序 - approvalList.setRecords(approvalList.getRecords().stream().sorted(Comparator.comparing(CertificateListResponse::getCreateTime).reversed()).collect(Collectors.toList())); - return approvalList; - } - + /** + * 查询待审批状态的打印证书,查询业务主键信息,据此查询相应的证书,并填充相应的工作流状态 + */ private Page handlerBeApproved(Page approvalList, Page page, CertificateListRequest request) { List businessKeys = new ArrayList<>(); List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); @@ -179,11 +179,4 @@ return approvalList; } - private void handleApprovalListResponse(Page approvalList, String status) { - approvalList.getRecords().stream().forEach(result -> { - //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 - result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); - }); - } - } 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 b397f83..859010b 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 @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.business; -import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -46,7 +45,9 @@ private final IBaseExportService iBaseExportService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; - //** 送检人查询条件不在设备交接单中,需要联查才可以实现 + /** + * 送检人查询条件不在设备交接单中,需要联查才可以实现 + */ @Override public Page exchangeListPage(Page page, InterchangeListRequest request) throws Exception { page.setRecords(this.baseMapper.selectInterchangeListPage(page, request)); @@ -54,7 +55,8 @@ } @Override - public BusinessInterchangeDetailResponse exchangeDetail(Long id) { ; + public BusinessInterchangeDetailResponse exchangeDetail(Long id) { + ; BusinessInterchangeDetailResponse businessExchange = this.baseMapper.getInfoById(id); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", businessExchange.getOrderId()); @@ -71,19 +73,21 @@ @Override @Transactional public ReturnDTO deleteExchange(Long id) { - Integer deleteFlag = this.baseMapper.deleteById(id); - //交接单绑定的肯定有样品,所以samplUpdateFlag肯定为true - Boolean samplUpdateFlag = sampleStatusDeletor(id) > 0; - if (deleteFlag > 0 && samplUpdateFlag) { + int deleteFlag = this.baseMapper.deleteById(id); + //交接单绑定的肯定有样品,所以sampleUpdateFlag肯定为true + boolean sampleUpdateFlag = sampleStatusDeletor(id) > 0; + if (deleteFlag > 0 && sampleUpdateFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //更新不对样品有任何操作 + /** + * 更新不对样品有任何操作 + */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { - Integer updateFlag = this.baseMapper.updateById(businessInterchange); + int updateFlag = this.baseMapper.updateById(businessInterchange); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -94,8 +98,8 @@ @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { populationExchange(businessInterchange); - Integer addFlag = this.baseMapper.insert(businessInterchange); - Boolean sampleAddFlag = true; + int addFlag = this.baseMapper.insert(businessInterchange); + boolean sampleAddFlag = true; if (!CollectionUtils.isEmpty(businessInterchange.getCustomerSampleList())) { for (CustomerSampleListVO sampleInfo : businessInterchange.getCustomerSampleList()) { sampleAddFlag = sampleAddFlag && sampleStatusUpdator(sampleInfo, businessInterchange.getId()) > 0; 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 3bd316c..585a207 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 @@ -215,13 +215,7 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - Map resultMap = SqlRunner.db().selectOne( - "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + - "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + - "JOIN sys_user su ON srr.USERID = su.ID " + - "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + - "WHERE su.ID = {0}" + - "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + Map resultMap = selectDirectDept(user); if(CollectionUtils.isEmpty(resultMap) || Objects.isNull(resultMap.get("deptId"))){ return new Page<>(); } @@ -390,16 +384,7 @@ Long maxNo = labExecutiveTemplateInfoMapper.selectMaxTemplateNo(); for (int i = 0; i < labExecutiveInfos.size(); i++) { BusinessLabExecutiveInfo lab = labExecutiveInfos.get(i); - BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); - templateInfo.setTemplateCode(templateCode); -// templateInfo.setSampleTypeId(); - templateInfo.setSampleId(lab.getSampleId()); - templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); - templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); -// templateInfo.setMeasureItem(); - templateInfo.setExecuteSequence(lab.getMeasureSequence()); -// templateInfo.setCreateUser(); + BusinessLabExecutiveTemplateInfo templateInfo = getBusinessLabExecutiveTemplateInfo(maxNo, i, lab); labList.add(templateInfo); } if(labExecutiveTemplateInfoService.saveBatch(labList)) log.info("实验室检测记录批量保存为实验室检测模板成功"); @@ -422,6 +407,20 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { + BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); + String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + templateInfo.setTemplateCode(templateCode); +// templateInfo.setSampleTypeId(); + templateInfo.setSampleId(lab.getSampleId()); + templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); + templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); +// templateInfo.setMeasureItem(); + templateInfo.setExecuteSequence(lab.getMeasureSequence()); +// templateInfo.setCreateUser(); + return templateInfo; + } + @Override public ReturnDTO updateExecutiveList(UpdateExecutiveListRequest request) { //删除前端已删除的ids @@ -469,7 +468,6 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - //登录用户id获取计量人员id,实验室检测信息中存储的是计量人员id MeterStaff meterStaff = getMeterStaffInfo(user); if(Objects.isNull(meterStaff)) throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_NOT_STAFF); Long userId = meterStaff.getId(); @@ -510,7 +508,6 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - //登录用户id获取计量人员id,实验室检测信息中存储的是计量人员id MeterStaff meterStaff = getMeterStaffInfo(user); if(Objects.isNull(meterStaff)) throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_NOT_STAFF); Long userId = meterStaff.getId(); @@ -518,15 +515,7 @@ //删除实验室检测列表中退回数据 int deleteFlag = labExecutiveInfoMapper.deleteById(request.getId()); //退回操作记录表中增加数据 - BusinessLabExecutiveOperateLog operateLog = new BusinessLabExecutiveOperateLog(); - operateLog.setOrderId(request.getOrderId()); - operateLog.setSampleId(request.getSampleId()); - operateLog.setMeasureDeptId(request.getMeasureSegmentId()); - operateLog.setMeasurePersonId(request.getMeasurePersonId()); - operateLog.setOperatePersonId(userId); - operateLog.setOperatePersonName(user.getName()); - operateLog.setMeasureStatus(MeasureStatusEnum.SEND_BACK); - operateLog.setOperateReason(request.getOperateReason()); + BusinessLabExecutiveOperateLog operateLog = getBusinessLabExecutiveOperateLog(request, user, userId); int insertFlag = labExecutiveOperateLogMapper.insert(operateLog); if(deleteFlag > 0 && insertFlag > 0){ //退回后会将下一个要执行的实验室检测状态更新为待分配,将后面的实验室顺序变更为连续(都进行减1) @@ -596,4 +585,29 @@ } }); } + + private Map selectDirectDept(AuthUser user) { + Map resultMap = SqlRunner.db().selectOne( + "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON srr.USERID = su.ID " + + "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + + "WHERE su.ID = {0}" + + "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + return resultMap; + } + + private BusinessLabExecutiveOperateLog getBusinessLabExecutiveOperateLog(ExecutiveSendBackRequest request, AuthUser user, Long userId) { + BusinessLabExecutiveOperateLog operateLog = new BusinessLabExecutiveOperateLog(); + operateLog.setOrderId(request.getOrderId()); + operateLog.setSampleId(request.getSampleId()); + operateLog.setMeasureDeptId(request.getMeasureSegmentId()); + operateLog.setMeasurePersonId(request.getMeasurePersonId()); + operateLog.setOperatePersonId(userId); + operateLog.setOperatePersonName(user.getName()); + operateLog.setMeasureStatus(MeasureStatusEnum.SEND_BACK); + operateLog.setOperateReason(request.getOperateReason()); + return operateLog; + } + } 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 f6b3933..48742b4 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 @@ -9,14 +9,17 @@ import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.ExportEnum; import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; import com.casic.missiles.mapper.business.BusinessOrderMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -49,18 +52,19 @@ @AllArgsConstructor public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { - private final BusinessOrderListReponseMapper orderListReponseMapper; + private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; private final CustomerSampleService customerSampleService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; + private final BusinessDealRecordMapper dealRecordMapper; /** * 1、分页查询 2、批量查询所有的委托书、样品关系 => 进行以sampleId为key主键map list 3、查询计算样品数量 */ @Override public Page orderListPage(Page page, OrderListRequest request) throws Exception { - QueryWrapper wrapper = listParamWrapper(request); - Page resultPage = this.orderListReponseMapper.selectPage(page, wrapper); + QueryWrapper wrapper = listParamWrapperBuilder(request); + Page resultPage = this.orderListResponseMapper.selectPage(page, wrapper); List orderSampleList = sampleRelationMapper.selectList(null); Map> orderSampleMap = orderSampleList.stream().collect( Collectors.groupingBy(BusinessOrderSampleRelation::getOrderId) @@ -74,7 +78,9 @@ return resultPage; } - // 1、查询委托书详情 2、对样品列表进行查询 3、设置默认在库标志 + /** + * 1、查询委托书详情 2、对样品列表进行查询 3、设置默认在库标志 + */ @Override public BusinessOrder orderDetail(Long id) { BusinessOrder businessOrder = this.baseMapper.selectById(id); @@ -91,29 +97,24 @@ return businessOrder; } - @Override - public ReturnDTO deleteOrder(Long id) { - Integer deleteFlag = this.baseMapper.deleteById(id); - if (deleteFlag > 0) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - - // 删除样品和委托书的明细关系,填充传输的明细样品数据, - // 对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + /** + * 1、删除样品和委托书的明细关系,填充传输的明细样品数据 + * 2、对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + */ @Override public ReturnDTO updateOrder(BusinessOrder businessOrder) { - Integer updateFlag = this.baseMapper.updateById(businessOrder); - this.sampleStatusDeletor(businessOrder.getId()); - Boolean sampleUpdateFlag = true; + AuthUser authUser = ShiroKit.getUser(); + businessOrder.setUpdateUser(authUser.getId()); + int updateFlag = this.baseMapper.updateById(businessOrder); + this.deleteSampleById(businessOrder.getId()); + boolean sampleUpdateFlag = true; this.doSampleListPopulation(businessOrder); for (CustomerSampleInfo sampleInfo : businessOrder.getCustomerSampleInfoList()) { sampleInfo.setDeliverer(businessOrder.getDeliverer()); sampleInfo.setDelivererTel(businessOrder.getDelivererTel()); - if (sampleInfo.getIsExistSample().equals("0")) { + if ("0".equals(sampleInfo.getIsExistSample())) { ReturnDTO returnDTO = customerSampleService.addSample(sampleInfo); - sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode().equals("200"); + sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode().equals(200); } else { ReturnDTO returnDTO = customerSampleService.updateSample(sampleInfo); sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode() == 200; @@ -126,25 +127,27 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //删除样品和委托书的明细关系,填充传输的明细样品数据, - // 对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + /** + * 1、删除样品和委托书的明细关系,填充传输的明细样品数据 + * 2、对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + */ @Override @Transactional public ReturnDTO addOrder(BusinessOrder businessOrder) { initOrderInfo(businessOrder); - Integer addFlag = this.baseMapper.insert(businessOrder); - Boolean sampleAddFlag = true; - this.sampleStatusDeletor(businessOrder.getId()); + int addFlag = this.baseMapper.insert(businessOrder); + boolean sampleAddFlag = true; + this.deleteSampleById(businessOrder.getId()); this.doSampleListPopulation(businessOrder); for (CustomerSampleInfo sampleInfo : businessOrder.getCustomerSampleInfoList()) { sampleInfo.setDeliverer(businessOrder.getDeliverer()); sampleInfo.setDelivererTel(businessOrder.getDelivererTel()); - if (sampleInfo.getIsExistSample().equals("0")) { + if ("0".equals(sampleInfo.getIsExistSample())) { ReturnDTO returnDTO = customerSampleService.addSample(sampleInfo); - sampleAddFlag = sampleAddFlag && returnDTO.getCode() == 200; + sampleAddFlag = sampleAddFlag && returnDTO.getCode().equals(200); } else { ReturnDTO returnDTO = customerSampleService.updateSample(sampleInfo); - sampleAddFlag = sampleAddFlag && returnDTO.getCode() == 200; + sampleAddFlag = sampleAddFlag && returnDTO.getCode().equals(200); } sampleAddFlag = sampleAddFlag && sampleStatusCreator(sampleInfo.getOrderId(), sampleInfo.getMeasureContent(), sampleInfo.getId()) > 0; } @@ -154,58 +157,135 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //如查询说明,补充对是否加急的excel文档表现 + /** + * 1、判断是否存在ids,进行其他参数属性的初始化 + * 2、查询查询构建 + * 3、查询样品关系,构建委托书样品数量map集合 + * 4、字典值进行状态转化 + */ @Override public void orderExport(OrderListRequest request, HttpServletResponse response) { try { - List orderListReponseList; + List orderResponseList; if (!CollectionUtils.isEmpty(request.getIds())) { - orderListReponseList = orderListReponseMapper.selectBatchIds(request.getIds()); + orderResponseList = orderListResponseMapper.selectBatchIds(request.getIds()); } else { - QueryWrapper wrapper = listParamWrapper(request); - orderListReponseList = this.orderListReponseMapper.selectList(wrapper); + QueryWrapper wrapper = listParamWrapperBuilder(request); + orderResponseList = this.orderListResponseMapper.selectList(wrapper); } + //查询样品关系,构建委托书样品数量map集合, List orderSampleList = sampleRelationMapper.selectList(null); Map> orderSampleMap = orderSampleList.stream().collect( Collectors.groupingBy(BusinessOrderSampleRelation::getOrderId) ); - orderListReponseList.forEach( + orderResponseList.forEach( orderSample -> orderSample.setSampleCount(orderSampleMap.containsKey(orderSample.getId()) ? orderSampleMap.get(orderSample.getId()).size() : 0) ); - for (OrderListReponse orderListReponse : orderListReponseList) { - orderListReponse.setIsUrgent(orderListReponse.getIsUrgent().equals("1") ? "是" : "否"); + //字典转换 + for (OrderListReponse orderListReponse : orderResponseList) { + orderListReponse.setIsUrgent("1".equals(orderListReponse.getIsUrgent()) ? "是" : "否"); DictCodeUtils.convertDictCodeToName(orderListReponse); } - iBaseExportService.exportExcel(response, OrderListReponse.class, orderListReponseList, ExportEnum.ORDER_EXPORT.getSheetName()); + iBaseExportService.exportExcel(response, OrderListReponse.class, orderResponseList, ExportEnum.ORDER_EXPORT.getSheetName()); } catch (Exception ex) { log.error("委托书导出出现异常,异常信息为{}", ex); } } + /** + * 通过状态对委托书状态进行更新 + */ @Override - public ReturnDTO updateStatusById(Long id, String status) { - BusinessOrder businessOrder = new BusinessOrder(); - businessOrder.setId(id); - businessOrder.setStatus(status); - Integer updateFlag = this.baseMapper.updateById(businessOrder); - if (updateFlag > 0) { + public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { + int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); + int addDealRecordFlag = addDealRecord(orderCancelRequest); + if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 取消记录,修改委托书状态,同时生成委托书操作日志,供用户查询 + */ + @Override + @Transactional + public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int addDealRecordFlag = addDealRecord(orderCancelRequest); + if (updateFlag > 0 && addDealRecordFlag > 0) { + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + /** + * 操作记录的查询 + */ + @Override + public List optionRecord(Long id) { + QueryWrapper dealRecordQueryWrapper = new QueryWrapper() + .eq("order_id", id); + return dealRecordMapper.selectList(dealRecordQueryWrapper); + } + + /** + * 新增操作记录 + */ + private int addDealRecord(OrderCancelRequest orderCancelRequest) { + AuthUser authUser = ShiroKit.getUser(); + BusinessDealRecord businessDealRecord = BusinessDealRecord.builder() + .createUser(authUser.getId()) + .createUserName(authUser.getName()) + .recordContent(reasonConvert(orderCancelRequest.getReason())) + .orderId(orderCancelRequest.getId()) + .build(); + return dealRecordMapper.insert(businessDealRecord); + } + + /** + * 强调正在做状态更新 + */ + private int doUpdateStatusById(Long orderId, String status) { + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(orderId); + businessOrder.setStatus(status); + AuthUser authUser = ShiroKit.getUser(); + businessOrder.setUpdateUser(authUser.getId()); + return this.baseMapper.updateById(businessOrder); + } + + /** + * 原因字典转化为相应的值 + */ + private String reasonConvert(String reasonIds) { + String reasonStr = ""; + if (StringUtils.isEmpty(reasonIds)) { + return reasonStr; + } + String[] reasonIdList = reasonIds.split(","); + for (String reasonId : reasonIdList) { + String reasonContent = dealRecordMapper.getDictContent(reasonId); + reasonStr = reasonStr + reasonContent + ","; + } + return reasonStr.substring(0, reasonStr.length() - 1); + } + private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); + businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); businessOrder.setStatus("1"); } - - private QueryWrapper listParamWrapper(OrderListRequest request) { + /** + * 委托书列表查询构建方法 + */ + private QueryWrapper listParamWrapperBuilder(OrderListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getDeliverer()), "deliverer", request.getDeliverer()); @@ -223,21 +303,19 @@ return queryWrapper; } - private Integer sampleStatusDeletor(Long orderId) { + private int deleteSampleById(Long orderId) { QueryWrapper sampleStatusRelationWrapper = new QueryWrapper() .eq("order_id", orderId); - Integer sampleStatus = this.sampleRelationMapper.delete(sampleStatusRelationWrapper); - return sampleStatus; + return this.sampleRelationMapper.delete(sampleStatusRelationWrapper); } - private Integer sampleStatusCreator(Long orderId, String measureContent, Long sampleId) { + private int sampleStatusCreator(Long orderId, String measureContent, Long sampleId) { BusinessOrderSampleRelation sampleStatusPopulation = new BusinessOrderSampleRelation(); sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); sampleStatusPopulation.setMeasureType("1"); - Integer sampleStatus = this.sampleRelationMapper.insert(sampleStatusPopulation); - return sampleStatus; + return this.sampleRelationMapper.insert(sampleStatusPopulation); } private void doSampleListPopulation(BusinessOrder businessOrder) { @@ -249,4 +327,5 @@ } ); } + } 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 e922dc2..07c88e9 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 com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -11,8 +12,6 @@ import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; -import com.casic.missiles.dto.business.interchange.InterchangeListResponse; -import com.casic.missiles.dto.meter.TrainPlanApprovalListResponse; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; @@ -21,20 +20,22 @@ import com.casic.missiles.mapper.business.*; import com.casic.missiles.model.business.*; import com.casic.missiles.service.business.IBusinessDispatchService; -import com.casic.missiles.utils.ConvertUtils; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.util.ObjectUtils; -import org.springframework.util.StringUtils; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Objects; import java.util.Optional; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -45,84 +46,59 @@ private final BusinessLabExecutiveInfoMapper labExecutiveInfoMapper; private final IBaseExportService iBaseExportService; - //终止、回退、收入、归还、催办按钮 - //列表返回只需要控制已收入回退按钮显示的权限即可,其中回退在没有任何实验室进行的情况,可以进行设备的回退 + /** + * 终止、回退、收入、归还、催办按钮 + * 列表返回只需要控制已收入回退按钮显示的权限即可,其中回退在没有任何实验室进行的情况,可以进行设备的回退 + */ @Override public Page listPage(Page page, DeviceDispatchDTO request) { -// //查询委托书和样品关联表中的各状态的样品 - Page dispatchVOPage = orderSampleRelationMapper.getSampleListByStatus(page, request); + //查询委托书和样品关联表中的各状态的样品 + Page dispatchVoPage = orderSampleRelationMapper.getSampleListByStatus(page, request); log.info("设备收发-当前查询样品状态为:{}", request.getSampleStatus()); - List records = dispatchVOPage.getRecords(); + List records = dispatchVoPage.getRecords(); if (CollectionUtils.isEmpty(records)) { return new Page<>(); } - doDispatchVOPagePopution(records, request); - return dispatchVOPage; - } - - - //进行已收入分页的当前环节回填、出具证书回填 - private void doDispatchVOPopulation(DeviceDispatchVO dispatchVO, Long sampleId, Long orderId) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); - HandOutLabExecutiveDTO handOutLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); - Integer measureNumberStatus = labExecutiveInfoMapper.getMeasureNumberStatus(orderId, sampleId); - // - if (!Objects.isNull(handOutLabExecutiveDTO)) { - dispatchVO.setRequireCertifications(handOutLabExecutiveDTO.getRequireCertifications()); - dispatchVO.setCurrentSegment(handOutLabExecutiveDTO.getDeptName()); - Long measureDeptId = handOutLabExecutiveDTO.getMeasureDeptId(); - dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, measureDeptId)); - } else { - dispatchVO.setAlreadyCertifications(0); - dispatchVO.setRequireCertifications(ObjectUtils.isEmpty(measureNumberStatus) ? 0 : measureNumberStatus); - } - if (!ObjectUtils.isEmpty(measureNumberStatus) && measureNumberStatus > 0) { - dispatchVO.setFallbackState(0);//不可以进行回退 - } else { - dispatchVO.setFallbackState(1);//可以进行回退 - } + doPopulateDispatch(records, request); + return dispatchVoPage; } /** - * 重点填充类 - * - * @param dispatchVOPage - * @param request + * 分发列表填充 */ - private void doDispatchVOPagePopution(List dispatchVOPage, DeviceDispatchDTO request) { - dispatchVOPage.stream().forEach( + private void doPopulateDispatch(List dispatchVOPage, DeviceDispatchDTO request) { + dispatchVOPage.forEach( dispatchVO -> { Long orderId = dispatchVO.getOrderId(); Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && request.getSampleStatus().equals("8") && noSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { - //待分发状态,分发性质:有退回就是退回分发,当前检定环节:待分配,已出具证书:无,出具证书总数:无 + //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 case SampleStatusEnum.TO_HANDOUT: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //检测中状态,分发性质:无,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 + //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 case SampleStatusEnum.IN_MEASURE: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //检测完状态,分发性质:无,当前检定环节:完成,已出具证书:无,出具证书总数:无 + //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 case SampleStatusEnum.MEASURE_COMPLETE: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //超期样品(即检测超期,未在应检完时间检完),分发性质:无,当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 + doDispatchVoPopulation(dispatchVO, sampleId, orderId); + return; + //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 case SampleStatusEnum.BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); - Long deptId = overLabExecutiveDTO.getMeasureDeptId(); + Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); dispatchVO.setRequireCertifications(overLabExecutiveDTO.getRequireCertifications()); - if (checkSampleFinshStauts(dispatchVO)) { + // 判断样品是完成或接收状态,直接显示即可 + if (checkSampleFinishStatus(dispatchVO)) { return; } dispatchVO.setCurrentSegment(overLabExecutiveDTO.getDeptName()); break; + default: + break; } } ); @@ -131,8 +107,7 @@ @Override public void exportSampleDispatchList(DeviceDispatchDTO request, HttpServletResponse response) { try { - - Page deviceDispatchVOPage = PageFactory.defaultPage(); + Page deviceDispatchVOPage; if (!CollectionUtils.isEmpty(request.getIds())) { initDeviceDispatchDTOEmpty(request); } else { @@ -150,29 +125,59 @@ } + /** + * 状态更新 + */ @Override public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer updateFalg = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFalg > 0) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - - //终止操作,不仅更新状态,同时进行实验室状态的更新 - @Override - @Transactional - public ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, true); - //实验室状态数据的更新 - reasonPopulation(deviceStatusChangeDTO); + Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); if (updateFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - private void reasonPopulation(DeviceStatusChangeDTO deviceStatusChangeDTO) { + /** + * 终止操作,不仅更新状态,同时进行实验室状态原因的更新 + */ + @Override + @Transactional + public ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO) { + Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, true); + //实验室状态数据的更新 + updateLabExecutiveInfo(deviceStatusChangeDTO); + if (updateFlag > 0) { + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + /** + * 进行已收入分页的当前环节回填、出具证书回填 + */ + private void doDispatchVoPopulation(DeviceDispatchVO dispatchVO, Long sampleId, Long orderId) { + dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + HandOutLabExecutiveDTO handOutLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); + Integer measureNumberStatus = labExecutiveInfoMapper.getMeasureNumberStatus(orderId, sampleId); + //证书,当前环节的回填 + if (!Objects.isNull(handOutLabExecutiveDTO)) { + dispatchVO.setRequireCertifications(handOutLabExecutiveDTO.getRequireCertifications()); + dispatchVO.setCurrentSegment(handOutLabExecutiveDTO.getDeptName()); + Long measureDeptId = handOutLabExecutiveDTO.getMeasureDeptId(); + dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, measureDeptId)); + } else { + dispatchVO.setAlreadyCertifications(0); + dispatchVO.setRequireCertifications(ObjectUtils.isEmpty(measureNumberStatus) ? 0 : measureNumberStatus); + } + //处于检测中、检测完、待检测的实验室大于0,不可以进行回退,否则可以进行回退 + if (!ObjectUtils.isEmpty(measureNumberStatus) && measureNumberStatus > 0) { + dispatchVO.setFallbackState(0); + } else { + dispatchVO.setFallbackState(1); + } + } + + private void updateLabExecutiveInfo(DeviceStatusChangeDTO deviceStatusChangeDTO) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); @@ -182,10 +187,13 @@ labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } + /** + * 消息催办 + */ @Override public ReturnDTO rushDoProcess(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer deleteFalg = this.baseMapper.deleteById(deviceStatusChangeDTO.getOrderId()); - if (deleteFalg > 0) { + int deleteFlag = this.baseMapper.deleteById(deviceStatusChangeDTO.getOrderId()); + if (deleteFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -203,7 +211,7 @@ return null; } Optional handOutLabExecutiveDTOOptional = labExecutiveList.stream().findFirst(); - return handOutLabExecutiveDTOOptional.isPresent() ? handOutLabExecutiveDTOOptional.get() : null; + return handOutLabExecutiveDTOOptional.orElse(null); } private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { @@ -214,7 +222,9 @@ return wrapper; } - //更新检测完成后,执行当前正在进行数据 + /** + * 更新检测完成后,执行当前正在进行数据 + */ private Integer statusChangeUpdator(DeviceStatusChangeDTO statusChangeDTO, Boolean terminateFlag) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); @@ -227,15 +237,18 @@ return this.orderSampleRelationMapper.update(businessOrderSampleRelation, queryWrapper); } - //判断不是自检 - private Boolean noSelfMeasure(DeviceDispatchVO dispatchVO) { - if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType()) && (dispatchVO.getMeasureType().equals("1") || dispatchVO.getMeasureType().equals("2"))) { - String currentSegment = dispatchVO.getMeasureType().equals("1") ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; - dispatchVO.setCurrentSegment(currentSegment); - return true; - } else { - return false; + /** + * 判断不是自检 + */ + 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; + dispatchVO.setCurrentSegment(currentSegment); + return true; + } } + return false; } private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { @@ -250,8 +263,10 @@ request.setEndTime(null); } - // 判断样品是完成或接收状态,直接显示即可 - private Boolean checkSampleFinshStauts(DeviceDispatchVO dispatchVO) { + /** + * 判断样品是完成或接收状态,直接显示即可 + */ + private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); 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 eecf207..4f06678 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 @@ -28,6 +28,9 @@ import javax.servlet.http.HttpServletResponse; import java.util.List; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -58,7 +61,7 @@ @Override public ReturnDTO deleteAdvice(Long id) { - Integer deleteFlag = customerAdviceMapper.deleteById(id); + int deleteFlag = customerAdviceMapper.deleteById(id); if (deleteFlag > 0) { return ReturnUtil.success(); } @@ -67,7 +70,7 @@ @Override public ReturnDTO updateAdvice(CustomerAdviceInfo customerAdviceInfo) { - Integer updateFlag = customerAdviceMapper.updateById(customerAdviceInfo); + int updateFlag = customerAdviceMapper.updateById(customerAdviceInfo); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -77,7 +80,7 @@ @Override public ReturnDTO addAdvice(CustomerAdviceInfo customerAdviceInfo) { initCustomerAdviceInfo(customerAdviceInfo); - Integer addFlag = customerAdviceMapper.insert(customerAdviceInfo); + int addFlag = customerAdviceMapper.insert(customerAdviceInfo); if (addFlag > 0) { return ReturnUtil.success(); } 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 79a776b..3bbcaaf 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 @@ -55,7 +55,7 @@ public Page listPage(Page page, CustomerSampleListRequest request) throws Exception { QueryWrapper wrapper = listParamWrapper(request); Page customerSamplePage = customerSampleListResponseMapper.selectPage(page, wrapper); - customerSamplePage.getRecords().stream() + customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { @@ -72,26 +72,30 @@ return customerSamplePage; } - //新增样品表,同时新增样品委托书关联状态表 + /** + * 新增样品表,同时新增样品委托书关联状态表 + */ @Override @Transactional public ReturnDTO addSample(CustomerSampleInfo customerSampleInfo) { initSample(customerSampleInfo); - Integer addFlag = this.baseMapper.insert(customerSampleInfo); + int addFlag = this.baseMapper.insert(customerSampleInfo); if (addFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //更新样品表,同时更新样品委托书关联状态表 + /** + * 更新样品表,同时更新样品委托书关联状态表 + */ @Override @Transactional public ReturnDTO updateSample(CustomerSampleInfo customerSampleInfo) { AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setUpdateUser(authUser.getId()); initSample(customerSampleInfo); - Integer updateFlag = this.baseMapper.updateById(customerSampleInfo); + int updateFlag = this.baseMapper.updateById(customerSampleInfo); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -110,8 +114,6 @@ /** * 只导出样品列表信息 * - * @param request - * @param response */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -148,9 +150,8 @@ } @Override - @Transactional public ReturnDTO deleteSample(Long id) { - Integer deleteFalg = this.baseMapper.deleteById(id); + int deleteFalg = this.baseMapper.deleteById(id); if (deleteFalg > 0) { return ReturnUtil.success(); } @@ -158,12 +159,12 @@ } @Override - public Page mesureRecordsBySampleId(Long id) { + public Page measureRecordsBySampleId(Long id) { Page page = PageFactory.defaultPage(); QueryWrapper wrapper = new QueryWrapper() .eq("sample_id", id); - Page mesureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); - return mesureRecordsResponsePage; + Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + return measureRecordsResponsePage; } @Override @@ -197,12 +198,12 @@ 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());//样品所属 - queryWrapper.like(StringUtils.isNotBlank(request.getSampleModel()), "sample_model", request.getSampleModel());//样品型号 - queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName());//委托方名称 - queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo());//委托方代码 + 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()); + queryWrapper.like(StringUtils.isNotBlank(request.getSampleModel()), "sample_model", request.getSampleModel()); + 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"), "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); 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 62c4a00..32d4dee 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 @@ -70,7 +70,7 @@ @Transactional public ReturnDTO addCustomer(CustomerInfo customerInfo) { initCustomerInfo(customerInfo); - Integer addFlag = this.baseMapper.insert(customerInfo); + int addFlag = this.baseMapper.insert(customerInfo); Boolean userAddFlag = userInfoListCreator(customerInfo.getCustomerUserList(), customerInfo.getId()); if (addFlag > 0 && userAddFlag) { return ReturnUtil.success(); @@ -84,7 +84,7 @@ AuthUser authUser = ShiroKit.getUser(); customerInfo.setUpdateUser(authUser.getId()); userInfoListDeletor(customerInfo.getId()); - Integer updateFlag = this.baseMapper.updateById(customerInfo); + int updateFlag = this.baseMapper.updateById(customerInfo); Boolean userUpdateFlag = userInfoListCreator(customerInfo.getCustomerUserList(),customerInfo.getId()); if (updateFlag > 0 && userUpdateFlag) { return ReturnUtil.success(); @@ -102,7 +102,7 @@ @Override public ReturnDTO deleteCustomer(Long id) { CustomerInfo customerInfo = this.baseMapper.selectById(id); - Integer deleteFlag = this.baseMapper.deleteById(id); + int deleteFlag = this.baseMapper.deleteById(id); userInfoListDeletor(customerInfo.getId()); if (deleteFlag > 0) { return ReturnUtil.success(); @@ -116,8 +116,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("customer_id", customerId); queryWrapper.orderByDesc("create_time"); - Page sampleRecordsResponsePage = sampleRecordsResponseMapper.selectPage(page, queryWrapper); - return sampleRecordsResponsePage; + return sampleRecordsResponseMapper.selectPage(page, queryWrapper); } @@ -129,9 +128,8 @@ @Override//暂定不做 public Page mesureRecordsByCustomerId(Long customerId) { - Page mesureRecordsResponsePage = PageFactory.defaultPage(); - - return mesureRecordsResponsePage; + Page measureRecordsResponsePage = PageFactory.defaultPage(); + return measureRecordsResponsePage; } @Override @@ -139,8 +137,7 @@ Page page = PageFactory.defaultPage(); QueryWrapper wrapper = new QueryWrapper() .eq("customer_id", customerId); - Page certificationResponsePage = certificationMapper.selectPage(page, wrapper); - return certificationResponsePage; + return certificationMapper.selectPage(page, wrapper); } @Override @@ -185,8 +182,7 @@ private List customerUserDetail(Long id) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("customer_id", id); - List customerUserInfoList = customerUserMapper.selectList(queryWrapper); - return customerUserInfoList; + return customerUserMapper.selectList(queryWrapper); } private void userInfoListDeletor(Long customerId) { @@ -197,12 +193,12 @@ private Boolean userInfoListCreator(List userInfoList, Long id) { Long maxUserNo = customerUserMapper.selectMaxUserNo(); - Boolean userUpdateFlag = true; + boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); customerUserInfo.setUserNo(customerNo); - Integer userAddNum = customerUserMapper.insert(customerUserInfo); + int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { userUpdateFlag = false; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java index d816cb8..c9997c5 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java @@ -11,6 +11,9 @@ import java.util.*; import java.util.stream.Collectors; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -24,8 +27,7 @@ Map trendMap = sampleList.stream().collect( Collectors.toMap(e -> String.valueOf(e.get("increaseTime")), e -> String.valueOf(e.get("count"))) ); - List trendResponseList = recentYearBuilder(trendMap); - return trendResponseList; + return recentYearBuilder(trendMap); } @Override @@ -34,8 +36,7 @@ Map trendMap = sampleList.stream().collect( Collectors.toMap(e -> String.valueOf(e.get("expireTime")), e -> String.valueOf(e.get("count"))) ); - List trendResponseList = recentYearBuilder(trendMap); - return trendResponseList; + return recentYearBuilder(trendMap); } @Override @@ -44,8 +45,7 @@ Map trendMap = sampleList.stream().collect( Collectors.toMap(e -> String.valueOf(e.get("increaseTime")), e -> String.valueOf(e.get("count"))) ); - List trendResponseList = recentYearBuilder(trendMap); - return trendResponseList; + return recentYearBuilder(trendMap); } // 鉴定金额暂时没有表设计,loading... @@ -64,10 +64,10 @@ Calendar endDate = Calendar.getInstance(); endDate.setTime(new Date()); while (beginDate.getTime().compareTo(endDate.getTime()) <= 0) { - WorkbenceTrendResponse workbenceResponse = new WorkbenceTrendResponse(); - workbenceResponse.setDate(sdf2.format(beginDate.getTime())); - workbenceResponse.setCount(trendMap.containsKey(sdf1.format(beginDate.getTime())) ? trendMap.get(sdf1.format(beginDate.getTime())) : "0"); - mapList.add(workbenceResponse); + WorkbenceTrendResponse workBenchResponse = new WorkbenceTrendResponse(); + workBenchResponse.setDate(sdf2.format(beginDate.getTime())); + workBenchResponse.setCount(trendMap.containsKey(sdf1.format(beginDate.getTime())) ? trendMap.get(sdf1.format(beginDate.getTime())) : "0"); + mapList.add(workBenchResponse); beginDate.add(Calendar.MONTH, 1); } return mapList; 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 2d1d4a7..c0e00ab 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 @@ -247,6 +247,8 @@ toBeApprovedList.forEach(toBeApprovedDTO -> { if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); + //补全可选决策项 + approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); } }); }); 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 35a7098..b9faa3d 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 @@ -290,6 +290,8 @@ toBeApprovedList.forEach(toBeApprovedDTO -> { if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ approval.setTaskId(toBeApprovedDTO.getTaskId()); + //补全可选决策项 + approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); } }); }); 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 ba06aff..660be28 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 @@ -124,7 +124,7 @@ .name(name) // .category("")//自定义类别 .deploy(); - log.info("流程定义部署,flowable return deploy;{}", JSONObject.toJSONString(deploy)); + log.info("流程定义部署,flowable return deploy:{}", JSONObject.toJSONString(deploy)); if (Objects.isNull(deploy)) { return ReturnUtil.failed("流程定义部署失败"); } @@ -335,7 +335,6 @@ //添加incoming属性(表示进来的,即上面流程节点的id列表),值为仅一个启动事件id的列表 flowNode.put("incoming", Collections.singletonList(fromId)); String id = createTask(flowNode, process, sequenceFlows); - // 如果当前任务还有后续任务,则遍历创建后续任务 JSONObject nextNode = flowNode.getJSONObject("childNode"); if (Objects.nonNull(nextNode)) { @@ -349,7 +348,6 @@ else if (Type.CC.type.equals(nodeType)) { flowNode.put("incoming", Collections.singletonList(fromId)); String id = createServiceTask(flowNode, process, sequenceFlows); - // 如果当前任务还有后续任务,则遍历创建后续任务 JSONObject nextNode = flowNode.getJSONObject("childNode"); if (Objects.nonNull(nextNode)) { @@ -363,7 +361,6 @@ else if (Type.USER_TASK.type.equals(nodeType)) { flowNode.put("incoming", Collections.singletonList(fromId)); String id = createTask(flowNode, process, sequenceFlows); - // 如果当前任务还有后续任务,则遍历创建后续任务 JSONObject nextNode = flowNode.getJSONObject("childNode"); if (Objects.nonNull(nextNode)) { @@ -454,11 +451,16 @@ } } String str = StringUtils.join(userIds, ","); - // todo: 以下需验证,若不行,采用:流程实例的发起人通过TaskCreatedListener监听器设置,这里再获取,或者可能需要再加个监听器获取 + // 以下已测试成功 // ExUtils为bean实例方法,已添加 // flowable表达式会自动识别流程变量,以下root也可识别为实例创建时的具体值,比如:${price < 100},price就是一个流程变量的值,UEL表达式的结果为布尔值 String starterId = "root"; - expression = "exUtils." + "strContains(" + starterId + "," + str + ")"; + if(StringUtils.isEmpty(str)){ + //其他条件(最后一个分支为空条件的情况) + expression = "#{exUtils." + "strContains(" + starterId + "," + starterId + ")}"; + }else { + expression = "#{exUtils." + "strContains(" + starterId + "," + str + ")}"; + } } if (Objects.isNull(childNode)) { @@ -509,7 +511,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为啥不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -556,12 +558,11 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); } - // 针对 gateway 空任务分支 添加条件表达式,即条件节点下无子节点的情况 if (!conditions.isEmpty()) { FlowElement flowElement1 = model.getFlowElement(identifier); @@ -582,7 +583,6 @@ if (Objects.isNull(sequenceFlow.getConditionExpression()) && StringUtils.isNotBlank(expression)) { sequenceFlow.setConditionExpression(expression); } - conditions.remove(0); } }); @@ -590,7 +590,6 @@ } return endExId; } -// return exclusiveGatewayId; } /** @@ -685,8 +684,10 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 - List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); + List incoming = null; + if(!Objects.isNull(flowNode.getJSONArray("incoming"))){ + incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); + } String id = ""; if (incoming != null && !incoming.isEmpty()) { UserTask userTask = new UserTask(); @@ -758,25 +759,15 @@ } private enum Type { - //0 发起人 1审批 2抄送 3条件 4路由 + //0 发起人 1审批任务 2抄送任务 4条件路由 5并行网关 ROOT(0, UserTask.class), + USER_TASK(1, UserTask.class), + CC(2, ServiceTask.class), ROUTER(4, ExclusiveGateway.class), PARALLEL(5, ParallelGateway.class), - - /** - * 排他事件 - */ -// EXCLUSIVE(4, ExclusiveGateway.class), - - /** - * 任务 - */ - SERVER_TASK(6, UserTask.class), - USER_TASK(1, UserTask.class), - CC(2, ServiceTask.class); + SERVER_TASK(6, UserTask.class); private Integer type; - private Class typeClass; Type(Integer type, Class typeClass) { @@ -795,7 +786,6 @@ public boolean isEqual(String type) { return this.type.equals(type); } - } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessCertificatePrintService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessCertificatePrintService.java index b81d0a4..061ffd0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessCertificatePrintService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessCertificatePrintService.java @@ -17,7 +17,7 @@ void certificatePrintExport(CertificateListRequest request, HttpServletResponse response, Page page) throws Exception; - ReturnDTO agreeAginPrint(ApprovalAgreeRequest request); + ReturnDTO agreeAgainPrint(ApprovalAgreeRequest request); ReturnDTO refuseAgainPrint(CertificateRefusePrintRequest request); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessDispatchService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessDispatchService.java index 2292404..0c2aeb2 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessDispatchService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessDispatchService.java @@ -8,6 +8,9 @@ import javax.servlet.http.HttpServletResponse; +/** + * @author cz + */ public interface IBusinessDispatchService { Page listPage(Page page, DeviceDispatchDTO request); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOrderService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOrderService.java index 7528613..dea393f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOrderService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOrderService.java @@ -3,12 +3,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.business.order.OrderCancelRequest; import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; -import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import javax.servlet.http.HttpServletResponse; +import java.util.List; /** *

@@ -24,14 +26,16 @@ BusinessOrder orderDetail(Long id); - ReturnDTO deleteOrder(Long id); - ReturnDTO updateOrder(BusinessOrder businessOrder); ReturnDTO addOrder(BusinessOrder businessOrder); void orderExport(OrderListRequest request, HttpServletResponse response); - ReturnDTO updateStatusById(Long id,String status); + ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest,String status); + + ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest); + + List optionRecord(Long id); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java index 49469d5..ded8a74 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificatePrintController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessCertificatePrintService; import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -38,9 +39,10 @@ */ @RestController @RequestMapping("/business/certificatePrint") +@AllArgsConstructor public class BusinessCertificatePrintController extends ExportController { - private IBusinessCertificatePrintService certificatePrintService; + private final IBusinessCertificatePrintService certificatePrintService; /** * 证书打印列表,除了基本的列表的信息,需要判断证书打印审批中的状态,进而达到权限的控制 @@ -70,17 +72,14 @@ */ @ApiOperation("证书审批-同意") @PostMapping("/agree") - public ReturnDTO agreeAginPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { + public ReturnDTO agreeAgainPrint(@RequestBody @Valid ApprovalAgreeRequest request,BindingResult bindingResult) { if(bindingResult.hasErrors()){ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } - return certificatePrintService.agreeAginPrint(request); + return certificatePrintService.agreeAgainPrint(request); } - /** - * 证书审批拒绝 - */ - @ApiOperation("证书审批-拒绝") + @ApiOperation("证书打印审批-拒绝") @PostMapping("/refuse") public ReturnDTO refuseAgainPrint(@RequestBody @Valid CertificateRefusePrintRequest request, BindingResult bindingResult) { if(bindingResult.hasErrors()){ @@ -88,11 +87,8 @@ } return certificatePrintService.refuseAgainPrint(request); } -// - /** - * 申请再次打印 - */ - @ApiOperation("证书审批-发起申请") + + @ApiOperation("证书打印审批-发起申请") @PostMapping("/submitApproval") public ReturnDTO submitAgainPrint(@RequestBody @Valid BaseApprovalSubmitRequest request,BindingResult bindingResult){ if(bindingResult.hasErrors()){ @@ -101,6 +97,4 @@ return certificatePrintService.submitAgainPrint(request); } - - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index 276a13f..c9d6a93 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -28,6 +28,10 @@ import javax.validation.Valid; import java.util.Objects; +/** + * @author cz + */ + @RestController @Api(tags = "设备收发模块") @RequestMapping("/device/dispatch") @@ -38,14 +42,10 @@ /** * 除了ui界面要展示的列在DeviceDispatchDTO模型中体现以外,还需覆盖所有按钮的权限操作,终止、回退、收入、归还、催办按钮 - * 这些是列表实现的详细点 */ @ApiOperation("设备列表-分页") @PostMapping("/listPage") - public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } + public ReturnDTO> listPage(@RequestBody @Valid DeviceDispatchDTO request){ Page page = PageFactory.defaultPage(); return ReturnUtil.success(super.packForBT(bizDispatchService.listPage(page, request))); } @@ -65,7 +65,7 @@ * back:回填:置为前置状态,已收入、待归还、已归还 */ @ApiOperation("( 回退、收入、归还、无需检测 按钮)") - @PostMapping("/satus/change") + @PostMapping("/status/change") public ReturnDTO statusChange(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -94,7 +94,7 @@ Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(bizDispatchService.rushDoProcess(deviceReceiveDTO)); + return bizDispatchService.rushDoProcess(deviceReceiveDTO); } } 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 5dcca11..832517f 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 @@ -8,10 +8,13 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessOrderService; @@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Objects; /** @@ -33,7 +37,7 @@ * 业务管理-委托书 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController @@ -42,93 +46,89 @@ @AllArgsConstructor public class BusinessOrderController extends ExportController { - private final IBusinessOrderService businessOrderService; + private final IBusinessOrderService businessOrderService; - @ApiOperation("委托书查询") - @PostMapping("/listPage") - public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); - } + @ApiOperation("委托书查询") + @PostMapping("/listPage") + public ReturnDTO> orderListPage(@RequestBody @Valid OrderListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } - @ApiOperation("委托书详情") - @PostMapping("/detail") - public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); - } + @ApiOperation("委托书详情") + @PostMapping("/detail") + public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.orderDetail(idDTO.getId())); + } - @ApiOperation("委托书更新") - @PostMapping("/update") - public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult){ - Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); - } + @ApiOperation("委托书更新") + @PostMapping("/update") + public ReturnDTO updateAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOrder.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.updateOrder(businessOrder)); + } - @ApiOperation("委托书新增") - @PostMapping("/add") - public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); - } + @ApiOperation("委托书新增") + @PostMapping("/add") + public ReturnDTO addAdvice(@RequestBody @Valid BusinessOrder businessOrder, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOrderService.addOrder(businessOrder)); + } - @ApiOperation("委托书删除(暂不使用,无此功能)") - @PostMapping("/delete") - public ReturnDTO deleteAdvice(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(businessOrderService.deleteOrder(idDTO.getId())); - } + @ApiOperation("委托书导出") + @PostMapping("/export") + public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { + businessOrderService.orderExport(request, response); + } - //*******************************************************************************************************************// - @ApiOperation("委托书导出") - @PostMapping("/export") - public void exportAdvice(@RequestBody @Valid OrderListRequest request, HttpServletResponse response) { - businessOrderService.orderExport(request, response); - } + @ApiOperation("委托书取消") + @PostMapping("/cancel") + public ReturnDTO cancelOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.cancelOrder(orderCancelRequest); + } + + @ApiOperation("操作记录") + @PostMapping("/optionRecord") + public ReturnDTO> optionRecord(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOrderService.optionRecord(idDTO.getId())); + } - //*******************************************************************************************************************// - @ApiOperation("委托书取消") - @PostMapping("/cancel") - public ReturnDTO cancelOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书接收") + @PostMapping("/receive") + public ReturnDTO receiveOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "2"); + } - //*******************************************************************************************************************// - @ApiOperation("委托书接收") - @PostMapping("/receive") - public ReturnDTO receiveOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"2"); - } - - //*******************************************************************************************************************// - @ApiOperation("委托书退回") - @PostMapping("/back") - public ReturnDTO backOrder(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return businessOrderService.updateStatusById(idDTO.getId(),"3"); - } + @ApiOperation("委托书退回") + @PostMapping("/back") + public ReturnDTO backOrder(@RequestBody @Valid OrderCancelRequest orderCancelRequest) { + Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return businessOrderService.updateStatusById(orderCancelRequest, "3"); + } } 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 9909809..9ae077e 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 @@ -99,7 +99,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId()))); + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); } @ApiOperation("根据样品id查询检定证书") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 1ffae62..7327485 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -227,7 +227,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为何不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -274,7 +274,7 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index 7f8c1e7..5f4178b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -105,7 +105,7 @@ /** * 草稿箱文件编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱文件编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterFile meterFile, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index e56ed95..f8d072c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -90,9 +90,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱溯源供方编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱溯源供方编辑") @PostMapping("/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index afdfda8..d60d7f5 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -94,9 +94,9 @@ } /** - * 草稿箱文件编辑 + * 草稿箱计划编辑 */ - @ApiOperation("草稿箱文件更新") + @ApiOperation("草稿箱培训计划编辑") @PostMapping("/plan/draftUpdate") @ResponseBody public ReturnDTO draftUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 1542cb6..040acf6 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -118,6 +118,6 @@ code: generate: #作者 - author: wangpeng + author: cz #待生成对象表名 - table-name: workbench_approval_message + table-name: business_original_record 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 index e5aeca4..0975556 100644 --- 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 @@ -18,6 +18,5 @@ String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "sbglbzzzcxsqssd"; // 证书打印通过,暂定************ } 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 18ab69f..b9a25a7 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 @@ -138,7 +138,7 @@ String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { - // 连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 + //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 //多实例加签,解决手动加签的情况,这里是还未设置审批人,无需采用多实例加签的功能,增加到assigneeList即可 @@ -219,15 +219,21 @@ private JSONObject getNodeUserList(JSONObject nodeConfig, String taskId) { JSONObject childNode = nodeConfig.getJSONObject("childNode"); if (!Objects.isNull(childNode) && StringUtils.isNotEmpty(childNode.getString("id")) && taskId.equals(childNode.getString("id"))) { -// JSONArray nodeUserList = childNode.getJSONArray("nodeUserList"); -// if (!CollectionUtils.isEmpty(nodeUserList)) { -// return childNode; -// } -// return null; return childNode; } - if (!Objects.isNull(childNode)) { + if (!Objects.isNull(childNode) && Objects.isNull(childNode.getJSONArray("conditionNodes"))) { return getNodeUserList(childNode, taskId); + }else if(!Objects.isNull(childNode) && !Objects.isNull(childNode.getJSONArray("conditionNodes"))){ + //条件节点判断 + JSONArray conditionNodes = childNode.getJSONArray("conditionNodes"); + for (Object conditionNode : conditionNodes) { + JSONObject node = (JSONObject)conditionNode; + if(Objects.isNull(getNodeUserList(node, taskId))){ + continue; + } + //条件节点一定能匹配到任务审批人 + return getNodeUserList(node, taskId); + } } return null; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java new file mode 100644 index 0000000..659f64b --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessDealRecordMapper.java @@ -0,0 +1,20 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.BusinessDealRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +public interface BusinessDealRecordMapper extends BaseMapper { + + + @Select("SELECT name " + + "FROM sys_dict sd " + + "JOIN( SELECT id " + + " FROM sys_dict " + + " WHERE CODE = 'cancelEntrust') sds ON sds.id=sd.pid " + + " AND code=#{reasonId} ") + String getDictContent(@Param("reasonId")String reasonId); + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml index 758d2f9..d8f6d2e 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFileMapper.xml @@ -69,8 +69,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} @@ -93,8 +96,11 @@ and create_user like concat('%',#{request.createUser},'%') - - and create_time <= #{request.createTime} + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and id in diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 09eee0f..c4b3d7a 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -67,11 +67,17 @@ WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} @@ -88,11 +94,17 @@ SELECT * FROM meter_train_plan WHERE is_del = 0 - - and train_time <= #{request.trainTime} + + and train_time >= #{request.trainStartTime} - - and create_time <= #{request.createTime} + + and train_time <= #{request.trainEndTime} + + + and create_time >= #{request.createStartTime} + + + and create_time <= #{request.createEndTime} and dept_id = #{request.deptId} 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 04ed845..d04eb14 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 @@ -90,5 +90,4 @@ @ApiModelProperty(value = "回退状态(已收入的状态) 1真0假", dataType = "Integer") private Integer FallbackState; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java new file mode 100644 index 0000000..b06975f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderCancelRequest.java @@ -0,0 +1,16 @@ +package com.casic.missiles.dto.business.order; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OrderCancelRequest { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") + private String reason; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java index 9662eb8..d6206c5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListRequest.java @@ -4,13 +4,18 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.List; +/** + * @author cz + */ @Data @ApiModel("设备接收") public class CertificateListRequest { @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") + @NotBlank(message = "表单id不能为空") private String formId; @ApiModelProperty(value = "证书编号", dataType = "String") @@ -20,7 +25,7 @@ private String orderNo; @ApiModelProperty(value = "委托方名称", dataType = "String") - private String cutomerName; + private String customerName; @ApiModelProperty(value = "样品编号", dataType = "String") private String sampleNo; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java index 28c6d26..bacfc56 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListRequest.java @@ -58,8 +58,14 @@ /** * 创建时间 */ - @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 表单id diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index 9528373..cd1066f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,7 +114,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index b1048c1..bf75da4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,8 +111,8 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; /** * 可选决策项 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java index 9d1f2f0..8f0bfce 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListRequest.java @@ -25,14 +25,26 @@ /** * 培训时间 */ - @ApiModelProperty(value = "培训时间(查询出该时间前列表倒序)", dataType = "String") - private String trainTime; + @ApiModelProperty(value = "培训开始时间", dataType = "String") + private String trainStartTime; + + /** + * 培训时间 + */ + @ApiModelProperty(value = "培训结束时间", dataType = "String") + private String trainEndTime; /** * 创建时间 */ - @ApiModelProperty(value = "创建时间(查询出该时间前列表倒序)", dataType = "String") - private String createTime; + @ApiModelProperty(value = "创建开始时间", dataType = "String") + private String createStartTime; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建结束时间", dataType = "String") + private String createEndTime; /** * 组织部门id-系统组织表 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 8893256..847993f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -117,6 +117,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; - @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") - private String processInstanceId; +// @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") +// private String processInstanceId; + + /** + * 可选决策项 + */ + @ApiModelProperty(value = "可选决策项(1同意驳回拒绝 2同意驳回 3同意拒绝,用于待审批列表同意/驳回/拒绝按钮展示)", dataType = "Integer") + private Integer decisionItem; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java new file mode 100644 index 0000000..17e0770 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessDealRecord.java @@ -0,0 +1,37 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +@TableName("business_deal_record") +@ApiModel("委托书操作记录") +@AllArgsConstructor +@Builder +@Data +public class BusinessDealRecord { + + private Long id; + + @ApiModelProperty("委托书id") + private Long orderId; + + @ApiModelProperty("原因") + private String recordContent; + + private Long createUser; + + @ApiModelProperty("操作人名称") + private String createUserName; + + @ApiModelProperty("创建时间") + private String createTime; + + @ApiModelProperty("备注") + private String remark; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java index 8778b11..9e960f6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java @@ -87,6 +87,9 @@ private Integer isDel; + @ApiModelProperty(value = "最后更新人员", dataType = "String") + private Long updateUser; + @ApiModelProperty(value = "创建人", dataType = "String") private Long createUser; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java new file mode 100644 index 0000000..6572d23 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderRecord.java @@ -0,0 +1,31 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * @author cz + */ +@Data +@TableName("business_order_record") +public class BusinessOrderRecord { + + private Long id; + + private Long orderId; + + /** + * 记录内容 + */ + private String recordTContent; + + /** + * 创建人id + */ + private Long createUser; + + /** + * 创建人时间 + */ + private String createTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java index ae324f0..ffc21af 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainPlan.java @@ -146,7 +146,7 @@ private String remark; /** - * 流程定义id + * 流程实例id */ @ApiModelProperty(value = "流程实例id(未通过培训计划编辑接口必传参数)", dataType = "String") @TableField("process_id") 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 a0cceda..230c779 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 @@ -1,7 +1,6 @@ package com.casic.missiles.service.Impl.business; import cn.hutool.core.lang.Assert; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; @@ -15,14 +14,12 @@ import com.casic.missiles.dto.business.print.CertificateListRequest; import com.casic.missiles.dto.business.print.CertificateListResponse; import com.casic.missiles.dto.business.print.CertificateRefusePrintRequest; -import com.casic.missiles.dto.flowable.AllApproveDTO; 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.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -40,6 +37,9 @@ import java.util.*; import java.util.stream.Collectors; +/** + * @author cz + */ @Service @AllArgsConstructor public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { @@ -81,16 +81,19 @@ } @Override - @Transactional - public ReturnDTO agreeAginPrint(ApprovalAgreeRequest request) { - ReturnDTO returnDTO = approvalOperateService.agree(request); - return returnDTO; + public ReturnDTO agreeAgainPrint(ApprovalAgreeRequest request) { + return approvalOperateService.agree(request); } + /** + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * + * @return + */ @Override @Transactional public ReturnDTO refuseAgainPrint(CertificateRefusePrintRequest request) { - ApprovalRefuseRequest approvalRefuseRequest=new ApprovalRefuseRequest(); + ApprovalRefuseRequest approvalRefuseRequest = new ApprovalRefuseRequest(); approvalRefuseRequest.setTaskId(request.getTaskId()); approvalRefuseRequest.setComments(request.getComments()); ReturnDTO returnDTO = approvalOperateService.refuse(approvalRefuseRequest); @@ -99,8 +102,9 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setPrintStatus("2");//设置为不能打印 - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //设置为不能打印 + certificateReport.setPrintStatus("2"); + certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -108,7 +112,9 @@ return ReturnUtil.success(); } - //提交审批流程,修改证书审批状态、修改打印状态 + /** + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + */ @Transactional @Override public ReturnDTO submitAgainPrint(BaseApprovalSubmitRequest request) { @@ -119,8 +125,10 @@ } BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); - certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //审批状态为审批中 - certificateReport.setPrintStatus("3"); //打印状态审批中 + //审批状态为审批中 + certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); + //打印状态审批中 + certificateReport.setPrintStatus("3"); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -128,13 +136,14 @@ return ReturnUtil.success(); } - //可打印:只需要查询可打印状态即可 - //查询工作流 + /** + * 可打印:只需要查询可打印状态即可,待审批状态,查询工作流,同时传输任务id + */ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)) { handlerBeApproved(approvalList, page, request); - } else if (request.getPrintStatus().equals("0")) { + } else if("0".equals(request.getPrintStatus())) { request.setApprovalStatus(null); approvalList.setRecords(this.baseMapper.selectBatchForApprovalList(page, request, null)); } else { @@ -147,18 +156,9 @@ return approvalList; } - private Page handleAllApprovalListResponse(Page approvalList, List allApproveList) { - Map taskMap = allApproveList.stream().collect(Collectors.toMap(AllApproveDTO::getBusinessKey, AllApproveDTO::getStatus)); - //状态补全 - approvalList.getRecords().forEach(approval -> { - approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); - approval.setApprovalStatus(taskMap.get(String.valueOf(approval.getId()))); - }); - //排序 - approvalList.setRecords(approvalList.getRecords().stream().sorted(Comparator.comparing(CertificateListResponse::getCreateTime).reversed()).collect(Collectors.toList())); - return approvalList; - } - + /** + * 查询待审批状态的打印证书,查询业务主键信息,据此查询相应的证书,并填充相应的工作流状态 + */ private Page handlerBeApproved(Page approvalList, Page page, CertificateListRequest request) { List businessKeys = new ArrayList<>(); List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); @@ -179,11 +179,4 @@ return approvalList; } - private void handleApprovalListResponse(Page approvalList, String status) { - approvalList.getRecords().stream().forEach(result -> { - //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 - result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); - }); - } - } 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 b397f83..859010b 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 @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.business; -import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -46,7 +45,9 @@ private final IBaseExportService iBaseExportService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; - //** 送检人查询条件不在设备交接单中,需要联查才可以实现 + /** + * 送检人查询条件不在设备交接单中,需要联查才可以实现 + */ @Override public Page exchangeListPage(Page page, InterchangeListRequest request) throws Exception { page.setRecords(this.baseMapper.selectInterchangeListPage(page, request)); @@ -54,7 +55,8 @@ } @Override - public BusinessInterchangeDetailResponse exchangeDetail(Long id) { ; + public BusinessInterchangeDetailResponse exchangeDetail(Long id) { + ; BusinessInterchangeDetailResponse businessExchange = this.baseMapper.getInfoById(id); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", businessExchange.getOrderId()); @@ -71,19 +73,21 @@ @Override @Transactional public ReturnDTO deleteExchange(Long id) { - Integer deleteFlag = this.baseMapper.deleteById(id); - //交接单绑定的肯定有样品,所以samplUpdateFlag肯定为true - Boolean samplUpdateFlag = sampleStatusDeletor(id) > 0; - if (deleteFlag > 0 && samplUpdateFlag) { + int deleteFlag = this.baseMapper.deleteById(id); + //交接单绑定的肯定有样品,所以sampleUpdateFlag肯定为true + boolean sampleUpdateFlag = sampleStatusDeletor(id) > 0; + if (deleteFlag > 0 && sampleUpdateFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //更新不对样品有任何操作 + /** + * 更新不对样品有任何操作 + */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { - Integer updateFlag = this.baseMapper.updateById(businessInterchange); + int updateFlag = this.baseMapper.updateById(businessInterchange); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -94,8 +98,8 @@ @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { populationExchange(businessInterchange); - Integer addFlag = this.baseMapper.insert(businessInterchange); - Boolean sampleAddFlag = true; + int addFlag = this.baseMapper.insert(businessInterchange); + boolean sampleAddFlag = true; if (!CollectionUtils.isEmpty(businessInterchange.getCustomerSampleList())) { for (CustomerSampleListVO sampleInfo : businessInterchange.getCustomerSampleList()) { sampleAddFlag = sampleAddFlag && sampleStatusUpdator(sampleInfo, businessInterchange.getId()) > 0; 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 3bd316c..585a207 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 @@ -215,13 +215,7 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - Map resultMap = SqlRunner.db().selectOne( - "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + - "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + - "JOIN sys_user su ON srr.USERID = su.ID " + - "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + - "WHERE su.ID = {0}" + - "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + Map resultMap = selectDirectDept(user); if(CollectionUtils.isEmpty(resultMap) || Objects.isNull(resultMap.get("deptId"))){ return new Page<>(); } @@ -390,16 +384,7 @@ Long maxNo = labExecutiveTemplateInfoMapper.selectMaxTemplateNo(); for (int i = 0; i < labExecutiveInfos.size(); i++) { BusinessLabExecutiveInfo lab = labExecutiveInfos.get(i); - BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); - templateInfo.setTemplateCode(templateCode); -// templateInfo.setSampleTypeId(); - templateInfo.setSampleId(lab.getSampleId()); - templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); - templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); -// templateInfo.setMeasureItem(); - templateInfo.setExecuteSequence(lab.getMeasureSequence()); -// templateInfo.setCreateUser(); + BusinessLabExecutiveTemplateInfo templateInfo = getBusinessLabExecutiveTemplateInfo(maxNo, i, lab); labList.add(templateInfo); } if(labExecutiveTemplateInfoService.saveBatch(labList)) log.info("实验室检测记录批量保存为实验室检测模板成功"); @@ -422,6 +407,20 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { + BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); + String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + templateInfo.setTemplateCode(templateCode); +// templateInfo.setSampleTypeId(); + templateInfo.setSampleId(lab.getSampleId()); + templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); + templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); +// templateInfo.setMeasureItem(); + templateInfo.setExecuteSequence(lab.getMeasureSequence()); +// templateInfo.setCreateUser(); + return templateInfo; + } + @Override public ReturnDTO updateExecutiveList(UpdateExecutiveListRequest request) { //删除前端已删除的ids @@ -469,7 +468,6 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - //登录用户id获取计量人员id,实验室检测信息中存储的是计量人员id MeterStaff meterStaff = getMeterStaffInfo(user); if(Objects.isNull(meterStaff)) throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_NOT_STAFF); Long userId = meterStaff.getId(); @@ -510,7 +508,6 @@ Assert.isFalse(Objects.isNull(user), () -> { throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); - //登录用户id获取计量人员id,实验室检测信息中存储的是计量人员id MeterStaff meterStaff = getMeterStaffInfo(user); if(Objects.isNull(meterStaff)) throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_NOT_STAFF); Long userId = meterStaff.getId(); @@ -518,15 +515,7 @@ //删除实验室检测列表中退回数据 int deleteFlag = labExecutiveInfoMapper.deleteById(request.getId()); //退回操作记录表中增加数据 - BusinessLabExecutiveOperateLog operateLog = new BusinessLabExecutiveOperateLog(); - operateLog.setOrderId(request.getOrderId()); - operateLog.setSampleId(request.getSampleId()); - operateLog.setMeasureDeptId(request.getMeasureSegmentId()); - operateLog.setMeasurePersonId(request.getMeasurePersonId()); - operateLog.setOperatePersonId(userId); - operateLog.setOperatePersonName(user.getName()); - operateLog.setMeasureStatus(MeasureStatusEnum.SEND_BACK); - operateLog.setOperateReason(request.getOperateReason()); + BusinessLabExecutiveOperateLog operateLog = getBusinessLabExecutiveOperateLog(request, user, userId); int insertFlag = labExecutiveOperateLogMapper.insert(operateLog); if(deleteFlag > 0 && insertFlag > 0){ //退回后会将下一个要执行的实验室检测状态更新为待分配,将后面的实验室顺序变更为连续(都进行减1) @@ -596,4 +585,29 @@ } }); } + + private Map selectDirectDept(AuthUser user) { + Map resultMap = SqlRunner.db().selectOne( + "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON srr.USERID = su.ID " + + "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + + "WHERE su.ID = {0}" + + "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + return resultMap; + } + + private BusinessLabExecutiveOperateLog getBusinessLabExecutiveOperateLog(ExecutiveSendBackRequest request, AuthUser user, Long userId) { + BusinessLabExecutiveOperateLog operateLog = new BusinessLabExecutiveOperateLog(); + operateLog.setOrderId(request.getOrderId()); + operateLog.setSampleId(request.getSampleId()); + operateLog.setMeasureDeptId(request.getMeasureSegmentId()); + operateLog.setMeasurePersonId(request.getMeasurePersonId()); + operateLog.setOperatePersonId(userId); + operateLog.setOperatePersonName(user.getName()); + operateLog.setMeasureStatus(MeasureStatusEnum.SEND_BACK); + operateLog.setOperateReason(request.getOperateReason()); + return operateLog; + } + } 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 f6b3933..48742b4 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 @@ -9,14 +9,17 @@ import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.order.OrderCancelRequest; 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.ExportEnum; import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; import com.casic.missiles.mapper.business.BusinessOrderMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -49,18 +52,19 @@ @AllArgsConstructor public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { - private final BusinessOrderListReponseMapper orderListReponseMapper; + private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; private final CustomerSampleService customerSampleService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; + private final BusinessDealRecordMapper dealRecordMapper; /** * 1、分页查询 2、批量查询所有的委托书、样品关系 => 进行以sampleId为key主键map list 3、查询计算样品数量 */ @Override public Page orderListPage(Page page, OrderListRequest request) throws Exception { - QueryWrapper wrapper = listParamWrapper(request); - Page resultPage = this.orderListReponseMapper.selectPage(page, wrapper); + QueryWrapper wrapper = listParamWrapperBuilder(request); + Page resultPage = this.orderListResponseMapper.selectPage(page, wrapper); List orderSampleList = sampleRelationMapper.selectList(null); Map> orderSampleMap = orderSampleList.stream().collect( Collectors.groupingBy(BusinessOrderSampleRelation::getOrderId) @@ -74,7 +78,9 @@ return resultPage; } - // 1、查询委托书详情 2、对样品列表进行查询 3、设置默认在库标志 + /** + * 1、查询委托书详情 2、对样品列表进行查询 3、设置默认在库标志 + */ @Override public BusinessOrder orderDetail(Long id) { BusinessOrder businessOrder = this.baseMapper.selectById(id); @@ -91,29 +97,24 @@ return businessOrder; } - @Override - public ReturnDTO deleteOrder(Long id) { - Integer deleteFlag = this.baseMapper.deleteById(id); - if (deleteFlag > 0) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - - // 删除样品和委托书的明细关系,填充传输的明细样品数据, - // 对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + /** + * 1、删除样品和委托书的明细关系,填充传输的明细样品数据 + * 2、对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + */ @Override public ReturnDTO updateOrder(BusinessOrder businessOrder) { - Integer updateFlag = this.baseMapper.updateById(businessOrder); - this.sampleStatusDeletor(businessOrder.getId()); - Boolean sampleUpdateFlag = true; + AuthUser authUser = ShiroKit.getUser(); + businessOrder.setUpdateUser(authUser.getId()); + int updateFlag = this.baseMapper.updateById(businessOrder); + this.deleteSampleById(businessOrder.getId()); + boolean sampleUpdateFlag = true; this.doSampleListPopulation(businessOrder); for (CustomerSampleInfo sampleInfo : businessOrder.getCustomerSampleInfoList()) { sampleInfo.setDeliverer(businessOrder.getDeliverer()); sampleInfo.setDelivererTel(businessOrder.getDelivererTel()); - if (sampleInfo.getIsExistSample().equals("0")) { + if ("0".equals(sampleInfo.getIsExistSample())) { ReturnDTO returnDTO = customerSampleService.addSample(sampleInfo); - sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode().equals("200"); + sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode().equals(200); } else { ReturnDTO returnDTO = customerSampleService.updateSample(sampleInfo); sampleUpdateFlag = sampleUpdateFlag && returnDTO.getCode() == 200; @@ -126,25 +127,27 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //删除样品和委托书的明细关系,填充传输的明细样品数据, - // 对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + /** + * 1、删除样品和委托书的明细关系,填充传输的明细样品数据 + * 2、对样品进行是否在库的判断,如果不存在则入库, 入库操作完成,进行委托书样品关系的绑定 + */ @Override @Transactional public ReturnDTO addOrder(BusinessOrder businessOrder) { initOrderInfo(businessOrder); - Integer addFlag = this.baseMapper.insert(businessOrder); - Boolean sampleAddFlag = true; - this.sampleStatusDeletor(businessOrder.getId()); + int addFlag = this.baseMapper.insert(businessOrder); + boolean sampleAddFlag = true; + this.deleteSampleById(businessOrder.getId()); this.doSampleListPopulation(businessOrder); for (CustomerSampleInfo sampleInfo : businessOrder.getCustomerSampleInfoList()) { sampleInfo.setDeliverer(businessOrder.getDeliverer()); sampleInfo.setDelivererTel(businessOrder.getDelivererTel()); - if (sampleInfo.getIsExistSample().equals("0")) { + if ("0".equals(sampleInfo.getIsExistSample())) { ReturnDTO returnDTO = customerSampleService.addSample(sampleInfo); - sampleAddFlag = sampleAddFlag && returnDTO.getCode() == 200; + sampleAddFlag = sampleAddFlag && returnDTO.getCode().equals(200); } else { ReturnDTO returnDTO = customerSampleService.updateSample(sampleInfo); - sampleAddFlag = sampleAddFlag && returnDTO.getCode() == 200; + sampleAddFlag = sampleAddFlag && returnDTO.getCode().equals(200); } sampleAddFlag = sampleAddFlag && sampleStatusCreator(sampleInfo.getOrderId(), sampleInfo.getMeasureContent(), sampleInfo.getId()) > 0; } @@ -154,58 +157,135 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //如查询说明,补充对是否加急的excel文档表现 + /** + * 1、判断是否存在ids,进行其他参数属性的初始化 + * 2、查询查询构建 + * 3、查询样品关系,构建委托书样品数量map集合 + * 4、字典值进行状态转化 + */ @Override public void orderExport(OrderListRequest request, HttpServletResponse response) { try { - List orderListReponseList; + List orderResponseList; if (!CollectionUtils.isEmpty(request.getIds())) { - orderListReponseList = orderListReponseMapper.selectBatchIds(request.getIds()); + orderResponseList = orderListResponseMapper.selectBatchIds(request.getIds()); } else { - QueryWrapper wrapper = listParamWrapper(request); - orderListReponseList = this.orderListReponseMapper.selectList(wrapper); + QueryWrapper wrapper = listParamWrapperBuilder(request); + orderResponseList = this.orderListResponseMapper.selectList(wrapper); } + //查询样品关系,构建委托书样品数量map集合, List orderSampleList = sampleRelationMapper.selectList(null); Map> orderSampleMap = orderSampleList.stream().collect( Collectors.groupingBy(BusinessOrderSampleRelation::getOrderId) ); - orderListReponseList.forEach( + orderResponseList.forEach( orderSample -> orderSample.setSampleCount(orderSampleMap.containsKey(orderSample.getId()) ? orderSampleMap.get(orderSample.getId()).size() : 0) ); - for (OrderListReponse orderListReponse : orderListReponseList) { - orderListReponse.setIsUrgent(orderListReponse.getIsUrgent().equals("1") ? "是" : "否"); + //字典转换 + for (OrderListReponse orderListReponse : orderResponseList) { + orderListReponse.setIsUrgent("1".equals(orderListReponse.getIsUrgent()) ? "是" : "否"); DictCodeUtils.convertDictCodeToName(orderListReponse); } - iBaseExportService.exportExcel(response, OrderListReponse.class, orderListReponseList, ExportEnum.ORDER_EXPORT.getSheetName()); + iBaseExportService.exportExcel(response, OrderListReponse.class, orderResponseList, ExportEnum.ORDER_EXPORT.getSheetName()); } catch (Exception ex) { log.error("委托书导出出现异常,异常信息为{}", ex); } } + /** + * 通过状态对委托书状态进行更新 + */ @Override - public ReturnDTO updateStatusById(Long id, String status) { - BusinessOrder businessOrder = new BusinessOrder(); - businessOrder.setId(id); - businessOrder.setStatus(status); - Integer updateFlag = this.baseMapper.updateById(businessOrder); - if (updateFlag > 0) { + public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { + int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); + int addDealRecordFlag = addDealRecord(orderCancelRequest); + if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 取消记录,修改委托书状态,同时生成委托书操作日志,供用户查询 + */ + @Override + @Transactional + public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int addDealRecordFlag = addDealRecord(orderCancelRequest); + if (updateFlag > 0 && addDealRecordFlag > 0) { + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + /** + * 操作记录的查询 + */ + @Override + public List optionRecord(Long id) { + QueryWrapper dealRecordQueryWrapper = new QueryWrapper() + .eq("order_id", id); + return dealRecordMapper.selectList(dealRecordQueryWrapper); + } + + /** + * 新增操作记录 + */ + private int addDealRecord(OrderCancelRequest orderCancelRequest) { + AuthUser authUser = ShiroKit.getUser(); + BusinessDealRecord businessDealRecord = BusinessDealRecord.builder() + .createUser(authUser.getId()) + .createUserName(authUser.getName()) + .recordContent(reasonConvert(orderCancelRequest.getReason())) + .orderId(orderCancelRequest.getId()) + .build(); + return dealRecordMapper.insert(businessDealRecord); + } + + /** + * 强调正在做状态更新 + */ + private int doUpdateStatusById(Long orderId, String status) { + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(orderId); + businessOrder.setStatus(status); + AuthUser authUser = ShiroKit.getUser(); + businessOrder.setUpdateUser(authUser.getId()); + return this.baseMapper.updateById(businessOrder); + } + + /** + * 原因字典转化为相应的值 + */ + private String reasonConvert(String reasonIds) { + String reasonStr = ""; + if (StringUtils.isEmpty(reasonIds)) { + return reasonStr; + } + String[] reasonIdList = reasonIds.split(","); + for (String reasonId : reasonIdList) { + String reasonContent = dealRecordMapper.getDictContent(reasonId); + reasonStr = reasonStr + reasonContent + ","; + } + return reasonStr.substring(0, reasonStr.length() - 1); + } + private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); + businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); businessOrder.setStatus("1"); } - - private QueryWrapper listParamWrapper(OrderListRequest request) { + /** + * 委托书列表查询构建方法 + */ + private QueryWrapper listParamWrapperBuilder(OrderListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getDeliverer()), "deliverer", request.getDeliverer()); @@ -223,21 +303,19 @@ return queryWrapper; } - private Integer sampleStatusDeletor(Long orderId) { + private int deleteSampleById(Long orderId) { QueryWrapper sampleStatusRelationWrapper = new QueryWrapper() .eq("order_id", orderId); - Integer sampleStatus = this.sampleRelationMapper.delete(sampleStatusRelationWrapper); - return sampleStatus; + return this.sampleRelationMapper.delete(sampleStatusRelationWrapper); } - private Integer sampleStatusCreator(Long orderId, String measureContent, Long sampleId) { + private int sampleStatusCreator(Long orderId, String measureContent, Long sampleId) { BusinessOrderSampleRelation sampleStatusPopulation = new BusinessOrderSampleRelation(); sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); sampleStatusPopulation.setMeasureType("1"); - Integer sampleStatus = this.sampleRelationMapper.insert(sampleStatusPopulation); - return sampleStatus; + return this.sampleRelationMapper.insert(sampleStatusPopulation); } private void doSampleListPopulation(BusinessOrder businessOrder) { @@ -249,4 +327,5 @@ } ); } + } 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 e922dc2..07c88e9 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 com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -11,8 +12,6 @@ import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; -import com.casic.missiles.dto.business.interchange.InterchangeListResponse; -import com.casic.missiles.dto.meter.TrainPlanApprovalListResponse; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; @@ -21,20 +20,22 @@ import com.casic.missiles.mapper.business.*; import com.casic.missiles.model.business.*; import com.casic.missiles.service.business.IBusinessDispatchService; -import com.casic.missiles.utils.ConvertUtils; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.util.ObjectUtils; -import org.springframework.util.StringUtils; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Objects; import java.util.Optional; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -45,84 +46,59 @@ private final BusinessLabExecutiveInfoMapper labExecutiveInfoMapper; private final IBaseExportService iBaseExportService; - //终止、回退、收入、归还、催办按钮 - //列表返回只需要控制已收入回退按钮显示的权限即可,其中回退在没有任何实验室进行的情况,可以进行设备的回退 + /** + * 终止、回退、收入、归还、催办按钮 + * 列表返回只需要控制已收入回退按钮显示的权限即可,其中回退在没有任何实验室进行的情况,可以进行设备的回退 + */ @Override public Page listPage(Page page, DeviceDispatchDTO request) { -// //查询委托书和样品关联表中的各状态的样品 - Page dispatchVOPage = orderSampleRelationMapper.getSampleListByStatus(page, request); + //查询委托书和样品关联表中的各状态的样品 + Page dispatchVoPage = orderSampleRelationMapper.getSampleListByStatus(page, request); log.info("设备收发-当前查询样品状态为:{}", request.getSampleStatus()); - List records = dispatchVOPage.getRecords(); + List records = dispatchVoPage.getRecords(); if (CollectionUtils.isEmpty(records)) { return new Page<>(); } - doDispatchVOPagePopution(records, request); - return dispatchVOPage; - } - - - //进行已收入分页的当前环节回填、出具证书回填 - private void doDispatchVOPopulation(DeviceDispatchVO dispatchVO, Long sampleId, Long orderId) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); - HandOutLabExecutiveDTO handOutLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); - Integer measureNumberStatus = labExecutiveInfoMapper.getMeasureNumberStatus(orderId, sampleId); - // - if (!Objects.isNull(handOutLabExecutiveDTO)) { - dispatchVO.setRequireCertifications(handOutLabExecutiveDTO.getRequireCertifications()); - dispatchVO.setCurrentSegment(handOutLabExecutiveDTO.getDeptName()); - Long measureDeptId = handOutLabExecutiveDTO.getMeasureDeptId(); - dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, measureDeptId)); - } else { - dispatchVO.setAlreadyCertifications(0); - dispatchVO.setRequireCertifications(ObjectUtils.isEmpty(measureNumberStatus) ? 0 : measureNumberStatus); - } - if (!ObjectUtils.isEmpty(measureNumberStatus) && measureNumberStatus > 0) { - dispatchVO.setFallbackState(0);//不可以进行回退 - } else { - dispatchVO.setFallbackState(1);//可以进行回退 - } + doPopulateDispatch(records, request); + return dispatchVoPage; } /** - * 重点填充类 - * - * @param dispatchVOPage - * @param request + * 分发列表填充 */ - private void doDispatchVOPagePopution(List dispatchVOPage, DeviceDispatchDTO request) { - dispatchVOPage.stream().forEach( + private void doPopulateDispatch(List dispatchVOPage, DeviceDispatchDTO request) { + dispatchVOPage.forEach( dispatchVO -> { Long orderId = dispatchVO.getOrderId(); Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && request.getSampleStatus().equals("8") && noSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { - //待分发状态,分发性质:有退回就是退回分发,当前检定环节:待分配,已出具证书:无,出具证书总数:无 + //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 case SampleStatusEnum.TO_HANDOUT: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //检测中状态,分发性质:无,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 + //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 case SampleStatusEnum.IN_MEASURE: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //检测完状态,分发性质:无,当前检定环节:完成,已出具证书:无,出具证书总数:无 + //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 case SampleStatusEnum.MEASURE_COMPLETE: - doDispatchVOPopulation(dispatchVO, sampleId, orderId); - break; - //超期样品(即检测超期,未在应检完时间检完),分发性质:无,当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 + doDispatchVoPopulation(dispatchVO, sampleId, orderId); + return; + //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 case SampleStatusEnum.BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); - Long deptId = overLabExecutiveDTO.getMeasureDeptId(); + Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); dispatchVO.setRequireCertifications(overLabExecutiveDTO.getRequireCertifications()); - if (checkSampleFinshStauts(dispatchVO)) { + // 判断样品是完成或接收状态,直接显示即可 + if (checkSampleFinishStatus(dispatchVO)) { return; } dispatchVO.setCurrentSegment(overLabExecutiveDTO.getDeptName()); break; + default: + break; } } ); @@ -131,8 +107,7 @@ @Override public void exportSampleDispatchList(DeviceDispatchDTO request, HttpServletResponse response) { try { - - Page deviceDispatchVOPage = PageFactory.defaultPage(); + Page deviceDispatchVOPage; if (!CollectionUtils.isEmpty(request.getIds())) { initDeviceDispatchDTOEmpty(request); } else { @@ -150,29 +125,59 @@ } + /** + * 状态更新 + */ @Override public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer updateFalg = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFalg > 0) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - - //终止操作,不仅更新状态,同时进行实验室状态的更新 - @Override - @Transactional - public ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, true); - //实验室状态数据的更新 - reasonPopulation(deviceStatusChangeDTO); + Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); if (updateFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - private void reasonPopulation(DeviceStatusChangeDTO deviceStatusChangeDTO) { + /** + * 终止操作,不仅更新状态,同时进行实验室状态原因的更新 + */ + @Override + @Transactional + public ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO) { + Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, true); + //实验室状态数据的更新 + updateLabExecutiveInfo(deviceStatusChangeDTO); + if (updateFlag > 0) { + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + /** + * 进行已收入分页的当前环节回填、出具证书回填 + */ + private void doDispatchVoPopulation(DeviceDispatchVO dispatchVO, Long sampleId, Long orderId) { + dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + HandOutLabExecutiveDTO handOutLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); + Integer measureNumberStatus = labExecutiveInfoMapper.getMeasureNumberStatus(orderId, sampleId); + //证书,当前环节的回填 + if (!Objects.isNull(handOutLabExecutiveDTO)) { + dispatchVO.setRequireCertifications(handOutLabExecutiveDTO.getRequireCertifications()); + dispatchVO.setCurrentSegment(handOutLabExecutiveDTO.getDeptName()); + Long measureDeptId = handOutLabExecutiveDTO.getMeasureDeptId(); + dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, measureDeptId)); + } else { + dispatchVO.setAlreadyCertifications(0); + dispatchVO.setRequireCertifications(ObjectUtils.isEmpty(measureNumberStatus) ? 0 : measureNumberStatus); + } + //处于检测中、检测完、待检测的实验室大于0,不可以进行回退,否则可以进行回退 + if (!ObjectUtils.isEmpty(measureNumberStatus) && measureNumberStatus > 0) { + dispatchVO.setFallbackState(0); + } else { + dispatchVO.setFallbackState(1); + } + } + + private void updateLabExecutiveInfo(DeviceStatusChangeDTO deviceStatusChangeDTO) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); @@ -182,10 +187,13 @@ labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } + /** + * 消息催办 + */ @Override public ReturnDTO rushDoProcess(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer deleteFalg = this.baseMapper.deleteById(deviceStatusChangeDTO.getOrderId()); - if (deleteFalg > 0) { + int deleteFlag = this.baseMapper.deleteById(deviceStatusChangeDTO.getOrderId()); + if (deleteFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -203,7 +211,7 @@ return null; } Optional handOutLabExecutiveDTOOptional = labExecutiveList.stream().findFirst(); - return handOutLabExecutiveDTOOptional.isPresent() ? handOutLabExecutiveDTOOptional.get() : null; + return handOutLabExecutiveDTOOptional.orElse(null); } private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { @@ -214,7 +222,9 @@ return wrapper; } - //更新检测完成后,执行当前正在进行数据 + /** + * 更新检测完成后,执行当前正在进行数据 + */ private Integer statusChangeUpdator(DeviceStatusChangeDTO statusChangeDTO, Boolean terminateFlag) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); @@ -227,15 +237,18 @@ return this.orderSampleRelationMapper.update(businessOrderSampleRelation, queryWrapper); } - //判断不是自检 - private Boolean noSelfMeasure(DeviceDispatchVO dispatchVO) { - if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType()) && (dispatchVO.getMeasureType().equals("1") || dispatchVO.getMeasureType().equals("2"))) { - String currentSegment = dispatchVO.getMeasureType().equals("1") ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; - dispatchVO.setCurrentSegment(currentSegment); - return true; - } else { - return false; + /** + * 判断不是自检 + */ + 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; + dispatchVO.setCurrentSegment(currentSegment); + return true; + } } + return false; } private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { @@ -250,8 +263,10 @@ request.setEndTime(null); } - // 判断样品是完成或接收状态,直接显示即可 - private Boolean checkSampleFinshStauts(DeviceDispatchVO dispatchVO) { + /** + * 判断样品是完成或接收状态,直接显示即可 + */ + private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); 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 eecf207..4f06678 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 @@ -28,6 +28,9 @@ import javax.servlet.http.HttpServletResponse; import java.util.List; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -58,7 +61,7 @@ @Override public ReturnDTO deleteAdvice(Long id) { - Integer deleteFlag = customerAdviceMapper.deleteById(id); + int deleteFlag = customerAdviceMapper.deleteById(id); if (deleteFlag > 0) { return ReturnUtil.success(); } @@ -67,7 +70,7 @@ @Override public ReturnDTO updateAdvice(CustomerAdviceInfo customerAdviceInfo) { - Integer updateFlag = customerAdviceMapper.updateById(customerAdviceInfo); + int updateFlag = customerAdviceMapper.updateById(customerAdviceInfo); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -77,7 +80,7 @@ @Override public ReturnDTO addAdvice(CustomerAdviceInfo customerAdviceInfo) { initCustomerAdviceInfo(customerAdviceInfo); - Integer addFlag = customerAdviceMapper.insert(customerAdviceInfo); + int addFlag = customerAdviceMapper.insert(customerAdviceInfo); if (addFlag > 0) { return ReturnUtil.success(); } 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 79a776b..3bbcaaf 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 @@ -55,7 +55,7 @@ public Page listPage(Page page, CustomerSampleListRequest request) throws Exception { QueryWrapper wrapper = listParamWrapper(request); Page customerSamplePage = customerSampleListResponseMapper.selectPage(page, wrapper); - customerSamplePage.getRecords().stream() + customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { @@ -72,26 +72,30 @@ return customerSamplePage; } - //新增样品表,同时新增样品委托书关联状态表 + /** + * 新增样品表,同时新增样品委托书关联状态表 + */ @Override @Transactional public ReturnDTO addSample(CustomerSampleInfo customerSampleInfo) { initSample(customerSampleInfo); - Integer addFlag = this.baseMapper.insert(customerSampleInfo); + int addFlag = this.baseMapper.insert(customerSampleInfo); if (addFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } - //更新样品表,同时更新样品委托书关联状态表 + /** + * 更新样品表,同时更新样品委托书关联状态表 + */ @Override @Transactional public ReturnDTO updateSample(CustomerSampleInfo customerSampleInfo) { AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setUpdateUser(authUser.getId()); initSample(customerSampleInfo); - Integer updateFlag = this.baseMapper.updateById(customerSampleInfo); + int updateFlag = this.baseMapper.updateById(customerSampleInfo); if (updateFlag > 0) { return ReturnUtil.success(); } @@ -110,8 +114,6 @@ /** * 只导出样品列表信息 * - * @param request - * @param response */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -148,9 +150,8 @@ } @Override - @Transactional public ReturnDTO deleteSample(Long id) { - Integer deleteFalg = this.baseMapper.deleteById(id); + int deleteFalg = this.baseMapper.deleteById(id); if (deleteFalg > 0) { return ReturnUtil.success(); } @@ -158,12 +159,12 @@ } @Override - public Page mesureRecordsBySampleId(Long id) { + public Page measureRecordsBySampleId(Long id) { Page page = PageFactory.defaultPage(); QueryWrapper wrapper = new QueryWrapper() .eq("sample_id", id); - Page mesureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); - return mesureRecordsResponsePage; + Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + return measureRecordsResponsePage; } @Override @@ -197,12 +198,12 @@ 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());//样品所属 - queryWrapper.like(StringUtils.isNotBlank(request.getSampleModel()), "sample_model", request.getSampleModel());//样品型号 - queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName());//委托方名称 - queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo());//委托方代码 + 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()); + queryWrapper.like(StringUtils.isNotBlank(request.getSampleModel()), "sample_model", request.getSampleModel()); + 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"), "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); 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 62c4a00..32d4dee 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 @@ -70,7 +70,7 @@ @Transactional public ReturnDTO addCustomer(CustomerInfo customerInfo) { initCustomerInfo(customerInfo); - Integer addFlag = this.baseMapper.insert(customerInfo); + int addFlag = this.baseMapper.insert(customerInfo); Boolean userAddFlag = userInfoListCreator(customerInfo.getCustomerUserList(), customerInfo.getId()); if (addFlag > 0 && userAddFlag) { return ReturnUtil.success(); @@ -84,7 +84,7 @@ AuthUser authUser = ShiroKit.getUser(); customerInfo.setUpdateUser(authUser.getId()); userInfoListDeletor(customerInfo.getId()); - Integer updateFlag = this.baseMapper.updateById(customerInfo); + int updateFlag = this.baseMapper.updateById(customerInfo); Boolean userUpdateFlag = userInfoListCreator(customerInfo.getCustomerUserList(),customerInfo.getId()); if (updateFlag > 0 && userUpdateFlag) { return ReturnUtil.success(); @@ -102,7 +102,7 @@ @Override public ReturnDTO deleteCustomer(Long id) { CustomerInfo customerInfo = this.baseMapper.selectById(id); - Integer deleteFlag = this.baseMapper.deleteById(id); + int deleteFlag = this.baseMapper.deleteById(id); userInfoListDeletor(customerInfo.getId()); if (deleteFlag > 0) { return ReturnUtil.success(); @@ -116,8 +116,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("customer_id", customerId); queryWrapper.orderByDesc("create_time"); - Page sampleRecordsResponsePage = sampleRecordsResponseMapper.selectPage(page, queryWrapper); - return sampleRecordsResponsePage; + return sampleRecordsResponseMapper.selectPage(page, queryWrapper); } @@ -129,9 +128,8 @@ @Override//暂定不做 public Page mesureRecordsByCustomerId(Long customerId) { - Page mesureRecordsResponsePage = PageFactory.defaultPage(); - - return mesureRecordsResponsePage; + Page measureRecordsResponsePage = PageFactory.defaultPage(); + return measureRecordsResponsePage; } @Override @@ -139,8 +137,7 @@ Page page = PageFactory.defaultPage(); QueryWrapper wrapper = new QueryWrapper() .eq("customer_id", customerId); - Page certificationResponsePage = certificationMapper.selectPage(page, wrapper); - return certificationResponsePage; + return certificationMapper.selectPage(page, wrapper); } @Override @@ -185,8 +182,7 @@ private List customerUserDetail(Long id) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("customer_id", id); - List customerUserInfoList = customerUserMapper.selectList(queryWrapper); - return customerUserInfoList; + return customerUserMapper.selectList(queryWrapper); } private void userInfoListDeletor(Long customerId) { @@ -197,12 +193,12 @@ private Boolean userInfoListCreator(List userInfoList, Long id) { Long maxUserNo = customerUserMapper.selectMaxUserNo(); - Boolean userUpdateFlag = true; + boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); customerUserInfo.setUserNo(customerNo); - Integer userAddNum = customerUserMapper.insert(customerUserInfo); + int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { userUpdateFlag = false; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java index d816cb8..c9997c5 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java @@ -11,6 +11,9 @@ import java.util.*; import java.util.stream.Collectors; +/** + * @author cz + */ @Service @Slf4j @AllArgsConstructor @@ -24,8 +27,7 @@ Map trendMap = sampleList.stream().collect( Collectors.toMap(e -> String.valueOf(e.get("increaseTime")), e -> String.valueOf(e.get("count"))) ); - List trendResponseList = recentYearBuilder(trendMap); - return trendResponseList; + return recentYearBuilder(trendMap); } @Override @@ -34,8 +36,7 @@ Map trendMap = sampleList.stream().collect( Collectors.toMap(e -> String.valueOf(e.get("expireTime")), e -> String.valueOf(e.get("count"))) ); - List trendResponseList = recentYearBuilder(trendMap); - return trendResponseList; + return recentYearBuilder(trendMap); } @Override @@ -44,8 +45,7 @@ Map trendMap = sampleList.stream().collect( Collectors.toMap(e -> String.valueOf(e.get("increaseTime")), e -> String.valueOf(e.get("count"))) ); - List trendResponseList = recentYearBuilder(trendMap); - return trendResponseList; + return recentYearBuilder(trendMap); } // 鉴定金额暂时没有表设计,loading... @@ -64,10 +64,10 @@ Calendar endDate = Calendar.getInstance(); endDate.setTime(new Date()); while (beginDate.getTime().compareTo(endDate.getTime()) <= 0) { - WorkbenceTrendResponse workbenceResponse = new WorkbenceTrendResponse(); - workbenceResponse.setDate(sdf2.format(beginDate.getTime())); - workbenceResponse.setCount(trendMap.containsKey(sdf1.format(beginDate.getTime())) ? trendMap.get(sdf1.format(beginDate.getTime())) : "0"); - mapList.add(workbenceResponse); + WorkbenceTrendResponse workBenchResponse = new WorkbenceTrendResponse(); + workBenchResponse.setDate(sdf2.format(beginDate.getTime())); + workBenchResponse.setCount(trendMap.containsKey(sdf1.format(beginDate.getTime())) ? trendMap.get(sdf1.format(beginDate.getTime())) : "0"); + mapList.add(workBenchResponse); beginDate.add(Calendar.MONTH, 1); } return mapList; 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 2d1d4a7..c0e00ab 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 @@ -247,6 +247,8 @@ toBeApprovedList.forEach(toBeApprovedDTO -> { if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); + //补全可选决策项 + approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); } }); }); 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 35a7098..b9faa3d 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 @@ -290,6 +290,8 @@ toBeApprovedList.forEach(toBeApprovedDTO -> { if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ approval.setTaskId(toBeApprovedDTO.getTaskId()); + //补全可选决策项 + approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); } }); }); 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 ba06aff..660be28 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 @@ -124,7 +124,7 @@ .name(name) // .category("")//自定义类别 .deploy(); - log.info("流程定义部署,flowable return deploy;{}", JSONObject.toJSONString(deploy)); + log.info("流程定义部署,flowable return deploy:{}", JSONObject.toJSONString(deploy)); if (Objects.isNull(deploy)) { return ReturnUtil.failed("流程定义部署失败"); } @@ -335,7 +335,6 @@ //添加incoming属性(表示进来的,即上面流程节点的id列表),值为仅一个启动事件id的列表 flowNode.put("incoming", Collections.singletonList(fromId)); String id = createTask(flowNode, process, sequenceFlows); - // 如果当前任务还有后续任务,则遍历创建后续任务 JSONObject nextNode = flowNode.getJSONObject("childNode"); if (Objects.nonNull(nextNode)) { @@ -349,7 +348,6 @@ else if (Type.CC.type.equals(nodeType)) { flowNode.put("incoming", Collections.singletonList(fromId)); String id = createServiceTask(flowNode, process, sequenceFlows); - // 如果当前任务还有后续任务,则遍历创建后续任务 JSONObject nextNode = flowNode.getJSONObject("childNode"); if (Objects.nonNull(nextNode)) { @@ -363,7 +361,6 @@ else if (Type.USER_TASK.type.equals(nodeType)) { flowNode.put("incoming", Collections.singletonList(fromId)); String id = createTask(flowNode, process, sequenceFlows); - // 如果当前任务还有后续任务,则遍历创建后续任务 JSONObject nextNode = flowNode.getJSONObject("childNode"); if (Objects.nonNull(nextNode)) { @@ -454,11 +451,16 @@ } } String str = StringUtils.join(userIds, ","); - // todo: 以下需验证,若不行,采用:流程实例的发起人通过TaskCreatedListener监听器设置,这里再获取,或者可能需要再加个监听器获取 + // 以下已测试成功 // ExUtils为bean实例方法,已添加 // flowable表达式会自动识别流程变量,以下root也可识别为实例创建时的具体值,比如:${price < 100},price就是一个流程变量的值,UEL表达式的结果为布尔值 String starterId = "root"; - expression = "exUtils." + "strContains(" + starterId + "," + str + ")"; + if(StringUtils.isEmpty(str)){ + //其他条件(最后一个分支为空条件的情况) + expression = "#{exUtils." + "strContains(" + starterId + "," + starterId + ")}"; + }else { + expression = "#{exUtils." + "strContains(" + starterId + "," + str + ")}"; + } } if (Objects.isNull(childNode)) { @@ -509,7 +511,7 @@ String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); childNode.put("childNode", null); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; for (int i = 0; i < incoming.size(); i++) { // TODO: 2022/12/5 此处用的connect第一个参数和并行网关的为啥不一样 // TODO: 2022/12/5 为啥有后续节点这里却设置成了endExId @@ -556,12 +558,11 @@ // 1.0 先进行边连接, 暂存 nextNode String endExId = id("exclusiveGateway") + "end"; process.addFlowElement(createExclusiveGateWayEnd(endExId)); - String identifier = endExId;/*create(flowElement.getId(), childNode,model,process,sequenceFlows);*/ + String identifier = endExId; //其他条件分支和第一个条件分支连线的终点节点相同 for (int i = 0; i < incoming.size(); i++) { process.addFlowElement(connect(incoming.get(i), endExId, sequenceFlows)); } - // 针对 gateway 空任务分支 添加条件表达式,即条件节点下无子节点的情况 if (!conditions.isEmpty()) { FlowElement flowElement1 = model.getFlowElement(identifier); @@ -582,7 +583,6 @@ if (Objects.isNull(sequenceFlow.getConditionExpression()) && StringUtils.isNotBlank(expression)) { sequenceFlow.setConditionExpression(expression); } - conditions.remove(0); } }); @@ -590,7 +590,6 @@ } return endExId; } -// return exclusiveGatewayId; } /** @@ -685,8 +684,10 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 - List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); + List incoming = null; + if(!Objects.isNull(flowNode.getJSONArray("incoming"))){ + incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); + } String id = ""; if (incoming != null && !incoming.isEmpty()) { UserTask userTask = new UserTask(); @@ -758,25 +759,15 @@ } private enum Type { - //0 发起人 1审批 2抄送 3条件 4路由 + //0 发起人 1审批任务 2抄送任务 4条件路由 5并行网关 ROOT(0, UserTask.class), + USER_TASK(1, UserTask.class), + CC(2, ServiceTask.class), ROUTER(4, ExclusiveGateway.class), PARALLEL(5, ParallelGateway.class), - - /** - * 排他事件 - */ -// EXCLUSIVE(4, ExclusiveGateway.class), - - /** - * 任务 - */ - SERVER_TASK(6, UserTask.class), - USER_TASK(1, UserTask.class), - CC(2, ServiceTask.class); + SERVER_TASK(6, UserTask.class); private Integer type; - private Class typeClass; Type(Integer type, Class typeClass) { @@ -795,7 +786,6 @@ public boolean isEqual(String type) { return this.type.equals(type); } - } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessCertificatePrintService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessCertificatePrintService.java index b81d0a4..061ffd0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessCertificatePrintService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessCertificatePrintService.java @@ -17,7 +17,7 @@ void certificatePrintExport(CertificateListRequest request, HttpServletResponse response, Page page) throws Exception; - ReturnDTO agreeAginPrint(ApprovalAgreeRequest request); + ReturnDTO agreeAgainPrint(ApprovalAgreeRequest request); ReturnDTO refuseAgainPrint(CertificateRefusePrintRequest request); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessDispatchService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessDispatchService.java index 2292404..0c2aeb2 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessDispatchService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessDispatchService.java @@ -8,6 +8,9 @@ import javax.servlet.http.HttpServletResponse; +/** + * @author cz + */ public interface IBusinessDispatchService { Page listPage(Page page, DeviceDispatchDTO request); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOrderService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOrderService.java index 7528613..dea393f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOrderService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOrderService.java @@ -3,12 +3,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.business.order.OrderCancelRequest; import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; -import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; +import com.casic.missiles.model.business.BusinessDealRecord; import com.casic.missiles.model.business.BusinessOrder; import javax.servlet.http.HttpServletResponse; +import java.util.List; /** *

@@ -24,14 +26,16 @@ BusinessOrder orderDetail(Long id); - ReturnDTO deleteOrder(Long id); - ReturnDTO updateOrder(BusinessOrder businessOrder); ReturnDTO addOrder(BusinessOrder businessOrder); void orderExport(OrderListRequest request, HttpServletResponse response); - ReturnDTO updateStatusById(Long id,String status); + ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest,String status); + + ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest); + + List optionRecord(Long id); } 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 461d76d..2c4f179 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 @@ -24,7 +24,7 @@ ReturnDTO deleteSample(Long id); - Page mesureRecordsBySampleId(Long id); + Page measureRecordsBySampleId(Long id); Page certificationBySampleId(Long id);