pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoOp/OpeApproveResultMapper.java
@@ -6,8 +6,8 @@ /** * @author ZhuBaoMin * @date 2024-11-06 11:49 * @LastEditTime 2024-11-06 11:49 * @date 2024-11-11 9:32 * @LastEditTime 2024-11-11 9:32 * @Description */ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoOp/OpeApproveResult.java
@@ -7,14 +7,18 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.dy.common.po.BaseEntity; import com.fasterxml.jackson.annotation.JsonFormat; import jakarta.validation.constraints.Max; import jakarta.validation.constraints.Min; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Positive; import lombok.*; import java.util.Date; /** * @author ZhuBaoMin * @date 2024-11-06 11:49 * @LastEditTime 2024-11-06 11:49 * @date 2024-11-11 9:32 * @LastEditTime 2024-11-11 9:32 * @Description 处理结果审核实体类 */ @@ -25,7 +29,7 @@ @NoArgsConstructor @AllArgsConstructor public class OpeApproveResult implements BaseEntity { public static final long serialVersionUID = 202411061152001L; public static final long serialVersionUID = 202411110935001L; /** * 主键 @@ -38,18 +42,21 @@ * 工单ID */ @JSONField(serializeUsing= ObjectWriterImplToString.class) @NotNull(message = "工单ID不能为空") private Long workOrderId; /** * 处理结果ID */ @JSONField(serializeUsing= ObjectWriterImplToString.class) @NotNull(message = "处理结果不能为空") private Long processingResultId; /** * 审核人ID */ @JSONField(serializeUsing= ObjectWriterImplToString.class) @NotNull(message = "审核人不能为空") private Long approverId; /** @@ -61,6 +68,10 @@ /** * 审核结果;1-通过,2-驳回 */ @NotNull(message = "审核结果不能为空") @Positive(message = "审核结果值必须为正数") @Min(value = 1, message = "审核结果最小为1") @Max(value = 2, message = "审核结果最大为2") private Byte approveResult; /** pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/workOrder/WorkOrderCtrl.java
@@ -8,6 +8,7 @@ import com.dy.pipIrrApp.workOrder.dto.DtoDeleteProResult; import com.dy.pipIrrApp.workOrder.dto.DtoDeleteWorkOrder; import com.dy.pipIrrApp.workOrder.qo.QoWorkOrder; import com.dy.pipIrrGlobal.pojoOp.OpeApproveResult; import com.dy.pipIrrGlobal.pojoOp.OpeProcessingResult; import com.dy.pipIrrGlobal.pojoOp.OpeWorkOrder; import com.dy.pipIrrGlobal.voOp.VoProcessingResult; @@ -244,4 +245,25 @@ return BaseResponseUtils.buildException(e.getMessage()); } } /** * 审核处理结果 * @param po * @param bindingResult * @return */ @PostMapping(path = "approveProResult") @Transactional(rollbackFor = Exception.class) public BaseResponse<Boolean> approveProResult(@RequestBody @Valid OpeApproveResult po, BindingResult bindingResult) { if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } String result = workOrderSv.approveProResult(po); if(!result.equals("success")) { return BaseResponseUtils.buildErrorMsg(result); } return BaseResponseUtils.buildSuccess(true) ; } } pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/workOrder/WorkOrderSv.java
@@ -2,8 +2,10 @@ import com.dy.common.webUtil.QueryResultVo; import com.dy.pipIrrApp.workOrder.qo.QoWorkOrder; import com.dy.pipIrrGlobal.daoOp.OpeApproveResultMapper; import com.dy.pipIrrGlobal.daoOp.OpeProcessingResultMapper; import com.dy.pipIrrGlobal.daoOp.OpeWorkOrderMapper; import com.dy.pipIrrGlobal.pojoOp.OpeApproveResult; import com.dy.pipIrrGlobal.pojoOp.OpeProcessingResult; import com.dy.pipIrrGlobal.pojoOp.OpeWorkOrder; import com.dy.pipIrrGlobal.voOp.VoProcessingResult; @@ -32,6 +34,9 @@ @Autowired private OpeProcessingResultMapper opeProcessingResultMapper; @Autowired private OpeApproveResultMapper opeApproveResultMapper; /** * 添加工单记录 @@ -169,4 +174,57 @@ public VoProcessingResult getProResultById(Long proResultId) { return opeProcessingResultMapper.getProResultById(proResultId); } /** * 审核工单处理结果 * 1. 判断指定的工单及处理结果是否存在且未完成 * 2. 添加审核记录 * 3. 如果审核通过 * 处理结果状态改为已通过 * 工单补充任务完成时间 * 工单状态改为已完成 * 4. 如果驳回 * 任务处理结果改为驳回 * 工单驳回次数加1 * @param po * @return */ public String approveProResult(OpeApproveResult po) { OpeProcessingResult processingResult = opeProcessingResultMapper.selectByPrimaryKey(po.getProcessingResultId()); if(processingResult == null || processingResult.getDeleted() != 0 || processingResult.getState() != 1) { return "处理结果不存在或已完成审核"; } OpeWorkOrder workOrder = opeWorkOrderMapper.selectByPrimaryKey(po.getWorkOrderId()); if(workOrder == null || workOrder.getDeleted() != 0 || workOrder.getState() == 2) { return "工单不存在或已完成"; } po.setApproveTime(new Date()); po.setDeleted(0L); if(opeApproveResultMapper.insert(po) == 0) { return "审核记录添加失败"; } if(po.getApproveResult() == 1) { // 审核通过 processingResult.setState((byte)2); opeProcessingResultMapper.updateByPrimaryKeySelective(processingResult); workOrder.setCompleteTime(processingResult.getCompleteTime()); workOrder.setState((byte)2); opeWorkOrderMapper.updateByPrimaryKeySelective(workOrder); } else { // 驳回 processingResult.setState((byte)3); opeProcessingResultMapper.updateByPrimaryKeySelective(processingResult); workOrder.setRejectTimes(workOrder.getRejectTimes() + 1); opeWorkOrderMapper.updateByPrimaryKeySelective(workOrder); } return "success"; } }