diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java index d6da29db5a..a6d8e0d6d4 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java @@ -290,12 +290,9 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService variables = BeanUtil.beanToMap(dto); - String busSid = dto.getBusinessSid(); if (StringUtils.isBlank(busSid)) { - ResultBean resultBean = saveOrUpdateDto(dto);//insert - String businessSid = resultBean.getData().toString(); BusinessVariables bv = new BusinessVariables(); BeanUtil.copyProperties(dto, bv); @@ -314,16 +311,15 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService variables = BeanUtil.beanToMap(dto); + BaseOutsourcingApplicationDto booad = baseMapper.getBySid(businessSid); + String businessTaskid = booad.getTaskId(); BusinessVariables bv = new BusinessVariables(); BeanUtil.copyProperties(dto, bv); bv.setOrgSidPath(orgSidPath); @@ -332,38 +328,25 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService resultBean1 = flowableFeign.startProcess(bv); UpdateFlowFieldVo uff = resultBean1.getData(); updateFlowFiled(BeanUtil.beanToMap(uff)); return resultBean1; - } else if (r == 2) { + } else if (StringUtils.isNotBlank(businessTaskid) && businessTaskid.equals(dto.getTaskId())) {//只有数据一致的时候才能进行下一步 bv.setTaskDefKey(booad.getTaskDefKey()); bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交"); bv.setInstanceId(dto.getInstanceId()); - return complete(bv); - } - return ResultBean.fireFail(); - } - - private synchronized int submitBusinessData(SubmitBaseOutSourcingApplicationDto dto, - String businessSid, BaseOutsourcingApplicationDto booad) { - int r = 0; - booad = baseMapper.getBySid(businessSid); - String businessTaskid = booad.getTaskId(); - if (StringUtils.isBlank(businessTaskid) && StringUtils.isBlank(dto.getTaskId())) { - // 新提交 taskid都是空的 - r = 1; - } else if (StringUtils.isNotBlank(businessTaskid) && businessTaskid.equals(dto.getTaskId())) {//只有数据一致的时候才能进行下一步 - r = 2; + ResultBean rb = flowableFeign.handleProsess(bv); + Map stringObjectMap = BeanUtil.beanToMap(rb.getData()); + updateFlowFiled(stringObjectMap); + return rb; + }else{ + return ResultBean.fireFail().setMsg("操作失败,提交的数据不一致!"); } - return r; } - /** * 检查用户是否设置部门 * @@ -379,33 +362,6 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService map) { - String sid = map.get("sid"); - ResultBean resultBean = sysFormLinkFeign.selectByBusinessSid(sid); - if (!resultBean.getSuccess()) { // 新增 - SysFormLinkDto sysFormLinkDto = new SysFormLinkDto(); - sysFormLinkDto.setBusinessSid(map.get("sid")); - sysFormLinkDto.setProcInsId(map.get("procInsId")); - sysFormLinkDto.setTaskDefKey(map.get("taskDefKey")); - sysFormLinkDto.setNodeState(map.get("nodeState")); - sysFormLinkDto.setFormType(SysFormLinkTypeEnum.ORDER_DEPOSIT_VEHICLE.getCode()); - sysFormLinkDto.setFlowState(Integer.parseInt(SysFormLinkFlowStateEnum.PROCESSING.getCode())); - sysFormLinkFeign.save(sysFormLinkDto); - } else { // 更新 - Map updateMap = new HashMap<>(); - updateMap.put("businessSid", sid); - updateMap.put("nodeState", map.get("nodeState")); - updateMap.put("taskDefKey", map.get("taskDefKey")); - updateMap.put("flowState", SysFormLinkFlowStateEnum.PROCESSING.getCode()); - sysFormLinkFeign.updateFiled(updateMap); - } - } - /** * 办理 * diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java index 113e678938..d3cb695880 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java @@ -130,6 +130,10 @@ public class FlowableRest implements FlowableFeign { if(o==null){ return rb.setMsg("流程设计问题"); } + return getNextUserSids(rb, orgSidPath, o); + } + + private ResultBean getNextUserSids(ResultBean rb, String orgSidPath, Object o) { JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(o)); String roleSid = jsonArray.get(0).toString(); //根据组织架构、角色两个参数取相关符合条件的用户信息 @@ -174,7 +178,9 @@ public class FlowableRest implements FlowableFeign { task_map.put("name","结束"); return rb.setData(""); }else{ - //如果不是最后一个环节 要取下一个环节的角色sid + Object o = task_map.get("candidateGroups"); + return getNextUserSids(rb, orgSidPath, o); + /* //如果不是最后一个环节 要取下一个环节的角色sid List candidateGroups= (List) task_map.get("candidateGroups"); String roleSid=candidateGroups.get(0); //根据组织架构、角色两个参数取相关符合条件的用户信息 @@ -182,14 +188,19 @@ public class FlowableRest implements FlowableFeign { userQuery.setRoleSid(roleSid); userQuery.setOrgSidPath(orgSidPath); List sysUserVos = sysUserFeign.getUserByRole(userQuery).getData(); + if(sysUserVos==null||sysUserVos.size()<1){ + return rb.setMsg("环节没有用户"); + } StringBuilder nextNodeUserSids = new StringBuilder(); for (SysUserVo su : sysUserVos) { nextNodeUserSids.append(su.getSid()).append(","); } //符合条件的用户的sid,拼接的字符串 String nextNodeUserSids_ = nextNodeUserSids.toString(); + if(StringUtils.isBlank(nextNodeUserSids_)) + return rb.setMsg("环节没有用户"); nextNodeUserSids_ = nextNodeUserSids_.substring(0, nextNodeUserSids_.length() - 1); - return rb.setData(nextNodeUserSids_); + return rb.setData(nextNodeUserSids_);*/ } } diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java index 17cee30109..11279a7733 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java @@ -1246,6 +1246,9 @@ public class FlowTaskService extends MybatisBaseService>().fail().setMsg("流程已办结,不能撤回!").setData(new ArrayList<>()); + } // 获取当前节点的activityId,即xml中每个标签的ID String currentActivityId = delegateExecution.getCurrentActivityId(); // List list1 = taskService.createTaskQuery().processInstanceId(historicTaskInstance.getProcessInstanceId()).list(); diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturn.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturn.java index b290bfe594..26cf6201e3 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturn.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturn.java @@ -24,5 +24,8 @@ public class ScmVehicleReturn extends BaseEntity { private BigDecimal money; @ApiModelProperty(value = "节点状态") private String nodeState; - + @ApiModelProperty(value = "taskId") + private String taskId; + @ApiModelProperty(value = "taskDefKey") + private String taskDefKey; } diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnDto.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnDto.java index 1f1ebb2b9c..593018da2a 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnDto.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnDto.java @@ -55,4 +55,6 @@ public class ScmVehicleReturnDto implements Dto { private String businessSid; @ApiModelProperty("comment") private String comment; + @ApiModelProperty(value = "procInsId") + private String procInsId; } diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundMapper.xml b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundMapper.xml index 271d44eeb0..547f1a3cbd 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundMapper.xml +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundMapper.xml @@ -16,14 +16,14 @@ UPDATE scm_apply_inbound - SET nodeState=#{nodeState}, taskDefKey=#{taskDefKey} + SET nodeState=#{nodeState}, taskDefKey=#{taskDefKey}, taskId=#{taskId} , procDefId=#{procDefId} , procInsId=#{procInsId} - WHERE sid=#{sid} + WHERE sid=#{sid}