diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchaseFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchaseFeign.java index 2503e32295..0145b51b25 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchaseFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchaseFeign.java @@ -99,6 +99,10 @@ public interface BaseInternalPurchaseFeign { @PostMapping("/InitiatorToAnswer") public ResultBean InitiatorToAnswer(@Valid @RequestBody BaseInterNalPurchaseCompleteDto bvd); + @ApiOperation(value = "办理(同意)") + @PostMapping("/companyToDivisionOperate") + public ResultBean companyToDivisionOperate(@Valid @RequestBody BaseInterNalPurchaseCompleteDto bvd); + @ApiOperation(value = "获取下一个环节") @GetMapping(value = "/getNextNodesForSubmit") ResultBean getNextNodesForSubmit(@Valid @SpringQueryMap GetNextNodeDto query); diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchaseFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchaseFeignFallback.java index ff51cdcc4c..2174727b91 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchaseFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchaseFeignFallback.java @@ -90,6 +90,11 @@ public class BaseInternalPurchaseFeignFallback implements BaseInternalPurchaseFe return null; } + @Override + public ResultBean companyToDivisionOperate(BaseInterNalPurchaseCompleteDto bvd) { + return null; + } + @Override public ResultBean getNextNodesForSubmit(GetNextNodeDto query) { return null; diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseRest.java index 7f04b3c2ae..249d442150 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseRest.java @@ -116,6 +116,14 @@ public class BaseInternalPurchaseRest implements BaseInternalPurchaseFeign { return baseInternalPurchaseService.InitiatorToAnswer(bv); } + @Override + public ResultBean companyToDivisionOperate(BaseInterNalPurchaseCompleteDto bvd) { + BusinessVariables bv=new BusinessVariables(); + BeanUtil.copyProperties(bvd,bv); + bv.setModelId(ProcDefEnum.BASEINTERNALPURCHASE.getProDefId()); + return baseInternalPurchaseService.companyToDivisionOperate(bv); + } + @Override public ResultBean getNextNodesForSubmit(GetNextNodeDto gnnd) { return baseInternalPurchaseService.getNextNodesForSubmit(gnnd); diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseService.java index f7a66a372e..546b82b4ce 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseService.java @@ -444,6 +444,41 @@ public class BaseInternalPurchaseService extends MybatisBaseService>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); + List candidateGroups = voList.get(0).getCandidateGroups(); + UserQuery userQuery = new UserQuery(); + userQuery.setRoleSid(candidateGroups.get(0)); + userQuery.setOrgSidPath(""); + List sysUserVos = sysUserFeign.getUserByRole(userQuery).getData(); + StringBuilder nextNodeUserSids = new StringBuilder(); + if (sysUserVos.size() > 0) { + for (SysUserVo sysUserVo : sysUserVos) { + String sid = sysUserVo.getSid(); + nextNodeUserSids.append(sid).append(","); + } + } + if (StringUtils.isBlank(nextNodeUserSids)){ + return rb.setMsg("下一环节暂无操作人员"); + } + String substring = nextNodeUserSids.substring(0, nextNodeUserSids.lastIndexOf(",")); + bv.setNextNodeUserSids(substring); + if (bv.getTaskId().equals(baseInternalPurchase.getTaskId())) { + ResultBean resultBean1 = flowableFeign.handleProsess(bv); + if (!resultBean1.getSuccess()) { + return rb.setMsg(resultBean1.getMsg()); + } + updateFlowFiled(BeanUtil.beanToMap(resultBean1.getData())); + return rb.success().setData(resultBean1.getData()); + } else { + return rb.setMsg("操作失败!提交的数据不一致"); + } + } + public ResultBean getNextNodesForSubmit(GetNextNodeDto query) { ResultBean> rb = ResultBean.fireFail(); BusinessVariables bv = new BusinessVariables();