Browse Source

修改

zhanglei
ligaode 3 days ago
parent
commit
02a9d6e6b6
  1. 450
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryallocatebill/WmsInventoryAllocateBillService.java

450
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryallocatebill/WmsInventoryAllocateBillService.java

@ -31,6 +31,7 @@ import com.yxt.wms.feign.portal.privilege.PrivilegeQuery;
import com.yxt.wms.feign.portal.sysorganization.SysOrganizationFeign;
import com.yxt.wms.feign.portal.sysorganization.SysOrganizationVo;
import com.yxt.wms.feign.portal.sysuser.SysUserFeign;
import com.yxt.wms.feign.portal.sysuserrole.SysUserRoleFeign;
import com.yxt.wms.utils.Rule;
import org.apache.tomcat.util.threads.ThreadPoolExecutor;
import org.springframework.beans.factory.annotation.Autowired;
@ -61,6 +62,8 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
private FlowFeign flowFeign;
@Autowired
private MessageFeign messageFeign;
@Autowired
private SysUserRoleFeign sysUserRoleFeign;
public PagerVo<WmsInventoryAllocateBillVoNew> listPageVo(PagerQuery<WmsInventoryAllocateBillQueryNew> pq) {
WmsInventoryAllocateBillQueryNew query = pq.getParams();
@ -210,7 +213,7 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
}
}
/**********************************************流程**************************************************/
/**********************************************调拨申请(集团内同一分公司两一级站间调拨)流程**************************************************/
public ResultBean submitApply(SubmitFlowDto dto) {
ResultBean rb = ResultBean.fireFail();
@ -231,6 +234,10 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
//判断发起人是否为配件主管
String createBySid = wmsInventoryAllocateBill.getCreateBySid();
List<String> list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777"));
//用户的部门全路径sid
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(wmsInventoryAllocateBill.getDeptSid()).getData();
if (sysOrganization != null) {
@ -241,7 +248,7 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
bv.setFormVariables(variables);
if (r == 1) {
//ToDo:流程定义id
bv.setModelId(ProcDefEnum.WMSINVENCHECKREPORT.getProDefId());
bv.setModelId(ProcDefEnum.WMSINVENTORYALLOCATEBILLTHREE.getProDefId());
ResultBean<UpdateFlowFieldVo> voResultBean = flowFeign.startProcess(bv);
if (!voResultBean.getSuccess()) {
return rb.setMsg(voResultBean.getMsg());
@ -321,6 +328,10 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
String businessSid = bv.getBusinessSid();
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(businessSid);
Map<String, Object> variables = new HashMap<>();
//判断发起人是否为配件主管
String createBySid = wmsInventoryAllocateBill.getCreateBySid();
List<String> list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777"));
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
@ -365,7 +376,14 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
ResultBean<List<FlowNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
//查询业务信息
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(query.getBusinessSid());
//判断发起人是否为配件主管
String createBySid = wmsInventoryAllocateBill.getCreateBySid();
List<String> list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777"));
bv.setModelId(wmsInventoryAllocateBill.getProcDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给TemplateApplyNodeVo
@ -377,7 +395,14 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
ResultBean<List<FlowNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
//查询业务信息
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(query.getBusinessSid());
//判断发起人是否为配件主管
String createBySid = wmsInventoryAllocateBill.getCreateBySid();
List<String> list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777"));
bv.setModelId(wmsInventoryAllocateBill.getProcDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给TemplateApplyNodeVo
@ -407,6 +432,11 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
//判断发起人是否为配件主管
String createBySid = wmsInventoryAllocateBill.getCreateBySid();
List<String> list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777"));
flowTaskVo.setValues(variables);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
@ -522,4 +552,420 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
flowFeign.assignTask(delegateQuery);
return rb.success();
}
/**********************************************调拨申请(集团内不同分公司两一级站间调拨)流程**************************************************/
public ResultBean submitApply2(SubmitFlowDto dto) {
ResultBean rb = ResultBean.fireFail();
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(dto.getSid());
int r = submitBusinessData(dto, wmsInventoryAllocateBill);
if (r == 3) {
return rb.setMsg("该申请不存在");
}
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
String businessSid = saveOrUpdateDto(dto);
wmsInventoryAllocateBill = fetchBySid(businessSid);
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
//用户的部门全路径sid
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(wmsInventoryAllocateBill.getDeptSid()).getData();
if (sysOrganization != null) {
bv.setOrgSidPath(sysOrganization.getOrgSidPath());
}
bv.setBusinessSid(businessSid);
bv.setUserSid(dto.getCreateBySid());
bv.setFormVariables(variables);
if (r == 1) {
//ToDo:流程定义id
bv.setModelId(ProcDefEnum.WMSINVENTORYALLOCATEBILLTWO.getProDefId());
ResultBean<UpdateFlowFieldVo> voResultBean = flowFeign.startProcess(bv);
if (!voResultBean.getSuccess()) {
return rb.setMsg(voResultBean.getMsg());
}
UpdateFlowFieldVo ufVo = voResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(ufVo));
wmsInventoryAllocateBill = fetchBySid(businessSid);
//==================================添加线程
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
WmsInventoryAllocateBill finalWmsInventoryAllocateBill = wmsInventoryAllocateBill;
Future future1 = pool.submit(() -> {
//极光推送
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("调拨申请");
messageFlowableQuery.setMsgContent(finalWmsInventoryAllocateBill.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("调拨申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
});
} catch (Exception e) {
e.printStackTrace();
}
//==================================添加线程
return voResultBean;
}
if (r == 2) {
// ToDo:驳回到发起人后再次提交
if (org.apache.commons.lang3.StringUtils.isBlank(dto.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
bv.setTaskId(wmsInventoryAllocateBill.getTaskId());
bv.setTaskDefKey(wmsInventoryAllocateBill.getNodeId());
bv.setComment("重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
}
return rb;
}
public ResultBean complete2(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
String businessSid = bv.getBusinessSid();
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(businessSid);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
bv.setFormVariables(variables);
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(wmsInventoryAllocateBill.getDeptSid()).getData();
if (sysOrganization != null) {
bv.setOrgSidPath(sysOrganization.getOrgSidPath());
}
bv.setModelId(wmsInventoryAllocateBill.getProcDefId());
if (bv.getTaskId().equals(wmsInventoryAllocateBill.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
} else {
//极光推送
wmsInventoryAllocateBill = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
messageFlowVo.setProcDefId(wmsInventoryAllocateBill.getProcDefId());
messageFlowVo.setProcInsId(wmsInventoryAllocateBill.getProcInstId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("调拨申请");
messageFlowableQuery.setMsgContent(wmsInventoryAllocateBill.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("调拨申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
}
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
}
public ResultBean<List<FlowNodeVo>> getPreviousNodesForReject2(FlowNodeQuery query) {
ResultBean<List<FlowNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(query.getBusinessSid());
bv.setModelId(wmsInventoryAllocateBill.getProcDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给TemplateApplyNodeVo
List<FlowNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FlowNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean<List<FlowNodeVo>> getNextNodesForSubmit2(FlowNodeQuery query) {
ResultBean<List<FlowNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(query.getBusinessSid());
bv.setModelId(wmsInventoryAllocateBill.getProcDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给TemplateApplyNodeVo
List<FlowNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FlowNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean taskReject2(FlowTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
String businessSid = query.getBusinessSid();
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(businessSid);
if (wmsInventoryAllocateBill == null) {
return rb.setMsg("该申请不存在");
}
String businessTaskId = wmsInventoryAllocateBill.getTaskId();
if (org.apache.commons.lang3.StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
if (org.apache.commons.lang3.StringUtils.isBlank(query.getComment())) {
return rb.setMsg("请填写意见");
}
if (org.apache.commons.lang3.StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
Map<String, Object> map = BeanUtil.beanToMap(ufVo);
//更新业务中的流程相关的参数
updateFlowFiled(map);
//极光推送
wmsInventoryAllocateBill = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
String procId = wmsInventoryAllocateBill.getProcInstId();
messageFlowVo.setProcInsId(procId);
messageFlowVo.setProcDefId(wmsInventoryAllocateBill.getProcDefId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("调拨申请");
ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(procId);
String nextName = listResultBean.getData().get(0).getName_();
String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_();
if ("发起申请".equals(nextName)) {
messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
} else {
messageFlowableQuery.setMsgContent(wmsInventoryAllocateBill.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
}
messageFlowableQuery.setMsgTitle("调拨申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
return rb.success();
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
/**********************************************调拨申请(自有、合作二级站间调拨)流程**************************************************/
public ResultBean submitApply3(SubmitFlowDto dto) {
ResultBean rb = ResultBean.fireFail();
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(dto.getSid());
int r = submitBusinessData(dto, wmsInventoryAllocateBill);
if (r == 3) {
return rb.setMsg("该申请不存在");
}
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
String businessSid = saveOrUpdateDto(dto);
wmsInventoryAllocateBill = fetchBySid(businessSid);
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
//用户的部门全路径sid
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(wmsInventoryAllocateBill.getDeptSid()).getData();
if (sysOrganization != null) {
bv.setOrgSidPath(sysOrganization.getOrgSidPath());
}
bv.setBusinessSid(businessSid);
bv.setUserSid(dto.getCreateBySid());
bv.setFormVariables(variables);
if (r == 1) {
//ToDo:流程定义id
bv.setModelId(ProcDefEnum.WMSINVENTORYALLOCATEBILLONE.getProDefId());
ResultBean<UpdateFlowFieldVo> voResultBean = flowFeign.startProcess(bv);
if (!voResultBean.getSuccess()) {
return rb.setMsg(voResultBean.getMsg());
}
UpdateFlowFieldVo ufVo = voResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(ufVo));
wmsInventoryAllocateBill = fetchBySid(businessSid);
//==================================添加线程
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
WmsInventoryAllocateBill finalWmsInventoryAllocateBill = wmsInventoryAllocateBill;
Future future1 = pool.submit(() -> {
//极光推送
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("调拨申请");
messageFlowableQuery.setMsgContent(finalWmsInventoryAllocateBill.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("调拨申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
});
} catch (Exception e) {
e.printStackTrace();
}
//==================================添加线程
return voResultBean;
}
if (r == 2) {
// ToDo:驳回到发起人后再次提交
if (org.apache.commons.lang3.StringUtils.isBlank(dto.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
bv.setTaskId(wmsInventoryAllocateBill.getTaskId());
bv.setTaskDefKey(wmsInventoryAllocateBill.getNodeId());
bv.setComment("重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
}
return rb;
}
public ResultBean complete3(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
String businessSid = bv.getBusinessSid();
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(businessSid);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
bv.setFormVariables(variables);
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(wmsInventoryAllocateBill.getDeptSid()).getData();
if (sysOrganization != null) {
bv.setOrgSidPath(sysOrganization.getOrgSidPath());
}
bv.setModelId(wmsInventoryAllocateBill.getProcDefId());
if (bv.getTaskId().equals(wmsInventoryAllocateBill.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
} else {
//极光推送
wmsInventoryAllocateBill = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
messageFlowVo.setProcDefId(wmsInventoryAllocateBill.getProcDefId());
messageFlowVo.setProcInsId(wmsInventoryAllocateBill.getProcInstId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("调拨申请");
messageFlowableQuery.setMsgContent(wmsInventoryAllocateBill.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("调拨申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
}
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
}
public ResultBean<List<FlowNodeVo>> getPreviousNodesForReject3(FlowNodeQuery query) {
ResultBean<List<FlowNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(query.getBusinessSid());
bv.setModelId(wmsInventoryAllocateBill.getProcDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给TemplateApplyNodeVo
List<FlowNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FlowNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean<List<FlowNodeVo>> getNextNodesForSubmit3(FlowNodeQuery query) {
ResultBean<List<FlowNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(query.getBusinessSid());
bv.setModelId(wmsInventoryAllocateBill.getProcDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给TemplateApplyNodeVo
List<FlowNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FlowNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean taskReject3(FlowTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
String businessSid = query.getBusinessSid();
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(businessSid);
if (wmsInventoryAllocateBill == null) {
return rb.setMsg("该申请不存在");
}
String businessTaskId = wmsInventoryAllocateBill.getTaskId();
if (org.apache.commons.lang3.StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
if (org.apache.commons.lang3.StringUtils.isBlank(query.getComment())) {
return rb.setMsg("请填写意见");
}
if (org.apache.commons.lang3.StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
Map<String, Object> map = BeanUtil.beanToMap(ufVo);
//更新业务中的流程相关的参数
updateFlowFiled(map);
//极光推送
wmsInventoryAllocateBill = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
String procId = wmsInventoryAllocateBill.getProcInstId();
messageFlowVo.setProcInsId(procId);
messageFlowVo.setProcDefId(wmsInventoryAllocateBill.getProcDefId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("调拨申请");
ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(procId);
String nextName = listResultBean.getData().get(0).getName_();
String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_();
if ("发起申请".equals(nextName)) {
messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
} else {
messageFlowableQuery.setMsgContent(wmsInventoryAllocateBill.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
}
messageFlowableQuery.setMsgTitle("调拨申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
return rb.success();
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
}

Loading…
Cancel
Save