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")
|
@RequestMapping("/new/approval")
|
||||||
public R approval(ApprovalDto approvalDto) {
|
public R approval(ApprovalDto approvalDto) {
|
||||||
try {
|
try {
|
||||||
|
|||||||
@ -10,5 +10,5 @@ public class ApprovalDto {
|
|||||||
private String menuName; //按钮名称
|
private String menuName; //按钮名称
|
||||||
private String comment;
|
private String comment;
|
||||||
private Long transferStaffId; // 转交员工 id
|
private Long transferStaffId; // 转交员工 id
|
||||||
private Long currentStaffId; //当前用户 id
|
private Long flowRecordId;// 流程 id
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,9 @@
|
|||||||
package com.lz.modules.flow.service;
|
package com.lz.modules.flow.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
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.FlowChange;
|
||||||
|
import com.lz.modules.flow.entity.FlowRecord;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@ -30,4 +32,5 @@ public interface FlowChangeService extends IService<FlowChange> {
|
|||||||
int deleteFlowChangeById(Long id);
|
int deleteFlowChangeById(Long id);
|
||||||
|
|
||||||
|
|
||||||
|
void saveChange(ApprovalDto approvalDto, FlowRecord flowRecord, int i);
|
||||||
}
|
}
|
||||||
@ -1,9 +1,13 @@
|
|||||||
package com.lz.modules.flow.service.impl;
|
package com.lz.modules.flow.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
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.dao.FlowChangeMapper;
|
||||||
import com.lz.modules.flow.entity.FlowChange;
|
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.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.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@ -24,6 +28,9 @@ public class FlowChangeServiceImpl extends ServiceImpl<FlowChangeMapper, FlowCha
|
|||||||
private FlowChangeMapper flowChangeMapper;
|
private FlowChangeMapper flowChangeMapper;
|
||||||
|
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ResultRecordService resultRecordService;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public FlowChange selectFlowChangeById(Long id){
|
public FlowChange selectFlowChangeById(Long id){
|
||||||
@ -58,6 +65,19 @@ public class FlowChangeServiceImpl extends ServiceImpl<FlowChangeMapper, FlowCha
|
|||||||
return flowChangeMapper.deleteFlowChangeById(id);
|
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
|
@Autowired
|
||||||
private FlowChartService flowChartService;
|
private FlowChartService flowChartService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private FlowChangeService flowChangeService;
|
||||||
|
|
||||||
@Value("${dingtalk.appid}")
|
@Value("${dingtalk.appid}")
|
||||||
private String appid;
|
private String appid;
|
||||||
|
|
||||||
@ -844,7 +847,7 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
|||||||
case 3: //3 催办
|
case 3: //3 催办
|
||||||
return urge(approvalDto);
|
return urge(approvalDto);
|
||||||
case 4: //4 跳过
|
case 4: //4 跳过
|
||||||
if(approvalDto.getCurrentStaffId() == null){
|
if(approvalDto.getFlowRecordId() == null){
|
||||||
throw new RRException("currentStaffId 不能为空");
|
throw new RRException("currentStaffId 不能为空");
|
||||||
}
|
}
|
||||||
return skip(approvalDto);
|
return skip(approvalDto);
|
||||||
@ -856,7 +859,7 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
|||||||
if (approvalDto.getTransferStaffId() == null) {
|
if (approvalDto.getTransferStaffId() == null) {
|
||||||
throw new RRException("transferStaffId 不能为空");
|
throw new RRException("transferStaffId 不能为空");
|
||||||
}
|
}
|
||||||
if(approvalDto.getCurrentStaffId() == null){
|
if(approvalDto.getFlowRecordId() == null){
|
||||||
throw new RRException("currentStaffId 不能为空");
|
throw new RRException("currentStaffId 不能为空");
|
||||||
}
|
}
|
||||||
return transfer(approvalDto);
|
return transfer(approvalDto);
|
||||||
@ -867,15 +870,33 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
|||||||
}
|
}
|
||||||
|
|
||||||
private R skip(ApprovalDto approvalDto) {
|
private R skip(ApprovalDto approvalDto) {
|
||||||
approvalDto.setLoginUserId(approvalDto.getCurrentStaffId());
|
FlowRecord flowRecord = flowRecordService.selectFlowRecordById(approvalDto.getFlowRecordId());
|
||||||
return newSubmit(approvalDto,FlowRecordStatusEnums.SKIP_STATUS.getStatus());
|
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) {
|
private R transfer(ApprovalDto approvalDto) {
|
||||||
|
FlowRecord flowRecord = flowRecordService.selectFlowRecordById(approvalDto.getFlowRecordId());
|
||||||
return null;
|
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) {
|
private R reSubmit(ApprovalDto approvalDto) {
|
||||||
List<FlowRecord> flowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(approvalDto.getResultRecordId(), 1);
|
List<FlowRecord> flowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(approvalDto.getResultRecordId(), 1);
|
||||||
if(flowRecords!=null && flowRecords.size()>0){
|
if(flowRecords!=null && flowRecords.size()>0){
|
||||||
@ -912,7 +933,7 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
|||||||
}
|
}
|
||||||
FlowRecord preFlowRecord = flowRecords.get(0);
|
FlowRecord preFlowRecord = flowRecords.get(0);
|
||||||
int stepType = preFlowRecord.getType();
|
int stepType = preFlowRecord.getType();
|
||||||
if (flowRecords != null && flowRecords.size() > 0) {
|
if (flowRecords.size() > 1) {
|
||||||
if (stepType == 0 || stepType == 1) { //表示只要一个人通过就可以了
|
if (stepType == 0 || stepType == 1) { //表示只要一个人通过就可以了
|
||||||
for (FlowRecord flowRecord : flowRecords) {
|
for (FlowRecord flowRecord : flowRecords) {
|
||||||
if (flowRecord.getApprovalStaffId().equals(approvalDto.getLoginUserId())) {
|
if (flowRecord.getApprovalStaffId().equals(approvalDto.getLoginUserId())) {
|
||||||
@ -945,9 +966,13 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
|||||||
}
|
}
|
||||||
// 找到当前下一个节点为0的 flowIndex
|
// 找到当前下一个节点为0的 flowIndex
|
||||||
FlowRecord nextFlowRecord = flowRecordService.selectFlowRecordByRecordIdMinIdStatus(approvalDto.getResultRecordId(),preFlowRecord.getId(), 0);
|
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());
|
List<FlowRecord> nextFlowRecords = flowRecordService.selectFlowRecordByRecordIdStatusFlowIndex(approvalDto.getResultRecordId(), 0, nextFlowRecord.getFlowIndex());
|
||||||
if (CollectionUtils.isEmpty(nextFlowRecords)) {
|
if (CollectionUtils.isEmpty(nextFlowRecords)) {
|
||||||
log.info("流程己经结束2");
|
log.info("流程己经结束3");
|
||||||
return R.ok("流程己经结束");
|
return R.ok("流程己经结束");
|
||||||
}
|
}
|
||||||
FlowRecord currentFlowRecord = nextFlowRecords.get(0);
|
FlowRecord currentFlowRecord = nextFlowRecords.get(0);
|
||||||
@ -964,7 +989,6 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
|||||||
return R.ok();
|
return R.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private R newReject(ApprovalDto approvalDto) {
|
private R newReject(ApprovalDto approvalDto) {
|
||||||
List<FlowRecord> currentflowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(approvalDto.getResultRecordId(),FlowRecordStatusEnums.CURRENT_FLOW_STATUS.getStatus());
|
List<FlowRecord> currentflowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(approvalDto.getResultRecordId(),FlowRecordStatusEnums.CURRENT_FLOW_STATUS.getStatus());
|
||||||
if(currentflowRecords !=null && currentflowRecords.size() > 0 ){
|
if(currentflowRecords !=null && currentflowRecords.size() > 0 ){
|
||||||
@ -1018,7 +1042,6 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
|||||||
return R.ok();
|
return R.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public R newResultRecordList(RecordDetailDto recordDetailDto) {
|
public R newResultRecordList(RecordDetailDto recordDetailDto) {
|
||||||
List<FlowRecord> flowRecords = flowRecordService.selectFlowRecordByResultRecordId(recordDetailDto.getResultRecordId());
|
List<FlowRecord> flowRecords = flowRecordService.selectFlowRecordByResultRecordId(recordDetailDto.getResultRecordId());
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user