diff --git a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java index 55c07741..df3820e9 100644 --- a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java +++ b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java @@ -2,6 +2,7 @@ package com.lz.modules.app.controller; import com.lz.common.emun.WorkMsgTypeEnum; import com.lz.common.utils.*; +import com.lz.modules.app.dto.ApprovalDto; import com.lz.modules.app.dto.DepartmentsDto; import com.lz.modules.app.dto.StaffDepartmentDto; import com.lz.modules.app.entity.DepartmentsStaffRelateEntity; @@ -17,6 +18,7 @@ import com.lz.modules.flow.entity.RecordAuth; import com.lz.modules.flow.entity.RecordFile; import com.lz.modules.flow.entity.StaffRole; import com.lz.modules.flow.model.Auth; +import com.lz.modules.flow.model.ResultRecordDto; import com.lz.modules.flow.req.ResultDetailReq; import com.lz.modules.flow.service.FlowRecordService; import com.lz.modules.flow.service.RecordAuthService; @@ -645,6 +647,19 @@ public class ResultRecordController extends AbstractController { + /** + * 删除 + */ + @RequestMapping("/new/approval") + public R approval(ApprovalDto approvalDto) { + return resultRecordService.newApproval(approvalDto); + + } + + + + + diff --git a/src/main/java/com/lz/modules/app/controller/TestController.java b/src/main/java/com/lz/modules/app/controller/TestController.java index c175c875..33210f66 100644 --- a/src/main/java/com/lz/modules/app/controller/TestController.java +++ b/src/main/java/com/lz/modules/app/controller/TestController.java @@ -257,7 +257,7 @@ public class TestController { } } - // http://localhost:8080/lz_management/test/resultrecord?resultRecordId=157 + // http://localhost:8080/lz_management/test/resultrecord?resultRecordId=215 @RequestMapping("/test/resultrecord") public void resultRecorcd(Long resultRecordId) throws Exception{ R r = resultRecordService.initFlowRecord(resultRecordId); diff --git a/src/main/java/com/lz/modules/app/dto/ApprovalDto.java b/src/main/java/com/lz/modules/app/dto/ApprovalDto.java new file mode 100644 index 00000000..99445590 --- /dev/null +++ b/src/main/java/com/lz/modules/app/dto/ApprovalDto.java @@ -0,0 +1,10 @@ +package com.lz.modules.app.dto; + +import lombok.Data; + +@Data +public class ApprovalDto { + private Long resultRecordId; + private Integer status; //1 提交审批,审批通过,2 撤回,3 催办,5 驳回,6 申述,7 流程终止 + private Long loginUserId; +} diff --git a/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java b/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java index 6a0f42e1..c6b13553 100644 --- a/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java @@ -59,4 +59,7 @@ public interface FlowRecordMapper extends BaseMapper { List selectFinishTasksByApprovalStaffId(@Param("approvalStaffId") Long approvalStaffId, @Param("page") IPage page); void insertFlowRecords(@Param("flowRecords") List flowRecords); + + + List selectFlowRecordByRecordIdStatus(@Param("resultRecordId") Long resultRecordId, @Param("status") Integer status); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/FlowRecordService.java b/src/main/java/com/lz/modules/flow/service/FlowRecordService.java index 7317a054..16aeecc4 100644 --- a/src/main/java/com/lz/modules/flow/service/FlowRecordService.java +++ b/src/main/java/com/lz/modules/flow/service/FlowRecordService.java @@ -59,4 +59,6 @@ public interface FlowRecordService extends IService { PageUtils selectTaskListByApprovalStaffId(AssessTaskReq req, Long approvalStaffId); void insertFlowRecords(List flowRecords); + + List selectFlowRecordByRecordIdStatus(Long resultRecordId,Integer status); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java index f655c58c..56b0e944 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java @@ -163,4 +163,9 @@ public class FlowRecordServiceImpl extends ServiceImpl flowRecords) { flowRecordMapper.insertFlowRecords(flowRecords); } + + @Override + public List selectFlowRecordByRecordIdStatus(Long resultRecordId,Integer status) { + return flowRecordMapper.selectFlowRecordByRecordIdStatus(resultRecordId,status); + } } diff --git a/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java b/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java index b1ce27a8..b22edb06 100644 --- a/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java +++ b/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java @@ -3,6 +3,7 @@ package com.lz.modules.sys.service.app; import com.baomidou.mybatisplus.extension.service.IService; import com.lz.common.emun.WorkMsgTypeEnum; import com.lz.common.utils.R; +import com.lz.modules.app.dto.ApprovalDto; import com.lz.modules.app.dto.GraphicsStatisticalDto; import com.lz.modules.app.entity.DepartmentsEntity; import com.lz.modules.app.entity.DepartmentsStaffRelateEntity; @@ -108,4 +109,6 @@ public interface ResultRecordService extends IService { void batchDeleteByStaffIds(List staffIds); R initFlowRecord(Long resultRecordId); + + R newApproval(ApprovalDto approvalDto); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java index 356d9426..a50c7c75 100644 --- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java @@ -7,6 +7,7 @@ import com.lz.common.emun.WorkMsgTypeEnum; import com.lz.common.utils.*; import com.lz.modules.app.dao.DepartmentsDao; import com.lz.modules.app.dao.DepartmentsStaffRelateDao; +import com.lz.modules.app.dto.ApprovalDto; import com.lz.modules.app.dto.EmployeesDto; import com.lz.modules.app.dto.GraphicsStatisticalDto; import com.lz.modules.app.entity.DepartmentsEntity; @@ -805,6 +806,94 @@ public class ResultRecordServiceImpl extends ServiceImpl flowRecords = flowRecordService.selectFlowRecordByRecordId(approvalDto.getResultRecordId()); + ResultRecord resultRecord = resultRecordMapper.selectResultRecordById(approvalDto.getResultRecordId()); + FlowRecord currentFlowRecord = null; + for(FlowRecord flowRecord: flowRecords){ + if(flowRecord.getStatus().equals(FlowRecordStatusEnums.CURRENT_FLOW_STATUS.getStatus())){ + log.info("flowRecordId:" + flowRecord.getId() + "更新为流程己走"); + flowRecord.setStatus(FlowRecordStatusEnums.FINISHED_STATUS.getStatus()); + flowRecordService.updateFlowRecordById(flowRecord); + } else if (flowRecord.getStatus().equals(FlowRecordStatusEnums.SKIP_STATUS.getStatus())){ + continue; + } else if (flowRecord.getStatus().equals(FlowRecordStatusEnums.UN_TO_STATUS.getStatus())){ + flowRecord.setStatus(FlowRecordStatusEnums.CURRENT_FLOW_STATUS.getStatus()); + log.info("flowRecordId:" + flowRecord.getId() + "更新为正在执行"); + currentFlowRecord = flowRecord; + flowRecordService.updateFlowRecordById(flowRecord); + break; + } + } + + resultRecord.setFlowStaffIdRole(currentFlowRecord.getFlowStaffIdRole()); + resultRecord.setCurrentApprovalStaffId(currentFlowRecord.getApprovalStaffId()); + resultRecord.setCurrentApprovalStaffName(currentFlowRecord.getApprovalStaffName()); + resultRecordService.updateResultRecordById(resultRecord); + return R.ok(); + } + + private R newReject(ApprovalDto approvalDto) { + List flowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(approvalDto.getResultRecordId(),2); + if(flowRecords !=null && flowRecords.size() > 0 ){ + FlowRecord currentFlowRecord = flowRecords.get(0); + for(FlowRecord flowRecord : flowRecords){ + flowRecord.setStatus(0); + flowRecordService.updateFlowRecordById(flowRecord); + } + ResultRecord resultRecord = resultRecordMapper.selectResultRecordById(approvalDto.getResultRecordId()); + resultRecord.setCurrentApprovalStaffId(currentFlowRecord.getApprovalStaffId()); + resultRecord.setCurrentApprovalStaffName(currentFlowRecord.getApprovalStaffName()); + resultRecord.setFlowStaffIdRole(currentFlowRecord.getFlowStaffIdRole()); + resultRecordService.updateResultRecordById(resultRecord); + } + return R.ok(); + } + + private R urge(ApprovalDto approvalDto) { + ResultRecord resultRecord = resultRecordMapper.selectResultRecordById(approvalDto.getResultRecordId()); + if(!resultRecord.getCurrentApprovalStaffId().equals(approvalDto.getLoginUserId())){ + log.info("催办" + resultRecord.getCurrentApprovalStaffId()); + } + return R.ok(); + } + + + private R stop(ApprovalDto approvalDto) { + + return R.ok(); + } + + private R explain(ApprovalDto approvalDto) { + + return R.ok(); + } + + + + public StaffEntity getDepartmentStaff(Map map, int level) { for (int i = 1; i < 6; i++) { String deparment = map.get("dd" + i ); diff --git a/src/main/resources/mapper/flow/FlowRecordMapper.xml b/src/main/resources/mapper/flow/FlowRecordMapper.xml index 5dab9091..fc67c2dc 100644 --- a/src/main/resources/mapper/flow/FlowRecordMapper.xml +++ b/src/main/resources/mapper/flow/FlowRecordMapper.xml @@ -222,7 +222,6 @@ order by r.gmt_modified desc - insert into lz_flow_record( department_level, @@ -261,5 +260,14 @@ + + + + + + +