|
|
@ -31,6 +31,7 @@ import com.alibaba.fastjson.JSON; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.yxt.anrui.base.common.utils.Rule; |
|
|
|
import com.yxt.anrui.flowable.api.flow.FlowProcessMapQuery; |
|
|
|
import com.yxt.anrui.flowable.api.flow.FlowableFeign; |
|
|
|
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; |
|
|
|
import com.yxt.anrui.flowable.api.flow2.FlowDelegateQuery; |
|
|
@ -53,6 +54,7 @@ import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.SubmitScmSpecialReb |
|
|
|
import com.yxt.anrui.scm.api.scmspecialrebatedistributedetail.ScmSpecialrebatedistributedetail; |
|
|
|
import com.yxt.anrui.scm.api.scmspecialrebatedistributedetail.ScmSpecialrebatedistributedetailDetailsVo; |
|
|
|
import com.yxt.anrui.scm.api.scmspecialrebatedistributedetail.ScmSpecialrebatedistributedetailDto; |
|
|
|
import com.yxt.anrui.scm.api.scmvehrebatecheckapply.ScmVehrebateCheckapply; |
|
|
|
import com.yxt.anrui.scm.biz.scmspecialrebate.ScmSpecialRebateService; |
|
|
|
import com.yxt.anrui.scm.biz.scmspecialrebatedistributedetail.ScmSpecialrebatedistributedetailService; |
|
|
|
import com.yxt.anrui.scm.biz.scmspecialrebatevehs.ScmSpecialrebateVehsService; |
|
|
@ -332,9 +334,16 @@ public class ScmSpecialrebatedistributeService extends MybatisBaseService<ScmSpe |
|
|
|
bv.setBusinessSid(businessSid); |
|
|
|
//用户sid
|
|
|
|
bv.setUserSid(dto.getCreateBySid()); |
|
|
|
bv.setFormVariables(variables); |
|
|
|
//流程定义id
|
|
|
|
bv.setModelId(ProcDefEnum.SCMSPECIALREBATECHEDISTRIBUTE.getProDefId()); |
|
|
|
//========================================
|
|
|
|
scmSpecialrebatedistribute = fetchBySid(businessSid); |
|
|
|
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery(); |
|
|
|
flowProcessMapQuery.setProDefKey(bv.getModelId()); |
|
|
|
flowProcessMapQuery.setVariables(variables); |
|
|
|
flowProcessMapQuery.setContractNo(scmSpecialrebatedistribute.getTitle()); |
|
|
|
variables = flowableFeign.getMap(flowProcessMapQuery).getData(); |
|
|
|
bv.setFormVariables(variables); |
|
|
|
if (r == 1) { |
|
|
|
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv); |
|
|
|
UpdateFlowFieldVo ufVo = voResultBean.getData(); |
|
|
@ -391,6 +400,15 @@ public class ScmSpecialrebatedistributeService extends MybatisBaseService<ScmSpe |
|
|
|
public ResultBean complete(BusinessVariables bv) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
ScmSpecialrebatedistribute scmSpecialrebatedistribute = fetchBySid(bv.getBusinessSid()); |
|
|
|
bv.setModelId(scmSpecialrebatedistribute.getProcDefId()); |
|
|
|
Map<String, Object> variables = new HashMap<>(); |
|
|
|
//========================================
|
|
|
|
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery(); |
|
|
|
flowProcessMapQuery.setProDefKey(bv.getModelId()); |
|
|
|
flowProcessMapQuery.setVariables(variables); |
|
|
|
flowProcessMapQuery.setContractNo(scmSpecialrebatedistribute.getTitle()); |
|
|
|
variables = flowableFeign.getMap(flowProcessMapQuery).getData(); |
|
|
|
bv.setFormVariables(variables); |
|
|
|
if (bv.getTaskId().equals(scmSpecialrebatedistribute.getTaskId())) { |
|
|
|
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
@ -441,6 +459,15 @@ public class ScmSpecialrebatedistributeService extends MybatisBaseService<ScmSpe |
|
|
|
if (businessTaskId.equals(query.getTaskId())) { |
|
|
|
com.yxt.anrui.flowable.api.flowtask.FlowTaskVo flowTaskVo = new com.yxt.anrui.flowable.api.flowtask.FlowTaskVo(); |
|
|
|
BeanUtil.copyProperties(query, flowTaskVo); |
|
|
|
Map<String, Object> variables = new HashMap<>(); |
|
|
|
//========================================
|
|
|
|
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery(); |
|
|
|
flowProcessMapQuery.setProDefKey(scmSpecialrebatedistribute.getProcDefId()); |
|
|
|
flowProcessMapQuery.setVariables(variables); |
|
|
|
flowProcessMapQuery.setContractNo(scmSpecialrebatedistribute.getTitle()); |
|
|
|
variables = flowableFeign.getMap(flowProcessMapQuery).getData(); |
|
|
|
//=======================================
|
|
|
|
flowTaskVo.setValues(variables); |
|
|
|
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
@ -465,7 +492,7 @@ public class ScmSpecialrebatedistributeService extends MybatisBaseService<ScmSpe |
|
|
|
ScmSpecialrebatedistribute scmSpecialrebatedistribute = fetchBySid(query.getBusinessSid()); |
|
|
|
String businessTaskId = scmSpecialrebatedistribute.getTaskId(); |
|
|
|
if (StringUtils.isNotBlank(businessTaskId)) { |
|
|
|
if (businessTaskId.equals(query.getTaskId())) { |
|
|
|
if (query.getUserSid().equals(scmSpecialrebatedistribute.getCreateBySid())) { |
|
|
|
com.yxt.anrui.flowable.api.flowtask.FlowTaskVo flowTaskVo = new com.yxt.anrui.flowable.api.flowtask.FlowTaskVo(); |
|
|
|
BeanUtil.copyProperties(query, flowTaskVo); |
|
|
|
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo); |
|
|
@ -475,6 +502,18 @@ public class ScmSpecialrebatedistributeService extends MybatisBaseService<ScmSpe |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); |
|
|
|
scmSpecialRebateService.updateState(query.getBusinessSid(), 4); |
|
|
|
return rb.success().setData(resultBean.getData()); |
|
|
|
}else { |
|
|
|
if (businessTaskId.equals(query.getTaskId())) { |
|
|
|
com.yxt.anrui.flowable.api.flowtask.FlowTaskVo flowTaskVo = new com.yxt.anrui.flowable.api.flowtask.FlowTaskVo(); |
|
|
|
BeanUtil.copyProperties(query, flowTaskVo); |
|
|
|
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
|
} |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); |
|
|
|
scmSpecialRebateService.updateState(query.getBusinessSid(), 4); |
|
|
|
return rb.success().setData(resultBean.getData()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.setMsg("操作失败!提交的数据不一致!"); |
|
|
@ -488,7 +527,17 @@ public class ScmSpecialrebatedistributeService extends MybatisBaseService<ScmSpe |
|
|
|
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail(); |
|
|
|
BusinessVariables bv = new BusinessVariables(); |
|
|
|
BeanUtil.copyProperties(query, bv); |
|
|
|
bv.setModelId(ProcDefEnum.SCMSPECIALREBATECHEDISTRIBUTE.getProDefId()); |
|
|
|
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
|
|
|
|
Map<String, Object> variables = new HashMap<>(); |
|
|
|
ScmSpecialrebatedistribute scmSpecialrebatedistribute = fetchBySid(bv.getBusinessSid()); |
|
|
|
bv.setModelId(scmSpecialrebatedistribute.getProcDefId()); |
|
|
|
//========================================
|
|
|
|
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery(); |
|
|
|
flowProcessMapQuery.setProDefKey(scmSpecialrebatedistribute.getProcDefId()); |
|
|
|
flowProcessMapQuery.setVariables(variables); |
|
|
|
flowProcessMapQuery.setContractNo(scmSpecialrebatedistribute.getTitle()); |
|
|
|
variables = flowableFeign.getMap(flowProcessMapQuery).getData(); |
|
|
|
bv.setFormVariables(variables); |
|
|
|
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); |
|
|
|
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
|
|
|
|
List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); |
|
|
@ -500,7 +549,17 @@ public class ScmSpecialrebatedistributeService extends MybatisBaseService<ScmSpe |
|
|
|
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail(); |
|
|
|
BusinessVariables bv = new BusinessVariables(); |
|
|
|
BeanUtil.copyProperties(query, bv); |
|
|
|
bv.setModelId(ProcDefEnum.SCMSPECIALREBATECHEDISTRIBUTE.getProDefId()); |
|
|
|
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
|
|
|
|
Map<String, Object> variables = new HashMap<>(); |
|
|
|
ScmSpecialrebatedistribute scmSpecialrebatedistribute = fetchBySid(bv.getBusinessSid()); |
|
|
|
bv.setModelId(scmSpecialrebatedistribute.getProcDefId()); |
|
|
|
//========================================
|
|
|
|
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery(); |
|
|
|
flowProcessMapQuery.setProDefKey(scmSpecialrebatedistribute.getProcDefId()); |
|
|
|
flowProcessMapQuery.setVariables(variables); |
|
|
|
flowProcessMapQuery.setContractNo(scmSpecialrebatedistribute.getTitle()); |
|
|
|
variables = flowableFeign.getMap(flowProcessMapQuery).getData(); |
|
|
|
bv.setFormVariables(variables); |
|
|
|
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv); |
|
|
|
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
|
|
|
|
List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); |
|
|
|