rjuq whnt
This commit is contained in:
parent
8d7cb7dc39
commit
184cd5d8e6
@ -672,7 +672,8 @@ 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
|
||||
@RequestMapping("/new/approval")
|
||||
public R approval(ApprovalDto approvalDto) {
|
||||
try {
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@ -30,4 +32,5 @@ public interface FlowChangeService extends IService<FlowChange> {
|
||||
int deleteFlowChangeById(Long id);
|
||||
|
||||
|
||||
void saveChange(ApprovalDto approvalDto, FlowRecord flowRecord, int i);
|
||||
}
|
||||
@ -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<FlowChangeMapper, FlowCha
|
||||
private FlowChangeMapper flowChangeMapper;
|
||||
|
||||
|
||||
@Autowired
|
||||
private ResultRecordService resultRecordService;
|
||||
|
||||
|
||||
@Override
|
||||
public FlowChange selectFlowChangeById(Long id){
|
||||
@ -58,6 +65,19 @@ public class FlowChangeServiceImpl extends ServiceImpl<FlowChangeMapper, FlowCha
|
||||
return flowChangeMapper.deleteFlowChangeById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveChange(ApprovalDto approvalDto, FlowRecord flowRecord, int type) {
|
||||
FlowChange flowChange = new FlowChange();
|
||||
flowChange.setApprovalId(flowRecord.getApprovalStaffId());
|
||||
flowChange.setToApprovalId(approvalDto.getTransferStaffId());
|
||||
flowChange.setOptId(approvalDto.getLoginUserId());
|
||||
flowChange.setFlowRecordId(approvalDto.getFlowRecordId());
|
||||
flowChange.setFlowRecordId(flowRecord.getRecordId());
|
||||
ResultRecord resultRecord = resultRecordService.selectResultRecordById(flowRecord.getRecordId());
|
||||
flowChange.setStaffId(resultRecord.getStaffId());
|
||||
flowChange.setType(type);
|
||||
flowChangeMapper.insertFlowChange(flowChange);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -130,6 +130,9 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
||||
@Autowired
|
||||
private FlowChartService flowChartService;
|
||||
|
||||
@Autowired
|
||||
private FlowChangeService flowChangeService;
|
||||
|
||||
@Value("${dingtalk.appid}")
|
||||
private String appid;
|
||||
|
||||
@ -844,7 +847,7 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
||||
case 3: //3 催办
|
||||
return urge(approvalDto);
|
||||
case 4: //4 跳过
|
||||
if(approvalDto.getCurrentStaffId() == null){
|
||||
if(approvalDto.getFlowRecordId() == null){
|
||||
throw new RRException("currentStaffId 不能为空");
|
||||
}
|
||||
return skip(approvalDto);
|
||||
@ -856,7 +859,7 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
||||
if (approvalDto.getTransferStaffId() == null) {
|
||||
throw new RRException("transferStaffId 不能为空");
|
||||
}
|
||||
if(approvalDto.getCurrentStaffId() == null){
|
||||
if(approvalDto.getFlowRecordId() == null){
|
||||
throw new RRException("currentStaffId 不能为空");
|
||||
}
|
||||
return transfer(approvalDto);
|
||||
@ -867,15 +870,33 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
||||
}
|
||||
|
||||
private R skip(ApprovalDto approvalDto) {
|
||||
approvalDto.setLoginUserId(approvalDto.getCurrentStaffId());
|
||||
return newSubmit(approvalDto,FlowRecordStatusEnums.SKIP_STATUS.getStatus());
|
||||
FlowRecord flowRecord = flowRecordService.selectFlowRecordById(approvalDto.getFlowRecordId());
|
||||
if(flowRecord.getStatus().equals(FlowRecordStatusEnums.FINISHED_STATUS.getStatus())
|
||||
|| flowRecord.getStatus().equals(FlowRecordStatusEnums.OTHER_APPROVAL.getStatus())){
|
||||
return R.ok("流程己经走了,无法跳过 " );
|
||||
}
|
||||
|
||||
if(flowRecord.getStatus().equals(FlowRecordStatusEnums.UN_TO_STATUS.getStatus())){ // 如果当前没有审批
|
||||
flowRecord.setStatus(FlowRecordStatusEnums.SKIP_STATUS.getStatus());
|
||||
flowRecordService.updateFlowRecordById(flowRecord);
|
||||
}else if (flowRecord.getStatus().equals(FlowRecordStatusEnums.CURRENT_FLOW_STATUS.getStatus())){ //如果当前正在审批中
|
||||
approvalDto.setLoginUserId(flowRecord.getApprovalStaffId());
|
||||
newSubmit(approvalDto,FlowRecordStatusEnums.SKIP_STATUS.getStatus());
|
||||
}
|
||||
flowChangeService.saveChange(approvalDto, flowRecord, 0);
|
||||
return R.ok("恭喜您,跳过成功。");
|
||||
}
|
||||
|
||||
private R transfer(ApprovalDto approvalDto) {
|
||||
|
||||
return null;
|
||||
FlowRecord flowRecord = flowRecordService.selectFlowRecordById(approvalDto.getFlowRecordId());
|
||||
StaffEntity staffEntity = staffService.selectStaffById(approvalDto.getTransferStaffId());
|
||||
flowRecord.setApprovalStaffId(staffEntity.getId());
|
||||
flowRecord.setApprovalStaffName(staffEntity.getName());
|
||||
flowChangeService.saveChange(approvalDto, flowRecord, 1);
|
||||
return R.ok("跳过成功");
|
||||
}
|
||||
|
||||
|
||||
private R reSubmit(ApprovalDto approvalDto) {
|
||||
List<FlowRecord> flowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(approvalDto.getResultRecordId(), 1);
|
||||
if(flowRecords!=null && flowRecords.size()>0){
|
||||
@ -912,7 +933,7 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
||||
}
|
||||
FlowRecord preFlowRecord = flowRecords.get(0);
|
||||
int stepType = preFlowRecord.getType();
|
||||
if (flowRecords != null && flowRecords.size() > 0) {
|
||||
if (flowRecords.size() > 1) {
|
||||
if (stepType == 0 || stepType == 1) { //表示只要一个人通过就可以了
|
||||
for (FlowRecord flowRecord : flowRecords) {
|
||||
if (flowRecord.getApprovalStaffId().equals(approvalDto.getLoginUserId())) {
|
||||
@ -945,9 +966,13 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
||||
}
|
||||
// 找到当前下一个节点为0的 flowIndex
|
||||
FlowRecord nextFlowRecord = flowRecordService.selectFlowRecordByRecordIdMinIdStatus(approvalDto.getResultRecordId(),preFlowRecord.getId(), 0);
|
||||
if(nextFlowRecord == null){
|
||||
log.info("流程己经结束2");
|
||||
return R.ok("流程己经结束");
|
||||
}
|
||||
List<FlowRecord> nextFlowRecords = flowRecordService.selectFlowRecordByRecordIdStatusFlowIndex(approvalDto.getResultRecordId(), 0, nextFlowRecord.getFlowIndex());
|
||||
if (CollectionUtils.isEmpty(nextFlowRecords)) {
|
||||
log.info("流程己经结束2");
|
||||
log.info("流程己经结束3");
|
||||
return R.ok("流程己经结束");
|
||||
}
|
||||
FlowRecord currentFlowRecord = nextFlowRecords.get(0);
|
||||
@ -964,7 +989,6 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
private R newReject(ApprovalDto approvalDto) {
|
||||
List<FlowRecord> currentflowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(approvalDto.getResultRecordId(),FlowRecordStatusEnums.CURRENT_FLOW_STATUS.getStatus());
|
||||
if(currentflowRecords !=null && currentflowRecords.size() > 0 ){
|
||||
@ -1018,7 +1042,6 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public R newResultRecordList(RecordDetailDto recordDetailDto) {
|
||||
List<FlowRecord> flowRecords = flowRecordService.selectFlowRecordByResultRecordId(recordDetailDto.getResultRecordId());
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user