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){