|
|
@ -7,8 +7,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.yxt.anrui.base.api.baseoutsourcingapplication.BaseOutsourcingApplicationDto; |
|
|
|
import com.yxt.anrui.base.api.baseoutsourcingapplication.SubmitBaseOutSourcingApplicationDto; |
|
|
|
import com.yxt.anrui.flowable.api.flow.FlowableFeign; |
|
|
|
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; |
|
|
|
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; |
|
|
|
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; |
|
|
|
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo; |
|
|
|
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFlowStateEnum; |
|
|
|
import com.yxt.anrui.flowable.api.utils.ProcDefEnum; |
|
|
@ -66,7 +66,6 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa |
|
|
|
private SysStaffOrgFeign sysStaffOrgFeign; |
|
|
|
@Autowired |
|
|
|
private FlowableFeign flowableFeign; |
|
|
|
// private FlowableService flowableService;
|
|
|
|
@Autowired |
|
|
|
private FlowTaskFeign flowTaskFeign; |
|
|
|
@Autowired |
|
|
@ -334,7 +333,6 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa |
|
|
|
return rb.setMsg("操作失败,提交的数据不一致!"); |
|
|
|
} |
|
|
|
//取组织架构的全路径sid
|
|
|
|
// SysStaffOrg sysStaffOrg = sysStaffOrgFeign.getOrgByStaffSid(dto.getApplicationSid()).getData();
|
|
|
|
String orgSidPath = dto.getOrgSidPath(); |
|
|
|
Map<String, Object> variables = BeanUtil.beanToMap(dto); |
|
|
|
BusinessVariables bv = new BusinessVariables(); |
|
|
@ -351,7 +349,6 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa |
|
|
|
ResultBean<UpdateFlowFieldVo> rrb = flowableFeign.handleProsess(bv); |
|
|
|
String taskDefKey = rrb.getData().getTaskDefKey(); |
|
|
|
updateFlowFiled(rrb.getData()); |
|
|
|
|
|
|
|
if("Event_end".equals(taskDefKey)){ |
|
|
|
List<ScmApplyInboundVehicleDto> vehicleList = dto.getVehicleList(); |
|
|
|
for(ScmApplyInboundVehicleDto scmApplyInboundVehicleDto:vehicleList){ |
|
|
@ -387,28 +384,21 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa |
|
|
|
*/ |
|
|
|
public ResultBean revokeProcess(String userSid, String businessSid, FlowTaskVo flowTaskVo) { |
|
|
|
com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl = new com.yxt.anrui.flowable.api.flowtask.FlowTaskVo(); |
|
|
|
BeanUtil.copyProperties(flowTaskVo, fl); |
|
|
|
fl.setUserSid(userSid); |
|
|
|
ResultBean<List<LatestTaskVo>> resultBean = flowTaskFeign.revokeProcess(fl); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
ScmApplyInbound booad = this.fetchBySid(businessSid); |
|
|
|
String businessTaskid = booad.getTaskId(); |
|
|
|
if (businessTaskid.equals(flowTaskVo.getTaskId())) { //只有数据一致的时候才能进行下一步
|
|
|
|
BeanUtil.copyProperties(flowTaskVo, fl); |
|
|
|
fl.setBusinessSid(flowTaskVo.getBusinessSid()); |
|
|
|
fl.setUserSid(flowTaskVo.getUserSid()); |
|
|
|
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.revokeProcess(fl); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return resultBean; |
|
|
|
} |
|
|
|
updateFlowFiled(resultBean.getData()); |
|
|
|
return resultBean; |
|
|
|
}else{ |
|
|
|
return ResultBean.fireFail().setMsg("操作失败,提交的数据不一致!"); |
|
|
|
} |
|
|
|
String nodeState = resultBean.getData().get(0).getName_(); |
|
|
|
String taskDefKey = resultBean.getData().get(0).getTask_def_key_(); |
|
|
|
String incomingSourceRef = resultBean.getData().get(0).getIncomingSourceRef(); |
|
|
|
Map<String, Object> paramMap = new HashMap<>(); |
|
|
|
paramMap.put("sid", businessSid); |
|
|
|
paramMap.put("taskId", resultBean.getData().get(0).getId_()); |
|
|
|
if (incomingSourceRef.contains("start")) { |
|
|
|
paramMap.put("nodeState", SysFormLinkFlowStateEnum.UNCOMMITTED.getState()); |
|
|
|
paramMap.put("taskDefKey", taskDefKey); |
|
|
|
paramMap.put("flowState", SysFormLinkFlowStateEnum.UNCOMMITTED.getCode()); |
|
|
|
} else { |
|
|
|
paramMap.put("nodeState", nodeState); |
|
|
|
paramMap.put("taskDefKey", taskDefKey); |
|
|
|
} |
|
|
|
updateFlowFiled(paramMap); |
|
|
|
return resultBean; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
@ -420,24 +410,21 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa |
|
|
|
*/ |
|
|
|
public ResultBean taskReject(String businessSid, FlowTaskVo flowTaskVo) { |
|
|
|
com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl = new com.yxt.anrui.flowable.api.flowtask.FlowTaskVo(); |
|
|
|
BeanUtil.copyProperties(flowTaskVo, fl); |
|
|
|
ResultBean<List<LatestTaskVo>> resultBean = flowTaskFeign.taskReject(fl); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return resultBean; |
|
|
|
} |
|
|
|
String nodeState = resultBean.getData().get(0).getName_(); |
|
|
|
String taskDefKey = resultBean.getData().get(0).getTask_def_key_(); |
|
|
|
String incomingSourceRef = resultBean.getData().get(0).getIncomingSourceRef(); |
|
|
|
Map<String, Object> paramMap = new HashMap<>(); |
|
|
|
paramMap.put("sid", businessSid); |
|
|
|
paramMap.put("taskId", resultBean.getData().get(0).getId_()); |
|
|
|
paramMap.put("nodeState", nodeState); |
|
|
|
paramMap.put("taskDefKey", taskDefKey); |
|
|
|
if (incomingSourceRef.contains("start")) { |
|
|
|
paramMap.put("flowState", SysFormLinkFlowStateEnum.REJECT.getCode()); |
|
|
|
ScmApplyInbound booad = this.fetchBySid(businessSid); |
|
|
|
String businessTaskid = booad.getTaskId(); |
|
|
|
if (businessTaskid.equals(flowTaskVo.getTaskId())) { //只有数据一致的时候才能进行下一步
|
|
|
|
BeanUtil.copyProperties(flowTaskVo, fl); |
|
|
|
fl.setBusinessSid(flowTaskVo.getBusinessSid()); |
|
|
|
fl.setUserSid(flowTaskVo.getUserSid()); |
|
|
|
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(fl); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return resultBean; |
|
|
|
} |
|
|
|
updateFlowFiled(resultBean.getData()); |
|
|
|
return resultBean; |
|
|
|
}else{ |
|
|
|
return ResultBean.fireFail().setMsg("操作失败,提交的数据不一致!"); |
|
|
|
} |
|
|
|
updateFlowFiled(paramMap); |
|
|
|
return resultBean; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
@ -449,18 +436,21 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa |
|
|
|
*/ |
|
|
|
public ResultBean breakProcess(String businessSid, FlowTaskVo flowTaskVo) { |
|
|
|
com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl = new com.yxt.anrui.flowable.api.flowtask.FlowTaskVo(); |
|
|
|
BeanUtil.copyProperties(flowTaskVo, fl); |
|
|
|
ResultBean resultBean = flowTaskFeign.breakProcess(fl); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
ScmApplyInbound booad = this.fetchBySid(businessSid); |
|
|
|
String businessTaskid = booad.getTaskId(); |
|
|
|
if (businessTaskid.equals(flowTaskVo.getTaskId())) { //只有数据一致的时候才能进行下一步
|
|
|
|
BeanUtil.copyProperties(flowTaskVo, fl); |
|
|
|
fl.setBusinessSid(flowTaskVo.getBusinessSid()); |
|
|
|
fl.setUserSid(flowTaskVo.getUserSid()); |
|
|
|
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(fl); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return resultBean; |
|
|
|
} |
|
|
|
updateFlowFiled(resultBean.getData()); |
|
|
|
return resultBean; |
|
|
|
}else{ |
|
|
|
return ResultBean.fireFail().setMsg("操作失败,提交的数据不一致!"); |
|
|
|
} |
|
|
|
Map<String, Object> paramMap = new HashMap<>(); |
|
|
|
paramMap.put("sid", businessSid); |
|
|
|
paramMap.put("nodeState",resultBean.getData()); |
|
|
|
paramMap.put("taskDefKey", "Event_end"); |
|
|
|
paramMap.put("flowState", SysFormLinkFlowStateEnum.BREAK.getCode()); |
|
|
|
updateFlowFiled(paramMap); |
|
|
|
return resultBean; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|