From 57ad68ec2f3e5ca4079d4cad56439af1ca032009 Mon Sep 17 00:00:00 2001 From: yxt_djz Date: Thu, 3 Nov 2022 20:17:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=81=E7=A8=8B=E6=9C=80=E5=90=8E=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E7=8E=AF=E8=8A=82=E5=A4=84=E7=90=86=E6=8A=A5=E9=94=99?= =?UTF-8?q?=E7=9A=84=E6=83=85=E5=86=B5,=E6=92=A4=E5=9B=9E=20=20=E9=A9=B3?= =?UTF-8?q?=E5=9B=9E=E6=B5=81=E7=A8=8B=E7=9A=84orgpath=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kingdee/bdmaterial/BdMaterialService.java | 2 +- .../kingdee/stkinstock/STKInStockService.java | 4 ++++ .../anrui/flowable/biz/flow/FlowableRest.java | 6 ++--- .../flowdefinition/FlowDefinitionService.java | 6 +++-- .../flowable/biz/flowtask/FlowTaskMapper.java | 1 + .../flowable/biz/flowtask/FlowTaskMapper.xml | 24 +++++++++++++------ .../biz/flowtask/FlowTaskService.java | 11 +++++++++ 7 files changed, 41 insertions(+), 13 deletions(-) diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterial/BdMaterialService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterial/BdMaterialService.java index b1bb5ea238..96e7e87618 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterial/BdMaterialService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterial/BdMaterialService.java @@ -222,7 +222,7 @@ public class BdMaterialService extends FinKingDeeService { private ResultBean draft( String kingDeeData) throws Exception { ResultBean rb=ResultBean.fireFail(); ResultBean stringResultBean = accessKingDeeInterface(KingDeeBillId.BD_MATERIAL.getID(), - kingDeeData, kingDeeConfig.getUserName_administrator(),kingDeeConfig.getPassword_administrator(), KingDeeBillUrl.DRAFT_URL.getURL()); + kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL()); if(!stringResultBean.getSuccess()){ log.info("物料保存失败!"); return rb.setMsg("物料保存失败!"); diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/STKInStockService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/STKInStockService.java index 7e7f20ba41..b94bd79260 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/STKInStockService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/STKInStockService.java @@ -106,6 +106,10 @@ public class STKInStockService extends FinKingDeeService { }else{ f.setFLot(f.getFMaterialId());//启用批号 } + String fStockId = f.getFStockId(); + if(!"ARZTCK".equals(fStockId)){//如果不是在途仓库 设置成安瑞正式仓库 + f.setFStockId("ARZSCK"); + } // allocate(f,stkInStock,Id); ResultBean allocate = allocate(KingDeeBillId.BD_MATERIAL.getID(),Id+"", stkInStock.getTOrgId()); } 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 a624d92027..83be79709a 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 @@ -164,7 +164,7 @@ public class FlowableRest implements FlowableFeign { return rb.setMsg(nextNodeUserSidsOfCreate.getMsg()); } nextNodeUserSids_=nextNodeUserSidsOfCreate.getData().getUserSid(); - dto.getFormVariables().put("orgPath",nextNodeUserSidsOfCreate.getData().getOrgPath()); + dto.getFormVariables().put(BusinessVariables.ORGPATH,nextNodeUserSidsOfCreate.getData().getOrgPath()); } dto.setNextNodeUserSids(nextNodeUserSids_); ResultBean resultBean1 = flowableService.businessStart(dto); @@ -221,7 +221,7 @@ public class FlowableRest implements FlowableFeign { return rb.setMsg("nextUserSid 不能为空!"); } nextUserSid=nextNodeUserSidsOfSubmit.getData().getUserSid(); - formVariables.put("orgPath",nextNodeUserSidsOfSubmit.getData().getOrgPath()); + formVariables.put(BusinessVariables.ORGPATH,nextNodeUserSidsOfSubmit.getData().getOrgPath()); } String comment = dto.getComment(); if (StringUtils.isBlank(comment)) { @@ -404,7 +404,7 @@ public class FlowableRest implements FlowableFeign { vo.setNodeState( SysFormLinkFlowStateEnum.REJECT.getCode()); }*/ Map formVariables=new HashMap<>(); - formVariables.put("orgPath",orgPath); + formVariables.put(BusinessVariables.ORGPATH,orgPath); //在act_ru_variable表中增加环节上的业务参数的变量 taskService.setVariablesLocal(taskId,formVariables); ResultBean resultBean1 = ResultBean.fireSuccess(); diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowdefinition/FlowDefinitionService.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowdefinition/FlowDefinitionService.java index 8774fbd731..ca0bf39b8f 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowdefinition/FlowDefinitionService.java +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowdefinition/FlowDefinitionService.java @@ -188,14 +188,15 @@ public class FlowDefinitionService extends FlowServiceFactory { ProcessInstance processInstance = runtimeService.startProcessInstanceById(procDefId, variables); // 给第一步申请人节点设置任务执行人和意见 todo:第一个节点不设置为申请人节点有点问题? Task task = taskService.createTaskQuery().processInstanceId(processInstance.getProcessInstanceId()).singleResult(); - for(Map.Entry entry:variables.entrySet()){ + /* for(Map.Entry entry:variables.entrySet()){ taskService.setVariable(task.getId(),entry.getKey(),entry.getValue()); System.out.println(entry.getKey()+"--->"+entry.getValue()); - } + }*/ if (Objects.nonNull(task)) { taskService.addComment(task.getId(), processInstance.getProcessInstanceId(), FlowComment.START.getType(), sysUser.getName() + "发起流程申请"); taskService.setAssignee(task.getId(), userSid); + taskService.setVariablesLocal(task.getId(),variables); taskService.complete(task.getId(), variables); } @@ -236,6 +237,7 @@ public class FlowDefinitionService extends FlowServiceFactory { public ResultBean businessStart(BusinessVariables dto) { ResultBean resultBean = new ResultBean<>(); Map variables = dto.getFormVariables(); + variables.put(BusinessVariables.ORGPATH,dto.getOrgSidPath()); Object procDefId_obj = dto.getModelId(); Object userSid_obj = dto.getUserSid(); String procDefId = null; diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskMapper.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskMapper.java index 915f1a345a..b3686657e4 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskMapper.java +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskMapper.java @@ -42,4 +42,5 @@ public interface FlowTaskMapper extends BaseMapper { Map getHistTaskByID(@Param("procId")String procId,@Param("taskId")String id); Map getTaskByDefKey(@Param("procId")String processInstanceId, @Param("taskId")String id); + Map getActHiVarinstForOrgPath(@Param("taskId")String taskId); } diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskMapper.xml b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskMapper.xml index f124370966..e048fde156 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskMapper.xml +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskMapper.xml @@ -213,14 +213,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + \ No newline at end of file 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 e9823d0680..4ac9fef53a 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 @@ -1,5 +1,6 @@ package com.yxt.anrui.flowable.biz.flowtask; +import cn.hutool.core.map.MapUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -1206,6 +1207,10 @@ public class FlowTaskService extends MybatisBaseService parentUserTaskKeyList.add(item.getId())); // 获取全部历史节点活动实例,即已经走过的节点历史,数据采用开始时间升序 List historicTaskInstanceList = historyService.createHistoricTaskInstanceQuery().processInstanceId(task.getProcessInstanceId()).orderByHistoricTaskInstanceStartTime().asc().list(); + HistoricTaskInstance historicTaskInstance = historicTaskInstanceList.get(historicTaskInstanceList.size() - 2); + Map actHiVarinstForOrgPath = flowTaskMapper.getActHiVarinstForOrgPath(historicTaskInstance.getId()); + //Object o = actHiVarinstForOrgPath.get(BusinessVariables.ORGPATH); + String orgPath = MapUtil.getStr(actHiVarinstForOrgPath,"TEXT_"); // 数据清洗,将回滚导致的脏数据清洗掉 List lastHistoricTaskInstanceList = FlowableUtils.historicTaskInstanceClean(allElements, historicTaskInstanceList); // 此时历史任务实例为倒序,获取最后走的节点 @@ -1310,6 +1315,7 @@ public class FlowTaskService extends MybatisBaseService historicTaskInstanceList = historyService.createHistoricTaskInstanceQuery() .processInstanceId(processInstanceId) .orderByHistoricTaskInstanceStartTime().asc().list(); + HistoricTaskInstance historicTaskInstance = historicTaskInstanceList.get(historicTaskInstanceList.size() - 1); + Map actHiVarinstForOrgPath = flowTaskMapper.getActHiVarinstForOrgPath(historicTaskInstance.getId()); + String orgPath = MapUtil.getStr(actHiVarinstForOrgPath,"TEXT_"); // 数据清洗,将回滚导致的脏数据清洗掉 List lastHistoricTaskInstanceList = FlowableUtils.historicTaskInstanceClean(allElements, historicTaskInstanceList); + // 此时历史任务实例为倒序,获取最后走的节点 List targetIds = new ArrayList<>(); int number = 0; @@ -1598,6 +1608,7 @@ public class FlowTaskService extends MybatisBaseService task_map = flowTaskMapper.getTaskByDefKey(processInstanceId, item.getId()); if(task_map!=null){