提交修改
This commit is contained in:
parent
162c01b73b
commit
0836ce27be
@ -6,4 +6,5 @@ import lombok.Data;
|
||||
public class FlowDetailResp {
|
||||
private Long currentStaffId;
|
||||
private String staffName;
|
||||
private Long flowRecordId;
|
||||
}
|
||||
|
||||
@ -838,11 +838,16 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
||||
|
||||
switch (approvalDto.getStatus()) {
|
||||
case 1: //1 提交审批,审批通过
|
||||
return newSubmit(approvalDto);
|
||||
return newSubmit(approvalDto,null);
|
||||
case 2: //2 撤回
|
||||
return reSubmit(approvalDto);
|
||||
case 3: //3 催办
|
||||
return urge(approvalDto);
|
||||
case 4: //4 跳过
|
||||
if(approvalDto.getCurrentStaffId() == null){
|
||||
throw new RRException("currentStaffId 不能为空");
|
||||
}
|
||||
return skip(approvalDto);
|
||||
case 5: //5 驳回
|
||||
return newReject(approvalDto);
|
||||
case 6: //6 申述
|
||||
@ -861,89 +866,13 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public R newResultRecordList(RecordDetailDto recordDetailDto) {
|
||||
List<FlowRecord> flowRecords = flowRecordService.selectFlowRecordByResultRecordId(recordDetailDto.getResultRecordId());
|
||||
List<FlowRecordResp> flowRecordList = new ArrayList<>();
|
||||
int flowIndex = -1;
|
||||
for (FlowRecord flowRecord : flowRecords) {
|
||||
if (flowRecord.getFlowIndex().equals(flowIndex)) { //表示有重复数据
|
||||
FlowRecordResp lastResp = flowRecordList.get(flowRecordList.size() - 1);
|
||||
List<FlowRecord> mulFlowRecord = flowRecordService.selectFlowRecordByRecordIdFlowIndex(recordDetailDto.getResultRecordId(), flowIndex);
|
||||
FlowRecord fisrt = mulFlowRecord.get(0);
|
||||
int stepIndex = fisrt.getType();
|
||||
boolean flag0 = false;
|
||||
boolean flag1 = false;
|
||||
boolean flag2 = false;
|
||||
boolean flag4 = false;
|
||||
List<FlowDetailResp> flowDetailRespList = lastResp.getFlowDetailRespList();
|
||||
mySetFlowDetailRespList(flowDetailRespList, flowRecord);
|
||||
for (FlowRecord mul : mulFlowRecord) {
|
||||
if (mul.getStatus().equals(FlowRecordStatusEnums.UN_TO_STATUS.getStatus())) {
|
||||
flag0 = true;
|
||||
} else if (mul.getStatus().equals(FlowRecordStatusEnums.FINISHED_STATUS.getStatus())) {
|
||||
flag1 = true;
|
||||
} else if (mul.getStatus().equals(FlowRecordStatusEnums.CURRENT_FLOW_STATUS.getStatus())) {
|
||||
flag2 = true;
|
||||
} else if (mul.getStatus().equals(FlowRecordStatusEnums.SKIP_STATUS.getStatus())) {
|
||||
flag4 = true;
|
||||
}
|
||||
if(mul.getApprovalStaffId().equals(recordDetailDto.getLoginUserId())){
|
||||
lastResp.setStaffName(mul.getApprovalStaffName());
|
||||
}
|
||||
}
|
||||
if (stepIndex == 0 || stepIndex == 1) { // 依次
|
||||
if(flag0){
|
||||
lastResp.setStatus(0);
|
||||
}else if(flag1){
|
||||
lastResp.setStatus(1);
|
||||
}else if(flag2){
|
||||
lastResp.setStatus(1);
|
||||
}else if (flag4){
|
||||
lastResp.setStatus(4);
|
||||
}
|
||||
} else { //所有
|
||||
if(flag0){ //只要有 0 表示当前节点所有的为0
|
||||
lastResp.setStatus(0);
|
||||
}else if(flag2){ // 只要有 2 表示所有的结点停留在当前
|
||||
lastResp.setStatus(1);
|
||||
}else if(flag1){
|
||||
lastResp.setStatus(1); // 当前步骤中只存在1和4 ,那么当前结点肯定通过了
|
||||
}else if (flag4){
|
||||
lastResp.setStatus(4); // 当前步骤中所有的结点都跳过了
|
||||
}
|
||||
}
|
||||
continue;
|
||||
}
|
||||
FlowRecordResp resp = new FlowRecordResp();
|
||||
resp.setFlowName(flowRecord.getFlowName());
|
||||
resp.setStaffName(flowRecord.getApprovalStaffName());
|
||||
resp.setStatus(flowRecord.getStatus());
|
||||
|
||||
List<FlowDetailResp> flowDetailRespList = new ArrayList<>();
|
||||
mySetFlowDetailRespList(flowDetailRespList,flowRecord);
|
||||
|
||||
resp.setFlowDetailRespList(flowDetailRespList);
|
||||
flowRecordList.add(resp);
|
||||
flowIndex = flowRecord.getFlowIndex();
|
||||
}
|
||||
FlowRecordResp end = new FlowRecordResp();
|
||||
end.setFlowName("线束");
|
||||
flowRecordList.add(end);
|
||||
List<ResultComment> resultCommentList = resultCommentService.selectByRecordId(recordDetailDto.getResultRecordId());
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("flowRecordList", flowRecordList);
|
||||
map.put("resultCommentList", resultCommentList);
|
||||
return R.ok().put("data", map);
|
||||
private R skip(ApprovalDto approvalDto) {
|
||||
approvalDto.setLoginUserId(approvalDto.getCurrentStaffId());
|
||||
return newSubmit(approvalDto,FlowRecordStatusEnums.SKIP_STATUS.getStatus());
|
||||
}
|
||||
|
||||
public void mySetFlowDetailRespList(List<FlowDetailResp> flowDetailRespList ,FlowRecord flowRecord){
|
||||
FlowDetailResp flowDetailResp = new FlowDetailResp();
|
||||
flowDetailResp.setCurrentStaffId(flowRecord.getApprovalStaffId());
|
||||
flowDetailResp.setStaffName(flowRecord.getApprovalStaffName());
|
||||
flowDetailRespList.add(flowDetailResp);
|
||||
}
|
||||
private R transfer(ApprovalDto approvalDto) {
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@ -968,7 +897,7 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
||||
}
|
||||
}
|
||||
|
||||
private R newSubmit(ApprovalDto approvalDto) {
|
||||
private R newSubmit(ApprovalDto approvalDto,Integer finishedStatus) {
|
||||
ResultRecord resultRecord = resultRecordMapper.selectResultRecordById(approvalDto.getResultRecordId());
|
||||
if(approvalDto.getLoginUserId() == null){
|
||||
approvalDto.setLoginUserId(resultRecord.getCurrentApprovalStaffId());
|
||||
@ -978,13 +907,16 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
||||
log.info("流程己经结束");
|
||||
return R.ok("流程己经结束");
|
||||
}
|
||||
if(finishedStatus == null){
|
||||
finishedStatus = FlowRecordStatusEnums.FINISHED_STATUS.getStatus();
|
||||
}
|
||||
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());//当前审批己经完成
|
||||
flowRecord.setStatus(finishedStatus);//当前审批己经完成
|
||||
} else {
|
||||
flowRecord.setStatus(FlowRecordStatusEnums.OTHER_APPROVAL.getStatus()); //其他审批
|
||||
}
|
||||
@ -1001,14 +933,14 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
||||
currentFlowRecord = flowRecord;//当前流程 id
|
||||
}
|
||||
}
|
||||
currentFlowRecord.setStatus(FlowRecordStatusEnums.FINISHED_STATUS.getStatus());//当前审批己经完成
|
||||
currentFlowRecord.setStatus(finishedStatus);//当前审批己经完成
|
||||
flowRecordService.updateFlowRecordById(currentFlowRecord);
|
||||
if (flag) { //流程未向下走
|
||||
return R.ok("审批成功");
|
||||
return R.ok("恭喜您,审批成功");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
preFlowRecord.setStatus(FlowRecordStatusEnums.FINISHED_STATUS.getStatus());//流程己走
|
||||
preFlowRecord.setStatus(finishedStatus);//流程己走
|
||||
flowRecordService.updateFlowRecordById(preFlowRecord);
|
||||
}
|
||||
// 找到当前下一个节点为0的 flowIndex
|
||||
@ -1086,6 +1018,92 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public R newResultRecordList(RecordDetailDto recordDetailDto) {
|
||||
List<FlowRecord> flowRecords = flowRecordService.selectFlowRecordByResultRecordId(recordDetailDto.getResultRecordId());
|
||||
List<FlowRecordResp> flowRecordList = new ArrayList<>();
|
||||
int flowIndex = -1;
|
||||
for (FlowRecord flowRecord : flowRecords) {
|
||||
if (flowRecord.getFlowIndex().equals(flowIndex)) { //表示有重复数据
|
||||
FlowRecordResp lastResp = flowRecordList.get(flowRecordList.size() - 1);
|
||||
List<FlowRecord> mulFlowRecord = flowRecordService.selectFlowRecordByRecordIdFlowIndex(recordDetailDto.getResultRecordId(), flowIndex);
|
||||
FlowRecord fisrt = mulFlowRecord.get(0);
|
||||
int stepIndex = fisrt.getType();
|
||||
boolean flag0 = false;
|
||||
boolean flag1 = false;
|
||||
boolean flag2 = false;
|
||||
boolean flag4 = false;
|
||||
List<FlowDetailResp> flowDetailRespList = lastResp.getFlowDetailRespList();
|
||||
mySetFlowDetailRespList(flowDetailRespList, flowRecord);
|
||||
for (FlowRecord mul : mulFlowRecord) {
|
||||
if (mul.getStatus().equals(FlowRecordStatusEnums.UN_TO_STATUS.getStatus())) {
|
||||
flag0 = true;
|
||||
} else if (mul.getStatus().equals(FlowRecordStatusEnums.FINISHED_STATUS.getStatus())) {
|
||||
flag1 = true;
|
||||
} else if (mul.getStatus().equals(FlowRecordStatusEnums.CURRENT_FLOW_STATUS.getStatus())) {
|
||||
flag2 = true;
|
||||
} else if (mul.getStatus().equals(FlowRecordStatusEnums.SKIP_STATUS.getStatus())) {
|
||||
flag4 = true;
|
||||
}
|
||||
if(mul.getApprovalStaffId().equals(recordDetailDto.getLoginUserId())){
|
||||
lastResp.setStaffName(mul.getApprovalStaffName());
|
||||
}
|
||||
}
|
||||
if (stepIndex == 0 || stepIndex == 1) { // 依次
|
||||
if(flag0){
|
||||
lastResp.setStatus(0);
|
||||
}else if(flag1){
|
||||
lastResp.setStatus(1);
|
||||
}else if(flag2){
|
||||
lastResp.setStatus(1);
|
||||
}else if (flag4){
|
||||
lastResp.setStatus(4);
|
||||
}
|
||||
} else { //所有
|
||||
if(flag0){ //只要有 0 表示当前节点所有的为0
|
||||
lastResp.setStatus(0);
|
||||
}else if(flag2){ // 只要有 2 表示所有的结点停留在当前
|
||||
lastResp.setStatus(1);
|
||||
}else if(flag1){
|
||||
lastResp.setStatus(1); // 当前步骤中只存在1和4 ,那么当前结点肯定通过了
|
||||
}else if (flag4){
|
||||
lastResp.setStatus(4); // 当前步骤中所有的结点都跳过了
|
||||
}
|
||||
}
|
||||
continue;
|
||||
}
|
||||
FlowRecordResp resp = new FlowRecordResp();
|
||||
resp.setFlowName(flowRecord.getFlowName());
|
||||
resp.setStaffName(flowRecord.getApprovalStaffName());
|
||||
resp.setStatus(flowRecord.getStatus());
|
||||
|
||||
List<FlowDetailResp> flowDetailRespList = new ArrayList<>();
|
||||
mySetFlowDetailRespList(flowDetailRespList,flowRecord);
|
||||
|
||||
resp.setFlowDetailRespList(flowDetailRespList);
|
||||
flowRecordList.add(resp);
|
||||
flowIndex = flowRecord.getFlowIndex();
|
||||
}
|
||||
FlowRecordResp end = new FlowRecordResp();
|
||||
end.setFlowName("线束");
|
||||
flowRecordList.add(end);
|
||||
List<ResultComment> resultCommentList = resultCommentService.selectByRecordId(recordDetailDto.getResultRecordId());
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("flowRecordList", flowRecordList);
|
||||
map.put("resultCommentList", resultCommentList);
|
||||
return R.ok().put("data", map);
|
||||
}
|
||||
|
||||
|
||||
public void mySetFlowDetailRespList(List<FlowDetailResp> flowDetailRespList ,FlowRecord flowRecord){
|
||||
FlowDetailResp flowDetailResp = new FlowDetailResp();
|
||||
flowDetailResp.setCurrentStaffId(flowRecord.getApprovalStaffId());
|
||||
flowDetailResp.setStaffName(flowRecord.getApprovalStaffName());
|
||||
flowDetailResp.setFlowRecordId(flowRecord.getId());
|
||||
flowDetailRespList.add(flowDetailResp);
|
||||
}
|
||||
|
||||
public StaffEntity getDepartmentStaff(Long staffId, int level) {
|
||||
DepartManagers departManagers = staffService.findLeader( staffId, level);
|
||||
List<StaffEntity> staffEntities = departManagers.getManagers();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user