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 d41b266b..b5b0f867 100644 --- a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java +++ b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java @@ -709,7 +709,9 @@ public class ResultRecordController extends AbstractController { /** * 删除 */ - // http://localhost:8080/lz_management/user/lzresultrecord/new/approval?resultRecordId=215&status=1&loginUserId=825&comment=xxx&menuName=bbb + // 审批:http://localhost:8080/lz_management/user/lzresultrecord/new/approval?resultRecordId=215&status=1&loginUserId=825&comment=xxx&menuName=bbb + // 跳过:http://localhost:8080/lz_management/user/lzresultrecord/new/approval?resultRecordId=215&status=4&menuName=bbb&flowRecordId=360 + // 转交:http://localhost:8080/lz_management/user/lzresultrecord/new/approval?resultRecordId=215&status=8&menuName=bbb&flowRecordId=360&transferStaffId=294 @RequestMapping("/new/approval") public R approval(ApprovalDto approvalDto) { try { diff --git a/src/main/java/com/lz/modules/app/dto/ApprovalDto.java b/src/main/java/com/lz/modules/app/dto/ApprovalDto.java index b67720ce..f2ee7562 100644 --- a/src/main/java/com/lz/modules/app/dto/ApprovalDto.java +++ b/src/main/java/com/lz/modules/app/dto/ApprovalDto.java @@ -10,5 +10,5 @@ public class ApprovalDto { private String menuName; //按钮名称 private String comment; private Long transferStaffId; // 转交员工 id - private Long currentStaffId; //当前用户 id + private Long flowRecordId;// 流程 id } diff --git a/src/main/java/com/lz/modules/app/resp/FlowDetailResp.java b/src/main/java/com/lz/modules/app/resp/FlowDetailResp.java index 80a98625..7f957050 100644 --- a/src/main/java/com/lz/modules/app/resp/FlowDetailResp.java +++ b/src/main/java/com/lz/modules/app/resp/FlowDetailResp.java @@ -6,4 +6,5 @@ import lombok.Data; public class FlowDetailResp { private Long currentStaffId; private String staffName; + private Long flowRecordId; } diff --git a/src/main/java/com/lz/modules/flow/dao/EvaluationGroupMapper.java b/src/main/java/com/lz/modules/flow/dao/EvaluationGroupMapper.java index 728c362d..70e9424b 100644 --- a/src/main/java/com/lz/modules/flow/dao/EvaluationGroupMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/EvaluationGroupMapper.java @@ -40,4 +40,7 @@ public interface EvaluationGroupMapper extends BaseMapper { List selectEvaluationGroupByIds(@Param("ids") List ids); EvaluationGroup selectEvaluationGroupByName(@Param("name") String name); + + void deleteByIds(@Param("ids") List ids); + } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/EvaluationGroupService.java b/src/main/java/com/lz/modules/flow/service/EvaluationGroupService.java index 7c0820cd..37970d09 100644 --- a/src/main/java/com/lz/modules/flow/service/EvaluationGroupService.java +++ b/src/main/java/com/lz/modules/flow/service/EvaluationGroupService.java @@ -46,4 +46,6 @@ public interface EvaluationGroupService extends IService { EvaluationGroup selectEvaluationGroupByName(String name); //获取考核组里面所有参与的人员信息,去除重复,去除离职 List selectAllStaffSimpleInfoByGroupId(EvaluationGroup evaluationGroup); + + void deleteByIds(List ids); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/FlowChangeService.java b/src/main/java/com/lz/modules/flow/service/FlowChangeService.java index 253211e4..da1e5fb9 100644 --- a/src/main/java/com/lz/modules/flow/service/FlowChangeService.java +++ b/src/main/java/com/lz/modules/flow/service/FlowChangeService.java @@ -1,7 +1,9 @@ package com.lz.modules.flow.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.lz.modules.app.dto.ApprovalDto; import com.lz.modules.flow.entity.FlowChange; +import com.lz.modules.flow.entity.FlowRecord; /** *

@@ -30,4 +32,5 @@ public interface FlowChangeService extends IService { int deleteFlowChangeById(Long id); + void saveChange(ApprovalDto approvalDto, FlowRecord flowRecord, int i); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/impl/EvaluationGroupServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/EvaluationGroupServiceImpl.java index 6eaa0b06..97039d45 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/EvaluationGroupServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/EvaluationGroupServiceImpl.java @@ -213,4 +213,10 @@ public class EvaluationGroupServiceImpl extends ServiceImpl ids) { + evaluationGroupMapper.deleteByIds(ids); + } } diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowChangeServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowChangeServiceImpl.java index 77c2ceaa..73e5bdac 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowChangeServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowChangeServiceImpl.java @@ -1,9 +1,13 @@ package com.lz.modules.flow.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.lz.modules.app.dto.ApprovalDto; import com.lz.modules.flow.dao.FlowChangeMapper; import com.lz.modules.flow.entity.FlowChange; +import com.lz.modules.flow.entity.FlowRecord; import com.lz.modules.flow.service.FlowChangeService; +import com.lz.modules.sys.entity.app.ResultRecord; +import com.lz.modules.sys.service.app.ResultRecordService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -24,6 +28,9 @@ public class FlowChangeServiceImpl extends ServiceImpl staffIds; + +} diff --git a/src/main/java/com/lz/modules/performance/req/AssessDetailReq.java b/src/main/java/com/lz/modules/performance/req/AssessDetailReq.java index 90f5547b..aa7dd4fe 100644 --- a/src/main/java/com/lz/modules/performance/req/AssessDetailReq.java +++ b/src/main/java/com/lz/modules/performance/req/AssessDetailReq.java @@ -17,8 +17,8 @@ import java.util.List; @ApiModel("获取考核详情实体") public class AssessDetailReq extends BasePage{ //考勤组id - @ApiModelProperty(value = "考勤组ids",name = "evaluationIds") - private List evaluationIds; + @ApiModelProperty(value = "考勤组ids ,逗号隔开",name = "evaluationIds") + private String evaluationIds; //发起考核的id @ApiModelProperty(value = "发起考核的id",name = "startId") private Long startId; @@ -26,8 +26,8 @@ public class AssessDetailReq extends BasePage{ @ApiModelProperty(value = "员工名称",name = "staffName") private String staffName; //人员id数组 - @ApiModelProperty(value = "人员id数组",name = "staffIds") - private List staffIds; + @ApiModelProperty(value = "人员ids,逗号隔开",name = "staffIds") + private String staffIds; //状态 确认 执行 结果录入。。。 @ApiModelProperty(value = "状态 确认 执行 结果录入。。。",name = "flowProcess") private Integer flowProcess; diff --git a/src/main/java/com/lz/modules/performance/service/AssessManagerService.java b/src/main/java/com/lz/modules/performance/service/AssessManagerService.java index c81c29a6..9f5e49f3 100644 --- a/src/main/java/com/lz/modules/performance/service/AssessManagerService.java +++ b/src/main/java/com/lz/modules/performance/service/AssessManagerService.java @@ -2,6 +2,7 @@ package com.lz.modules.performance.service; import com.lz.common.utils.PageUtils; import com.lz.modules.flow.entity.FlowStart; +import com.lz.modules.performance.req.AssessChangeReq; import com.lz.modules.performance.req.AssessDetailReq; import com.lz.modules.performance.req.AssessListReq; @@ -18,4 +19,6 @@ public interface AssessManagerService { PageUtils assessDetail(AssessDetailReq req); void accessDelete(FlowStart flowStart); + + void assessChange(AssessChangeReq req); } diff --git a/src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java b/src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java index 69a36be5..682fa865 100644 --- a/src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java +++ b/src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java @@ -8,6 +8,7 @@ import com.lz.modules.flow.entity.EvaluationGroup; import com.lz.modules.flow.entity.FlowStart; import com.lz.modules.flow.service.EvaluationGroupService; import com.lz.modules.flow.service.EvaluationStartStaffService; +import com.lz.modules.performance.req.AssessChangeReq; import com.lz.modules.performance.req.AssessDetailReq; import com.lz.modules.performance.req.AssessListReq; import com.lz.modules.performance.res.AssessManagerDetailRes; @@ -21,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; +import java.util.function.Function; import java.util.stream.Collectors; /** @@ -83,7 +85,28 @@ public class AssessManagerServiceImpl implements AssessManagerService { public void accessDelete(FlowStart flowStart) { flowStart.setIsDelete(1); flowStartMapper.updateFlowStartById(flowStart); + String groupIds = flowStart.getGroupIds(); + if(StringUtil.isNotBlank(groupIds)){ + String[] split = groupIds.split(","); + List ids = Arrays.asList(split); + List collect = ids.stream().map(s -> Long.valueOf(s)).collect(Collectors.toList()); + evaluationGroupService.deleteByIds(collect); + } resultRecordMapper.batchDeleteByStartId(flowStart.getId()); return ; } + + + @Override + public void assessChange(AssessChangeReq req) { + + if(req.getChangeType() == 0){ + + + } + if(req.getChangeType() == 1){ + + } + + } } diff --git a/src/main/java/com/lz/modules/performance/service/impl/ChartResultServiceImpl.java b/src/main/java/com/lz/modules/performance/service/impl/ChartResultServiceImpl.java index cb2d9b91..4c7dd0f9 100644 --- a/src/main/java/com/lz/modules/performance/service/impl/ChartResultServiceImpl.java +++ b/src/main/java/com/lz/modules/performance/service/impl/ChartResultServiceImpl.java @@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.google.common.collect.Maps; import com.lz.common.utils.PageUtils; import com.lz.common.utils.StringUtil; +import com.lz.modules.app.entity.DepartmentsEntity; import com.lz.modules.app.entity.DepartmentsStaffRelateEntity; +import com.lz.modules.app.service.DepartmentsService; import com.lz.modules.app.service.DepartmentsStaffRelateService; import com.lz.modules.app.service.StaffService; import com.lz.modules.flow.dao.FlowStartMapper; @@ -50,6 +52,8 @@ public class ChartResultServiceImpl implements ChartResultService { private FlowStartService flowStartService; @Autowired private FlowStartMapper flowStartMapper; + @Autowired + private DepartmentsService departmentsService; @Override @@ -78,11 +82,18 @@ public class ChartResultServiceImpl implements ChartResultService { } data.add(res); - List strings = evaluationGroupService.selectAllStaffIdsByGroupId(3L); - List depstaff = this.countDepartmentAndStaffNum(strings); + FlowStart flowStart = flowStartMapper.selectFlowStartById(startId); + String[] split = flowStart.getGroupIds().split(","); + Set staffIds = new HashSet<>(); + for(String s:split){ + List strings = evaluationGroupService.selectAllStaffIdsByGroupId(Long.valueOf(s)); + staffIds.addAll(strings); + } + List all = new ArrayList<>(staffIds); + List depstaff = this.countDepartmentAndStaffNum(all); res = new ChartStatisticalRes(); res.setType(2); - res.setStatisticals(depstaff); + res.setStatisticals(buildDepStaffs(depstaff)); res.setDefaultTime(defaultTime); if(StringUtil.isNotBlank(defaultTime)){ res.setDefaultId(startId); @@ -191,4 +202,15 @@ public class ChartResultServiceImpl implements ChartResultService { } return data; } + + private List buildDepStaffs(List depStaffs){ + depStaffs.stream().forEach(chartStatistical -> { + String desc = chartStatistical.getDesc(); + DepartmentsEntity departmentsEntity = departmentsService.selectByDepartmentId(desc); + if(departmentsEntity!=null && StringUtil.isNotBlank(departmentsEntity.getDepartmentName())){ + chartStatistical.setDesc(departmentsEntity.getDepartmentName()); + } + }); + return depStaffs; + } } 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 75c41e56..680f395f 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 @@ -130,6 +130,9 @@ public class ResultRecordServiceImpl extends ServiceImpl flowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(approvalDto.getResultRecordId(), 1); + if(flowRecords!=null && flowRecords.size()>0){ + return R.error("领导己经审批,不能撤回"); + } + return newReject(approvalDto); + } + + public void comment(ApprovalDto approvalDto, FlowChart flowChart) { + StaffEntity staffEntity = staffService.selectStaffById(approvalDto.getLoginUserId()); + if (staffEntity != null) { + ResultComment resultComment = new ResultComment(); + resultComment.setComment(approvalDto.getComment()); + resultComment.setStaffName(staffEntity.getName()); + resultComment.setStaffId(staffEntity.getId()); + resultComment.setRecordId(approvalDto.getResultRecordId()); + resultComment.setOptDesc(approvalDto.getMenuName() + flowChart.getName()); + resultCommentService.insertResultComment(resultComment); + } + } + + private R newSubmit(ApprovalDto approvalDto,Integer finishedStatus) { + ResultRecord resultRecord = resultRecordMapper.selectResultRecordById(approvalDto.getResultRecordId()); + if(approvalDto.getLoginUserId() == null){ + approvalDto.setLoginUserId(resultRecord.getCurrentApprovalStaffId()); + } + List flowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(approvalDto.getResultRecordId(),2); + if(CollectionUtils.isEmpty(flowRecords)){ + log.info("流程己经结束"); + return R.ok("流程己经结束"); + } + if(finishedStatus == null){ + finishedStatus = FlowRecordStatusEnums.FINISHED_STATUS.getStatus(); + } + FlowRecord preFlowRecord = flowRecords.get(0); + int stepType = preFlowRecord.getType(); + if (flowRecords.size() > 1) { + if (stepType == 0 || stepType == 1) { //表示只要一个人通过就可以了 + for (FlowRecord flowRecord : flowRecords) { + if (flowRecord.getApprovalStaffId().equals(approvalDto.getLoginUserId())) { + flowRecord.setStatus(finishedStatus);//当前审批己经完成 + } else { + flowRecord.setStatus(FlowRecordStatusEnums.OTHER_APPROVAL.getStatus()); //其他审批 + } + flowRecordService.updateFlowRecordById(flowRecord); + } + } else { + boolean flag = false; + FlowRecord currentFlowRecord = null; + for (FlowRecord flowRecord : flowRecords) { + if (!flowRecord.getApprovalStaffId().equals(approvalDto.getLoginUserId()) + && flowRecord.getStatus().equals(FlowRecordStatusEnums.CURRENT_FLOW_STATUS.getStatus())) { + flag = true; + } else { + currentFlowRecord = flowRecord;//当前流程 id + } + } + currentFlowRecord.setStatus(finishedStatus);//当前审批己经完成 + flowRecordService.updateFlowRecordById(currentFlowRecord); + if (flag) { //流程未向下走 + return R.ok("恭喜您,审批成功"); + } + } + } else { + preFlowRecord.setStatus(finishedStatus);//流程己走 + flowRecordService.updateFlowRecordById(preFlowRecord); + } + // 找到当前下一个节点为0的 flowIndex + FlowRecord nextFlowRecord = flowRecordService.selectFlowRecordByRecordIdMinIdStatus(approvalDto.getResultRecordId(),preFlowRecord.getId(), 0); + if(nextFlowRecord == null){ + log.info("流程己经结束2"); + return R.ok("流程己经结束"); + } + List nextFlowRecords = flowRecordService.selectFlowRecordByRecordIdStatusFlowIndex(approvalDto.getResultRecordId(), 0, nextFlowRecord.getFlowIndex()); + if (CollectionUtils.isEmpty(nextFlowRecords)) { + log.info("流程己经结束3"); + return R.ok("流程己经结束"); + } + FlowRecord currentFlowRecord = nextFlowRecords.get(0); + for (FlowRecord flowRecord : nextFlowRecords) { + flowRecord.setStatus(FlowRecordStatusEnums.CURRENT_FLOW_STATUS.getStatus()); + flowRecordService.updateFlowRecordById(flowRecord); + } + FlowChart currentFlowChart = flowService.selectFlowChartByChartId(currentFlowRecord.getFlowId()); + resultRecord.setFlowProcess(currentFlowChart.getFlowProcess()); + resultRecord.setFlowStaffIdRole(nextFlowRecords.size() == 1 ? currentFlowRecord.getFlowStaffIdRole() : null); + resultRecord.setCurrentApprovalStaffId(nextFlowRecords.size() == 1 ? currentFlowRecord.getApprovalStaffId() : null); + resultRecord.setCurrentApprovalStaffName(nextFlowRecords.size() == 1 ? currentFlowRecord.getApprovalStaffName() : null); + resultRecordService.updateCoverResultRecordById(resultRecord); + return R.ok(); + } + + private R newReject(ApprovalDto approvalDto) { + List currentflowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(approvalDto.getResultRecordId(),FlowRecordStatusEnums.CURRENT_FLOW_STATUS.getStatus()); + if(currentflowRecords !=null && currentflowRecords.size() > 0 ){ + FlowRecord currentFlowRecord = currentflowRecords.get(0); + // 更新当前数据 + // 获取当前审批结点组 + List currentFlowRecords = flowRecordService.selectFlowRecordByRecordIdFlowIndex(approvalDto.getResultRecordId(), currentFlowRecord.getFlowIndex()); + for(FlowRecord flowRecord : currentFlowRecords){ + flowRecord.setStatus(FlowRecordStatusEnums.UN_TO_STATUS.getStatus()); + flowRecordService.updateFlowRecordById(flowRecord); + } + // 恢复之前数据 + // 获取之前审批过的结点 + FlowRecord preFlowRecord = flowRecordService.selectPreFlowRecordByRecordIdMaxIdStatus(approvalDto.getResultRecordId(), + currentFlowRecord.getId(),FlowRecordStatusEnums.FINISHED_STATUS.getStatus()); + if(preFlowRecord != null) { + // 获取之前审批结点组 + List flowRecords = flowRecordService.selectFlowRecordByRecordIdFlowIndex(approvalDto.getResultRecordId(), preFlowRecord.getFlowIndex()); + for (FlowRecord flowRecord : flowRecords) { + flowRecord.setStatus(FlowRecordStatusEnums.CURRENT_FLOW_STATUS.getStatus()); + flowRecordService.updateFlowRecordById(flowRecord); + } + + FlowRecord lastFlowRecord = flowRecords.get(0); + ResultRecord resultRecord = resultRecordMapper.selectResultRecordById(approvalDto.getResultRecordId()); + resultRecord.setCurrentApprovalStaffId(flowRecords.size() == 1 ? lastFlowRecord.getApprovalStaffId():null); + resultRecord.setCurrentApprovalStaffName(flowRecords.size() == 1 ?lastFlowRecord.getApprovalStaffName():null); + resultRecord.setFlowStaffIdRole(flowRecords.size() == 1 ?lastFlowRecord.getFlowStaffIdRole():null); + + FlowChart flowChart = flowService.selectFlowChartByChartId(lastFlowRecord.getFlowId()); + resultRecord.setFlowProcess(flowChart.getFlowProcess()); + resultRecordService.updateCoverResultRecordById(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()); + StaffEntity mySelf = staffService.selectStaffById(resultRecord.getStaffId()); + StaffEntity toSelf = staffService.selectStaffById(resultRecord.getCurrentApprovalStaffId()); + resultRecordService.sendWorkMSG(mySelf, toSelf, WorkMsgTypeEnum.URGING, 0L, 2); + } + return R.ok(); + } + + private R explain(ApprovalDto approvalDto) { + + return R.ok(); + } + @Override public R newResultRecordList(RecordDetailDto recordDetailDto) { List flowRecords = flowRecordService.selectFlowRecordByResultRecordId(recordDetailDto.getResultRecordId()); @@ -937,154 +1119,14 @@ public class ResultRecordServiceImpl extends ServiceImpl flowDetailRespList ,FlowRecord flowRecord){ FlowDetailResp flowDetailResp = new FlowDetailResp(); flowDetailResp.setCurrentStaffId(flowRecord.getApprovalStaffId()); flowDetailResp.setStaffName(flowRecord.getApprovalStaffName()); + flowDetailResp.setFlowRecordId(flowRecord.getId()); flowDetailRespList.add(flowDetailResp); } - private R transfer(ApprovalDto approvalDto) { - return null; - } - - private R reSubmit(ApprovalDto approvalDto) { - List flowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(approvalDto.getResultRecordId(), 1); - if(flowRecords!=null && flowRecords.size()>0){ - return R.error("领导己经审批,不能撤回"); - } - return newReject(approvalDto); - } - - public void comment(ApprovalDto approvalDto, FlowChart flowChart) { - StaffEntity staffEntity = staffService.selectStaffById(approvalDto.getLoginUserId()); - if (staffEntity != null) { - ResultComment resultComment = new ResultComment(); - resultComment.setComment(approvalDto.getComment()); - resultComment.setStaffName(staffEntity.getName()); - resultComment.setStaffId(staffEntity.getId()); - resultComment.setRecordId(approvalDto.getResultRecordId()); - resultComment.setOptDesc(approvalDto.getMenuName() + flowChart.getName()); - resultCommentService.insertResultComment(resultComment); - } - } - - private R newSubmit(ApprovalDto approvalDto) { - ResultRecord resultRecord = resultRecordMapper.selectResultRecordById(approvalDto.getResultRecordId()); - if(approvalDto.getLoginUserId() == null){ - approvalDto.setLoginUserId(resultRecord.getCurrentApprovalStaffId()); - } - List flowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(approvalDto.getResultRecordId(),2); - if(CollectionUtils.isEmpty(flowRecords)){ - log.info("流程己经结束"); - return R.ok("流程己经结束"); - } - FlowRecord preFlowRecord = flowRecords.get(0); - int stepType = preFlowRecord.getType(); - if (flowRecords != null && flowRecords.size() > 0) { - if (stepType == 0 || stepType == 1) { //表示只要一个人通过就可以了 - for (FlowRecord flowRecord : flowRecords) { - if (flowRecord.getApprovalStaffId().equals(approvalDto.getLoginUserId())) { - flowRecord.setStatus(FlowRecordStatusEnums.FINISHED_STATUS.getStatus());//当前审批己经完成 - } else { - flowRecord.setStatus(FlowRecordStatusEnums.OTHER_APPROVAL.getStatus()); //其他审批 - } - flowRecordService.updateFlowRecordById(flowRecord); - } - } else { - boolean flag = false; - FlowRecord currentFlowRecord = null; - for (FlowRecord flowRecord : flowRecords) { - if (!flowRecord.getApprovalStaffId().equals(approvalDto.getLoginUserId()) - && flowRecord.getStatus().equals(FlowRecordStatusEnums.CURRENT_FLOW_STATUS.getStatus())) { - flag = true; - } else { - currentFlowRecord = flowRecord;//当前流程 id - } - } - currentFlowRecord.setStatus(FlowRecordStatusEnums.FINISHED_STATUS.getStatus());//当前审批己经完成 - flowRecordService.updateFlowRecordById(currentFlowRecord); - if (flag) { //流程未向下走 - return R.ok("审批成功"); - } - } - } else { - preFlowRecord.setStatus(FlowRecordStatusEnums.FINISHED_STATUS.getStatus());//流程己走 - flowRecordService.updateFlowRecordById(preFlowRecord); - } - // 找到当前下一个节点为0的 flowIndex - FlowRecord nextFlowRecord = flowRecordService.selectFlowRecordByRecordIdMinIdStatus(approvalDto.getResultRecordId(),preFlowRecord.getId(), 0); - List nextFlowRecords = flowRecordService.selectFlowRecordByRecordIdStatusFlowIndex(approvalDto.getResultRecordId(), 0, nextFlowRecord.getFlowIndex()); - if (CollectionUtils.isEmpty(nextFlowRecords)) { - log.info("流程己经结束2"); - return R.ok("流程己经结束"); - } - FlowRecord currentFlowRecord = nextFlowRecords.get(0); - for (FlowRecord flowRecord : nextFlowRecords) { - flowRecord.setStatus(FlowRecordStatusEnums.CURRENT_FLOW_STATUS.getStatus()); - flowRecordService.updateFlowRecordById(flowRecord); - } - FlowChart currentFlowChart = flowService.selectFlowChartByChartId(currentFlowRecord.getFlowId()); - resultRecord.setFlowProcess(currentFlowChart.getFlowProcess()); - resultRecord.setFlowStaffIdRole(nextFlowRecords.size() == 1 ? currentFlowRecord.getFlowStaffIdRole() : null); - resultRecord.setCurrentApprovalStaffId(nextFlowRecords.size() == 1 ? currentFlowRecord.getApprovalStaffId() : null); - resultRecord.setCurrentApprovalStaffName(nextFlowRecords.size() == 1 ? currentFlowRecord.getApprovalStaffName() : null); - resultRecordService.updateCoverResultRecordById(resultRecord); - return R.ok(); - } - - - private R newReject(ApprovalDto approvalDto) { - List currentflowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(approvalDto.getResultRecordId(),FlowRecordStatusEnums.CURRENT_FLOW_STATUS.getStatus()); - if(currentflowRecords !=null && currentflowRecords.size() > 0 ){ - FlowRecord currentFlowRecord = currentflowRecords.get(0); - // 更新当前数据 - // 获取当前审批结点组 - List currentFlowRecords = flowRecordService.selectFlowRecordByRecordIdFlowIndex(approvalDto.getResultRecordId(), currentFlowRecord.getFlowIndex()); - for(FlowRecord flowRecord : currentFlowRecords){ - flowRecord.setStatus(FlowRecordStatusEnums.UN_TO_STATUS.getStatus()); - flowRecordService.updateFlowRecordById(flowRecord); - } - // 恢复之前数据 - // 获取之前审批过的结点 - FlowRecord preFlowRecord = flowRecordService.selectPreFlowRecordByRecordIdMaxIdStatus(approvalDto.getResultRecordId(), - currentFlowRecord.getId(),FlowRecordStatusEnums.FINISHED_STATUS.getStatus()); - if(preFlowRecord != null) { - // 获取之前审批结点组 - List flowRecords = flowRecordService.selectFlowRecordByRecordIdFlowIndex(approvalDto.getResultRecordId(), preFlowRecord.getFlowIndex()); - for (FlowRecord flowRecord : flowRecords) { - flowRecord.setStatus(FlowRecordStatusEnums.CURRENT_FLOW_STATUS.getStatus()); - flowRecordService.updateFlowRecordById(flowRecord); - } - - FlowRecord lastFlowRecord = flowRecords.get(0); - ResultRecord resultRecord = resultRecordMapper.selectResultRecordById(approvalDto.getResultRecordId()); - resultRecord.setCurrentApprovalStaffId(flowRecords.size() == 1 ? lastFlowRecord.getApprovalStaffId():null); - resultRecord.setCurrentApprovalStaffName(flowRecords.size() == 1 ?lastFlowRecord.getApprovalStaffName():null); - resultRecord.setFlowStaffIdRole(flowRecords.size() == 1 ?lastFlowRecord.getFlowStaffIdRole():null); - - FlowChart flowChart = flowService.selectFlowChartByChartId(lastFlowRecord.getFlowId()); - resultRecord.setFlowProcess(flowChart.getFlowProcess()); - resultRecordService.updateCoverResultRecordById(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()); - StaffEntity mySelf = staffService.selectStaffById(resultRecord.getStaffId()); - StaffEntity toSelf = staffService.selectStaffById(resultRecord.getCurrentApprovalStaffId()); - resultRecordService.sendWorkMSG(mySelf, toSelf, WorkMsgTypeEnum.URGING, 0L, 2); - } - return R.ok(); - } - - private R explain(ApprovalDto approvalDto) { - - return R.ok(); - } public StaffEntity getDepartmentStaff(Long staffId, int level) { DepartManagers departManagers = staffService.findLeader( staffId, level); diff --git a/src/main/resources/mapper/app/ResultRecordMapper.xml b/src/main/resources/mapper/app/ResultRecordMapper.xml index 9dfa922f..a7388485 100644 --- a/src/main/resources/mapper/app/ResultRecordMapper.xml +++ b/src/main/resources/mapper/app/ResultRecordMapper.xml @@ -388,9 +388,9 @@ ON r.start_id = s.start_id and r.staff_id = s.staff_id where r.is_delete = 0 and s.is_delete = 0 and r.start_id = #{req.startId} - + and r.evaluation_id in( - + #{evaluation_id} ) @@ -399,11 +399,11 @@ and r.flow_process = #{req.flowProcess} - and r.staff_name = #{req.staffName} + and r.staff_name LIKE CONCAT('%',#{req.staffName},'%') - + and r.staff_id in( - + #{staff_id} ) @@ -414,22 +414,22 @@ SELECT count(flow_process) num,flow_process as 'desc' from lz_result_record where is_delete=0 and start_id =#{req.startId} - - and evaluation_id in( - + + and r.evaluation_id in( + #{evaluation_id} ) - and flow_process = #{req.flowProcess} + and r.flow_process = #{req.flowProcess} - and staff_name = #{req.staffName} + and r.staff_name LIKE CONCAT('%',#{req.staffName},'%') - - and staff_id in( - + + and r.staff_id in( + #{staff_id} ) diff --git a/src/main/resources/mapper/flow/EvaluationGroupMapper.xml b/src/main/resources/mapper/flow/EvaluationGroupMapper.xml index 94b81d02..d4804e38 100644 --- a/src/main/resources/mapper/flow/EvaluationGroupMapper.xml +++ b/src/main/resources/mapper/flow/EvaluationGroupMapper.xml @@ -113,5 +113,13 @@ select * from lz_evaluation_group where name=#{name} and is_delete = 0 limit 1 + + update lz_evaluation_group set is_delete = 1 where is_delete=0 + and id in ( + + #{id} + + ) +