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 da9b9341..5a419324 100644 --- a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java +++ b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java @@ -254,6 +254,8 @@ public class ResultRecordController extends AbstractController { String target = "审批通过"; if (resultComment.getStatus() == 5) { target = "驳回"; + }else if (resultComment.getStatus() == 6){ + target = "申述"; } comment.setTarget(target); comment.setKeyResult(resultComment.getComment()); @@ -263,12 +265,14 @@ public class ResultRecordController extends AbstractController { String superStaff = recordAuthService.selectByStaffId(resultRecord.getStaffId()); int fileCount = recordFileService.selectRecordFileCountByRecordId(resultRecord.getId()); - if(resultRecord.getStaffId().equals(getUserId()) && StringUtil.in(resultRecord.getStatus() ,1,2,3,5)){ - auth.setSubmited(1); - List flowRecords = flowRecordService.selectFlowRecordByResultRecordIdType(req.getRecordResultId(),resultRecord.getType()); + if(resultRecord.getStaffId().equals(getUserId())){ + List flowRecords = flowRecordService.selectFlowRecordByResultRecordIdTypeStatus(req.getRecordResultId(),resultRecord.getType(),0); if(flowRecords!=null && flowRecords.size() == 2) { // 表示可以撤回 auth.setCancel(1); } + if(flowRecords!=null && flowRecords.size() >= 2){ + auth.setSubmited(1); + } } return R.ok() @@ -398,12 +402,12 @@ public class ResultRecordController extends AbstractController { } if(batchOpt == 3 ){ for (ResultRecord resultRecord : resultRecords) { - r = resultRecordService.reject(resultRecord,1); //更新驳回状态 + r = resultRecordService.approval(resultRecord.getId(), resultRecord.getCurrentApprovalStaffId(),null,false); if (!r.isSuccess()) { return r; } } - } else { + } else if(batchOpt == 4 ){ for (ResultRecord resultRecord : resultRecords) { List list = flowRecordService.selectFlowRecordByResultRecordIdType(resultRecord.getId(), 2); for (int i = list.size() - 1; i >= 0; i--) { 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 3da2c632..ccf2ec62 100644 --- a/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java @@ -46,4 +46,6 @@ public interface FlowRecordMapper extends BaseMapper { FlowRecord selectLastFlowNoStatusRecordByRecordId(@Param("recordId") Long recordId); List selectFlowRecordByResultRecordIdType(@Param("resultRecordId") Long resultRecordId, @Param("type") Integer type); + + List selectFlowRecordByResultRecordIdTypeStatus(@Param("recordResultId") Long recordResultId, @Param("type") Integer type, @Param("status") int 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 bf66f8a9..33055d1b 100644 --- a/src/main/java/com/lz/modules/flow/service/FlowRecordService.java +++ b/src/main/java/com/lz/modules/flow/service/FlowRecordService.java @@ -48,4 +48,6 @@ public interface FlowRecordService extends IService { FlowRecord selectLastFlowNoStatusRecordByRecordId(Long resultRecordId); List selectFlowRecordByResultRecordIdType(Long recordResultId, Integer type); + + List selectFlowRecordByResultRecordIdTypeStatus(Long recordResultId, Integer type, int 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 baaa9595..ccaf4b24 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 @@ -128,5 +128,10 @@ public class FlowRecordServiceImpl extends ServiceImpl selectFlowRecordByResultRecordIdTypeStatus(Long recordResultId, Integer type, int status) { + return flowRecordMapper.selectFlowRecordByResultRecordIdTypeStatus(recordResultId,type,status); + } + } diff --git a/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java b/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java index 9b1da890..b59f5e22 100644 --- a/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java +++ b/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java @@ -63,4 +63,6 @@ public interface ResultRecordMapper extends BaseMapper { ResultRecord selectResultRecordByStaffIdStatus(@Param("staffId") Long staffId, @Param("status") int status); List targetReportList(@Param("req")ReportListReq req, @Param("staffIds") List staffIds, @Param("page") IPage page); + + ResultRecord selectLastResultRecordByStaffIdType(@Param("staffId") Long staffId, @Param("type") int type); } \ No newline at end of file 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 540a4606..11101b50 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 @@ -90,7 +90,10 @@ public interface ResultRecordService extends IService { ResultRecord selectResultRecordByStaffIdStatus(Long staffId, int status); R reject( ResultRecord resultRecord,Integer status); + StaffEntity getApprovalStaff(ResultRecord resultRecord, String departmentLevel, List staffRoleDtos, Long roleId); DepartmentsStaffRelateEntity getLeaderDepartmentsStaffRelateEntity(Long staffId); + + ResultRecord selectLastResultRecordByStaffIdType(Long staffId, int type); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultDetailServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultDetailServiceImpl.java index d5d8afed..2b7dc8fe 100644 --- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultDetailServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultDetailServiceImpl.java @@ -4,14 +4,16 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.lz.common.utils.BigDecimalUtil; import com.lz.common.utils.Constant; -import com.lz.common.utils.StringUtil; import com.lz.modules.app.entity.StaffEntity; import com.lz.modules.app.resp.ResultDetailResp; import com.lz.modules.app.resp.Step; import com.lz.modules.app.service.DepartmentsService; import com.lz.modules.app.service.StaffService; import com.lz.modules.app.utils.t.TwoTuple; -import com.lz.modules.flow.entity.*; +import com.lz.modules.flow.entity.Flow; +import com.lz.modules.flow.entity.FlowDepartment; +import com.lz.modules.flow.entity.FlowRecord; +import com.lz.modules.flow.entity.FlowRelation; import com.lz.modules.flow.model.Auth; import com.lz.modules.flow.model.StaffRoleDto; import com.lz.modules.flow.service.*; @@ -257,14 +259,13 @@ public class ResultDetailServiceImpl extends ServiceImpl flowIndex - 1 ? flows.get(flowIndex - 1).getRoleId() : null; List staffRoleDtos = new ArrayList<>(); StaffEntity approvalStaff = resultRecordService.getApprovalStaff(resultRecord, departmentLevel, staffRoleDtos, roleId); roleNameMap.put(departmentLevel,approvalStaff.getName()); } } } - log.info("approvalList approval : " + Arrays.toString(approvalList.toArray()) + " roleNameMap : " + JSON.toJSONString(roleNameMap)); for (int i = flowIndex; i < flowIndex + 10; i++) { int index = resultRecordService.getDepartmentLevelIndex(flows, i); 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 82d34c42..39545756 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 @@ -324,6 +324,11 @@ public class ResultRecordServiceImpl extends ServiceImpl staffRoleDtos, Long roleId) { StaffEntity approvalStaff = null; @@ -616,8 +624,9 @@ public class ResultRecordServiceImpl extends ServiceImplpriority = #{priority} ,gmt_modified = now() - where id = #{id} + where id = #{id} limit 1 diff --git a/src/main/resources/mapper/app/ResultRecordMapper.xml b/src/main/resources/mapper/app/ResultRecordMapper.xml index 4a6ecc7a..b02e89d5 100644 --- a/src/main/resources/mapper/app/ResultRecordMapper.xml +++ b/src/main/resources/mapper/app/ResultRecordMapper.xml @@ -327,6 +327,9 @@ GROUP BY r.staff_id + diff --git a/src/main/resources/mapper/flow/FlowRecordMapper.xml b/src/main/resources/mapper/flow/FlowRecordMapper.xml index 15affb60..4d89b4c2 100644 --- a/src/main/resources/mapper/flow/FlowRecordMapper.xml +++ b/src/main/resources/mapper/flow/FlowRecordMapper.xml @@ -160,5 +160,11 @@ + + + +