From 23855599412c4d61b38d78f0f3abd3430a48b5b1 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期三, 25 六月 2025 11:51:38 +0800
Subject: [PATCH] Merge branch 'mdc_hyjs_master'

---
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/InboundOrderServiceImpl.java |  757 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 757 insertions(+), 0 deletions(-)

diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/InboundOrderServiceImpl.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/InboundOrderServiceImpl.java
new file mode 100644
index 0000000..c9a24b8
--- /dev/null
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/InboundOrderServiceImpl.java
@@ -0,0 +1,757 @@
+package org.jeecg.modules.tms.service.impl;
+
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.apache.shiro.subject.Subject;
+import org.flowable.engine.TaskService;
+import org.flowable.task.api.Task;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.exception.JeecgBootException;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusiness;
+import org.jeecg.modules.flowable.apithird.business.service.IFlowMyBusinessService;
+import org.jeecg.modules.flowable.apithird.service.FlowCallBackServiceI;
+import org.jeecg.modules.flowable.apithird.service.FlowCommonService;
+import org.jeecg.modules.flowable.service.IFlowDefinitionService;
+import org.jeecg.modules.flowable.service.IFlowTaskService;
+import org.jeecg.modules.tms.entity.*;
+import org.jeecg.modules.tms.entity.dto.InboundOrderFlowDto;
+import org.jeecg.modules.tms.entity.vo.InboundDetailVo;
+import org.jeecg.modules.tms.mapper.InboundOrderMapper;
+import org.jeecg.modules.tms.service.*;
+import org.jeecg.modules.tms.utils.QrCodePrinterUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.math.BigDecimal;
+import java.util.*;
+
+/**
+ * @Description: 鍏ュ簱鐢宠鍗�
+ * @Author: jeecg-boot
+ * @Date:   2025-05-19
+ * @Version: V1.0
+ */
+@Service("IInboundOrderService")
+public class InboundOrderServiceImpl extends ServiceImpl<InboundOrderMapper, InboundOrder> implements IInboundOrderService, FlowCallBackServiceI {
+
+    @Autowired
+    private FlowCommonService flowCommonService;
+    @Autowired
+    private IFlowDefinitionService flowDefinitionService;
+
+    @Autowired
+    private IFlowTaskService flowTaskService;
+    @Autowired
+    private TaskService taskService;
+    @Autowired
+    private IFlowMyBusinessService flowMyBusinessService;
+
+    @Autowired
+    private IBaseToolsService baseToolsService;
+
+    @Autowired
+    private IInStoreDetailService inStoreDetailService;
+
+    @Autowired
+    private IToolLedgerService toolLedgerService;
+
+    @Autowired
+    private IToolLedgerDetailService toolLedgerDetailService;
+
+    @Autowired
+    private IInboundDetailService inboundDetailService;
+
+    @Autowired
+    private IGoodsShelvesService goodsShelvesService;
+    @Override
+    public boolean submit(String id) {
+        InboundOrder inboundOrder = this.getById(id);
+        //鍊熺敤鍜屽垉纾ㄥ叆搴撴椂鏍¢獙搴撳瓨
+        List<InboundDetail> inboundDetailList = inboundDetailService.lambdaQuery().eq(InboundDetail::getInStorehouseId,id).list();
+        if("2".equals(inboundOrder.getInStorehouseType())){
+            for(InboundDetail inboundDetail : inboundDetailList){
+                if(StringUtils.isNotBlank(inboundDetail.getToolId())){
+                    ToolLedgerDetail toolLedgerDetail = toolLedgerDetailService.lambdaQuery().eq(ToolLedgerDetail::getToolId,inboundDetail.getToolId()).one();
+                    if(toolLedgerDetail.getQuantity().compareTo(inboundDetail.getInStorageQuantity()) == 0){
+                        throw new JeecgBootException("缂栫爜涓恒��" + toolLedgerDetail.getToolId() + "銆戠殑宸ュ叿鏈�熷嚭锛屼笉闇�瑕佸綊杩樺叆搴擄紒");
+                    }
+                }else {
+                    ToolLedger toolLedger = toolLedgerService.lambdaQuery().eq(ToolLedger::getToolId,inboundDetail.getToolCode()).one();
+                    if(toolLedger.getLendCount().compareTo(inboundDetail.getInStorageQuantity()) < 0){
+                        throw new JeecgBootException("缂栫爜涓恒��" + toolLedger.getToolId() + "銆戠殑宸ュ叿鏈�熷嚭锛屼笉闇�瑕佸綊杩樺叆搴擄紒");
+                    }
+                }
+            }
+        }else if("5".equals(inboundOrder.getInStorehouseType())){
+            for(InboundDetail inboundDetail : inboundDetailList){
+                if(StringUtils.isNotBlank(inboundDetail.getToolId())){
+                    ToolLedgerDetail toolLedgerDetail = toolLedgerDetailService.lambdaQuery().eq(ToolLedgerDetail::getToolId,inboundDetail.getToolId()).one();
+                    if(toolLedgerDetail.getQuantity().compareTo(inboundDetail.getInStorageQuantity()) == 0){
+                        throw new JeecgBootException("缂栫爜涓恒��" + toolLedgerDetail.getToolId() + "銆戠殑宸ュ叿鏈垉纾紝涓嶉渶瑕佸垉纾ㄥ叆搴擄紒");
+                    }
+                }else {
+                    ToolLedger toolLedger = toolLedgerService.lambdaQuery().eq(ToolLedger::getToolId,inboundDetail.getToolCode()).one();
+                    if(toolLedger.getSharpeningCount().compareTo(inboundDetail.getInStorageQuantity()) < 0){
+                        throw new JeecgBootException("缂栫爜涓恒��" + toolLedger.getToolId() + "銆戠殑宸ュ叿鏈垉纾紝涓嶉渶瑕佸垉纾ㄥ叆搴擄紒");
+                    }
+                }
+            }
+        }
+        //鍙戣捣瀹℃壒娴佺▼
+        this.triggerProcess(inboundOrder);
+        //鏇存柊鍏ュ簱鍗曞鎵圭姸鎬佷负宸叉彁浜�
+        inboundOrder.setOrderStatus("2");
+        this.updateById(inboundOrder);
+        return true;
+    }
+
+    /**
+     * 瑙﹀彂娴佺▼
+     *
+     * @param inboundOrder
+     * @return
+     */
+    public boolean triggerProcess(InboundOrder inboundOrder) {
+
+        flowCommonService.initActBusiness("鍏ュ簱鐢宠鍗曞彿锛�" + inboundOrder.getInboundNum()+"鍙戣捣瀹℃壒娴佺▼",
+                inboundOrder.getId(), "IInboundOrderService", "tool_in_storage", null);
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("dataId", inboundOrder.getId());
+        variables.put("organization", "鏂板鍏ュ簱鐢宠鍗曢粯璁ゅ惎鍔ㄦ祦绋�");
+        variables.put("comment", "鏂板鍏ュ簱鐢宠鍗曢粯璁ゅ惎鍔ㄦ祦绋�");
+        variables.put("proofreading", true);
+        List<String> usernames = new ArrayList<>();
+        usernames.add(inboundOrder.getReviewer());
+        variables.put("NextAssignee", usernames);
+        Result result = flowDefinitionService.startProcessInstanceByKey("tool_in_storage", variables);
+        return result.isSuccess();
+    }
+
+    @Override
+    public void afterFlowHandle(FlowMyBusiness business) {
+        business.getTaskNameId();//鎺ヤ笅鏉ュ鎵圭殑鑺傜偣
+        business.getValues();//鍓嶇浼犺繘鏉ョ殑鍙傛暟
+        business.getActStatus();
+    }
+
+    @Override
+    public Object getBusinessDataById(String dataId) {
+        return this.getById(dataId);
+    }
+
+    @Override
+    public Map<String, Object> flowValuesOfTask(String taskNameId, Map<String, Object> values) {
+        return null;
+    }
+
+    @Override
+    public List<String> flowCandidateUsernamesOfTask(String taskNameId, Map<String, Object> values) {
+        //涓氬姟鏄惁骞查娴佺▼锛屼笟鍔″共棰勶紝娴佺▼骞查锛屾寚瀹氫汉鍛樿繘琛屽鐞�
+        //鑾峰彇涓嬩竴姝ュ鐞嗕汉
+        Object object = values.get("NextAssignee");
+        return (List<String>) object;
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void approvalProcess(InboundOrderFlowDto inboundOrderFlowDto) {
+        if (StrUtil.isBlank(inboundOrderFlowDto.getTaskId()) || StrUtil.isBlank(inboundOrderFlowDto.getDataId())) {
+            throw new JeecgBootException("闈炴硶鍙傛暟锛�");
+        }
+
+        // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛
+        LoginUser user = getCurrentUser();
+        if (user == null || StrUtil.isBlank(user.getId())) {
+            throw new JeecgBootException("璐﹀彿涓嶅瓨鍦�");
+        }
+
+        //鑾峰彇鍏ュ簱鐢宠鍗曚俊鎭�
+        InboundOrder inboundOrder = getById(inboundOrderFlowDto.getDataId());
+        if (inboundOrder == null) {
+            throw new JeecgBootException("鏈壘鍒板搴旂殑鍑哄簱鐢宠鍗曪紒");
+        }
+
+        //鑾峰彇娴佺▼涓氬姟璁板綍
+        FlowMyBusiness flowMyBusiness = getFlowMyBusiness(inboundOrderFlowDto.getInstanceId());
+        if (flowMyBusiness == null) {
+            throw new JeecgBootException("娴佺▼璁板綍涓嶅瓨鍦�");
+        }
+
+        // 妫�鏌ョ敤鎴锋槸鍚︽湁鏉冮檺鎿嶄綔浠诲姟
+        if (!isUserAuthorized(flowMyBusiness, user)) {
+            throw new JeecgBootException("鐢ㄦ埛鏃犳潈鎿嶄綔姝や换鍔�");
+        }
+
+        // 璁ら浠诲姟
+        if (!claimTask(flowMyBusiness.getTaskId(), user)) {
+            throw new JeecgBootException("浠诲姟涓嶅瓨鍦ㄣ�佸凡瀹屾垚鎴栧凡琚粬浜鸿棰�");
+        }
+
+        //璁剧疆娴佺▼鍙橀噺
+        setupProcessVariables(inboundOrderFlowDto, inboundOrder, user);
+
+        //瀹屾垚娴佺▼浠诲姟
+        Result result = flowTaskService.complete(inboundOrderFlowDto);
+
+        //鏍规嵁浠诲姟瀹屾垚缁撴灉鏇存柊鐢宠鍗曠姸鎬�
+        if (result.isSuccess()) {
+            if ("3".equals(inboundOrderFlowDto.getStatus())) {
+                inboundOrder.setOrderStatus("3");
+            }else if("4".equals(inboundOrderFlowDto.getStatus())){
+                inboundOrder.setOrderStatus("1");
+            }
+            inboundOrder.setReviewer(user.getUsername());
+            inboundOrder.setApprovalDate(new Date());
+            inboundOrder.setApprovalOpinion(inboundOrderFlowDto.getApprovalOpinion());
+            updateById(inboundOrder);
+        }
+    }
+
+    @Override
+    public List<Map<String,String>> addInStorage(JSONObject jSONObject) {
+        String inStorehouseType = jSONObject.getString("inStorehouseType");
+        String locationCodeId = jSONObject.getString("locationCodeId");
+        //浜岀淮鐮佹墦鍗板垪琛�
+        List<Map<String,String>> results = new ArrayList<>();
+        List<String> contentList = new ArrayList<>();
+        String classifyId = jSONObject.getString("classifyId");
+        Date inboundTime = jSONObject.getDate("inboundTime");
+        //鑾峰彇鍏ュ簱鏄庣粏
+        JSONArray jsonArray = jSONObject.getJSONArray("detailData");
+        List<InboundDetailVo> inStoreDetailList =jsonArray.toJavaList(InboundDetailVo.class);
+        //鏂拌揣鍏ュ簱
+        if("1".equals(inStorehouseType)){
+            //寰幆鏂板鏄庣粏
+            for(InboundDetailVo inboundDetailVo : inStoreDetailList){
+                //鏌ヨ鏄惁绠″埌鎶婏紝绠″埌鎶婄殑鏌ヨ褰撳墠缂栫爜
+                BaseTools baseTools = baseToolsService.getById(inboundDetailVo.getToolCodeId());
+                //鎿嶄綔搴撳瓨,鏌ヨ鎬诲簱瀛樻槸鍚﹀瓨鍦ㄨ绫诲垁鍏�
+                ToolLedger toolLedger = toolLedgerService.lambdaQuery().eq(ToolLedger::getToolId,inboundDetailVo.getToolCodeId()).one();
+                if(toolLedger == null){
+                    ToolLedger newToolLedger = new ToolLedger();
+                    newToolLedger.setToolId(inboundDetailVo.getToolCodeId());
+                    newToolLedger.setAvailableCount(inboundDetailVo.getInStorageQuantity());
+                    newToolLedger.setTotalCount(inboundDetailVo.getInStorageQuantity());
+                    newToolLedger.setLendCount(BigDecimal.ZERO);
+                    newToolLedger.setDetectionCount(BigDecimal.ZERO);
+                    newToolLedger.setLossCount(BigDecimal.ZERO);
+                    newToolLedger.setRepairCount(BigDecimal.ZERO);
+                    newToolLedger.setSharpeningCount(BigDecimal.ZERO);
+                    newToolLedger.setClassifyId(classifyId);
+                    toolLedgerService.save(newToolLedger);
+                }else {
+                    toolLedger.setAvailableCount(toolLedger.getAvailableCount().add(inboundDetailVo.getInStorageQuantity()));
+                    toolLedger.setTotalCount(toolLedger.getTotalCount().add(inboundDetailVo.getInStorageQuantity()));
+                    toolLedgerService.updateById(toolLedger);
+                }
+                //绠″埌鎶�
+                if("1".equals(baseTools.getAccuracyClass())){
+                    //寰幆鍏ュ簱鏁伴噺锛屼负瀹炵墿璧嬬爜
+                    for(int i=0;i<inboundDetailVo.getInStorageQuantity().intValue();i++){
+                        BaseTools newBaseTools = baseToolsService.getById(inboundDetailVo.getToolCodeId());
+                        //鏌ヨ褰撳墠缂栫爜
+                        String currentCode = newBaseTools.getCurrentCode();
+                        //灏嗗瓧绗︿覆杞崲涓烘暣鏁�
+                        int num = Integer.parseInt(currentCode);
+                        //鍔�1鎿嶄綔
+                        num++;
+                        //杞崲鍥炲瓧绗︿覆骞朵繚鐣欏墠瀵奸浂
+                        String result = String.format("%0" + currentCode.length() + "d", num);
+                        //鎵撳嵃浜岀淮鐮�
+                        //淇濆瓨鍏ュ簱娴佹按
+                        InStoreDetail inStoreDetail = new InStoreDetail();
+                        inStoreDetail.setInboundTime(inboundTime);
+                        inStoreDetail.setOperateType("2");
+                        inStoreDetail.setInNumber(BigDecimal.ONE);
+                        inStoreDetail.setInStorehouseType("1");
+                        inStoreDetail.setToolCode(inboundDetailVo.getToolCodeId());
+                        inStoreDetail.setToolId(inboundDetailVo.getToolCode()+"-"+result);
+                        inStoreDetail.setGoodsShelvesId(locationCodeId);
+                        inStoreDetailService.save(inStoreDetail);
+                        //澧炲姞搴撳瓨鏄庣粏
+                        ToolLedgerDetail toolLedgerDetail = new ToolLedgerDetail();
+                        toolLedgerDetail.setToolCode(inboundDetailVo.getToolCodeId());
+                        toolLedgerDetail.setPositionCode(locationCodeId);
+                        toolLedgerDetail.setToolId(inboundDetailVo.getToolCode()+"-"+result);
+                        toolLedgerDetail.setQuantity(BigDecimal.ONE);
+                        toolLedgerDetail.setRemainingPercentage(BigDecimal.ONE);
+                        toolLedgerDetail.setStatus("1");
+                        toolLedgerDetailService.save(toolLedgerDetail);
+                        //鏇存柊褰撳墠缂栫爜
+                        newBaseTools.setCurrentCode(result);
+                        baseToolsService.updateById(newBaseTools);
+                        //鎵撳嵃浜岀淮鐮�
+                        contentList.add(inboundDetailVo.getToolCode()+"-"+result);
+                    }
+                    //鎵撳嵃浜岀淮鐮侊紝鏆傛椂娉ㄩ噴锛屽緟鐜板満璋冭瘯鎵撴爣鏈�
+//                    for(String content : contentList){
+//                        Map<String,String> result = new HashMap<>();
+//                        result.put("content",content);
+//                        result.put("image", QrCodePrinterUtils.generateBacthQRCode(content, 200, 200));
+//                        // 鐢熸垚浜岀淮鐮佸浘鐗囷紙Base64锛�
+//                        results.add(result);
+//                    }
+                    Map<String,String> result = new HashMap<>();
+                    result.put("content","淇濆瓨鎴愬姛");
+                    results.add(result);
+                    //涓嶇鍒版妸
+                }else {
+                    //淇濆瓨鍏ュ簱娴佹按
+                    InStoreDetail inStoreDetail = new InStoreDetail();
+                    inStoreDetail.setInboundTime(inboundTime);
+                    inStoreDetail.setOperateType("2");
+                    inStoreDetail.setInNumber(inboundDetailVo.getInStorageQuantity());
+                    inStoreDetail.setInStorehouseType("1");
+                    inStoreDetail.setToolCode(inboundDetailVo.getToolCodeId());
+                    inStoreDetail.setGoodsShelvesId(locationCodeId);
+                    inStoreDetailService.save(inStoreDetail);
+                    //鏌ヨ搴撳瓨鏄庣粏涓槸鍚﹀瓨鍦ㄨ宸ュ叿
+                    ToolLedgerDetail toolLedgerDetail = toolLedgerDetailService.lambdaQuery().eq(ToolLedgerDetail::getToolCode,inboundDetailVo.getToolCodeId()).one();
+                    if(toolLedgerDetail == null){
+                        ToolLedgerDetail newToolLedgerDetail = new ToolLedgerDetail();
+                        newToolLedgerDetail.setToolCode(inboundDetailVo.getToolCodeId());
+                        newToolLedgerDetail.setQuantity(inboundDetailVo.getInStorageQuantity());
+                        newToolLedgerDetail.setPositionCode(locationCodeId);
+                        newToolLedgerDetail.setStatus("1");
+                        toolLedgerDetailService.save(newToolLedgerDetail);
+                    }else {
+                        toolLedgerDetail.setQuantity(toolLedgerDetail.getQuantity().add(inboundDetailVo.getInStorageQuantity()));
+                        toolLedgerDetail.setPositionCode(locationCodeId);
+                        toolLedgerDetailService.updateById(toolLedgerDetail);
+                    }
+                    Map<String,String> result = new HashMap<>();
+                    result.put("content","淇濆瓨鎴愬姛");
+                    results.add(result);
+                }
+            }
+            //褰掕繕鍏ュ簱
+        }else if("2".equals(inStorehouseType)){
+            //寰幆鏂板鏄庣粏
+            for(InboundDetailVo inboundDetailVo : inStoreDetailList) {
+                //鏌ヨ鏄惁绠″埌鎶婏紝绠″埌鎶婄殑鏌ヨ褰撳墠缂栫爜
+                BaseTools baseTools = baseToolsService.getById(inboundDetailVo.getToolCodeId());
+                //澧炲姞鍙敤搴撳瓨锛屽噺灏戝�熷嚭搴撳瓨
+                ToolLedger toolLedger = toolLedgerService.lambdaQuery().eq(ToolLedger::getToolId, inboundDetailVo.getToolCodeId()).one();
+                toolLedger.setAvailableCount(toolLedger.getAvailableCount().add(inboundDetailVo.getInStorageQuantity()));
+                toolLedger.setLendCount(toolLedger.getLendCount().subtract(inboundDetailVo.getInStorageQuantity()));
+                toolLedgerService.updateById(toolLedger);
+                //鏌ヨ鏄惁绠″埌鎶婏紝绠″埌鎶婄殑鐢╰oolId锛屼笉绠″埌鎶婄殑鐢╰oolCodeId
+                //绠″埌鎶�
+                if("1".equals(baseTools.getAccuracyClass())){
+                    //澧炲姞搴撳瓨鏄庣粏鍙敤搴撳瓨锛屼慨鏀圭姸鎬�
+                    ToolLedgerDetail toolLedgerDetail = toolLedgerDetailService.lambdaQuery()
+                            .eq(ToolLedgerDetail::getToolCode,inboundDetailVo.getToolCodeId())
+                            .eq(ToolLedgerDetail::getToolId,inboundDetailVo.getOnlyCode()).one();
+                    toolLedgerDetail.setQuantity(BigDecimal.ONE);
+                    toolLedgerDetail.setRemainingPercentage(BigDecimal.ONE);
+                    toolLedgerDetail.setPositionCode(locationCodeId);
+                    toolLedgerDetail.setStatus("1");
+                    toolLedgerDetailService.updateById(toolLedgerDetail);
+                    //淇濆瓨鍏ュ簱娴佹按
+                    InStoreDetail inStoreDetail = new InStoreDetail();
+                    inStoreDetail.setInboundTime(inboundTime);
+                    inStoreDetail.setOperateType("2");
+                    inStoreDetail.setInNumber(BigDecimal.ONE);
+                    inStoreDetail.setInStorehouseType("2");
+                    inStoreDetail.setToolCode(inboundDetailVo.getToolCodeId());
+                    inStoreDetail.setToolId(inboundDetailVo.getOnlyCode());
+                    inStoreDetail.setGoodsShelvesId(locationCodeId);
+                    inStoreDetailService.save(inStoreDetail);
+                    //涓嶇鍒版妸
+                }else {
+                    //澧炲姞搴撳瓨鏄庣粏鍙敤搴撳瓨锛屼慨鏀圭姸鎬�
+                    ToolLedgerDetail toolLedgerDetail = toolLedgerDetailService.lambdaQuery().eq(ToolLedgerDetail::getToolCode,inboundDetailVo.getToolCodeId()).one();
+                    toolLedgerDetail.setQuantity(toolLedgerDetail.getQuantity().add(inboundDetailVo.getInStorageQuantity()));
+                    toolLedgerDetail.setPositionCode(locationCodeId);
+                    toolLedgerDetail.setStatus("1");
+                    toolLedgerDetailService.updateById(toolLedgerDetail);
+                    //淇濆瓨鍏ュ簱娴佹按
+                    InStoreDetail inStoreDetail = new InStoreDetail();
+                    inStoreDetail.setInboundTime(inboundTime);
+                    inStoreDetail.setOperateType("2");
+                    inStoreDetail.setInNumber(inboundDetailVo.getInStorageQuantity());
+                    inStoreDetail.setInStorehouseType("2");
+                    inStoreDetail.setToolCode(inboundDetailVo.getToolCodeId());
+                    inStoreDetail.setGoodsShelvesId(locationCodeId);
+                    inStoreDetailService.save(inStoreDetail);
+                }
+
+            }
+            Map<String,String> result = new HashMap<>();
+            result.put("content","淇濆瓨鎴愬姛");
+            results.add(result);
+        }else if("5".equals(inStorehouseType)){
+            //寰幆鏂板鏄庣粏
+            for(InboundDetailVo inboundDetailVo : inStoreDetailList) {
+                //鏌ヨ鏄惁绠″埌鎶婏紝绠″埌鎶婄殑鏌ヨ褰撳墠缂栫爜
+                BaseTools baseTools = baseToolsService.getById(inboundDetailVo.getToolCodeId());
+                //澧炲姞鎬诲簱瀛樺強鍙敤搴撳瓨锛屽噺灏戝垉纾ㄥ簱瀛�
+                ToolLedger toolLedger = toolLedgerService.lambdaQuery().eq(ToolLedger::getToolId, inboundDetailVo.getToolCodeId()).one();
+                toolLedger.setAvailableCount(toolLedger.getAvailableCount().add(inboundDetailVo.getInStorageQuantity()));
+                toolLedger.setSharpeningCount(toolLedger.getSharpeningCount().subtract(inboundDetailVo.getInStorageQuantity()));
+                toolLedgerService.updateById(toolLedger);
+                //鏌ヨ鏄惁绠″埌鎶婏紝绠″埌鎶婄殑鐢╰oolId锛屼笉绠″埌鎶婄殑鐢╰oolCodeId
+                //绠″埌鎶�
+                if("1".equals(baseTools.getAccuracyClass())){
+                    //澧炲姞搴撳瓨鏄庣粏鍙敤搴撳瓨锛屼慨鏀圭姸鎬�
+                    ToolLedgerDetail toolLedgerDetail = toolLedgerDetailService.lambdaQuery()
+                            .eq(ToolLedgerDetail::getToolCode,inboundDetailVo.getToolCodeId())
+                            .eq(ToolLedgerDetail::getToolId,inboundDetailVo.getOnlyCode()).one();
+                    toolLedgerDetail.setQuantity(BigDecimal.ONE);
+                    toolLedgerDetail.setRemainingPercentage(BigDecimal.ONE);
+                    toolLedgerDetail.setPositionCode(locationCodeId);
+                    toolLedgerDetail.setStatus("1");
+                    toolLedgerDetailService.updateById(toolLedgerDetail);
+                    //淇濆瓨鍏ュ簱娴佹按
+                    InStoreDetail inStoreDetail = new InStoreDetail();
+                    inStoreDetail.setInboundTime(inboundTime);
+                    inStoreDetail.setOperateType("2");
+                    inStoreDetail.setInNumber(BigDecimal.ONE);
+                    inStoreDetail.setInStorehouseType("5");
+                    inStoreDetail.setToolCode(inboundDetailVo.getToolCodeId());
+                    inStoreDetail.setToolId(inboundDetailVo.getOnlyCode());
+                    inStoreDetail.setGoodsShelvesId(locationCodeId);
+                    inStoreDetailService.save(inStoreDetail);
+                    //涓嶇鍒版妸
+                }else {
+                    //澧炲姞搴撳瓨鏄庣粏鍙敤搴撳瓨锛屼慨鏀圭姸鎬�
+                    ToolLedgerDetail toolLedgerDetail = toolLedgerDetailService.lambdaQuery().eq(ToolLedgerDetail::getToolCode,inboundDetailVo.getToolCodeId()).one();
+                    toolLedgerDetail.setQuantity(toolLedgerDetail.getQuantity().add(inboundDetailVo.getInStorageQuantity()));
+                    toolLedgerDetail.setPositionCode(locationCodeId);
+                    toolLedgerDetail.setStatus("1");
+                    toolLedgerDetailService.updateById(toolLedgerDetail);
+                    //淇濆瓨鍏ュ簱娴佹按
+                    InStoreDetail inStoreDetail = new InStoreDetail();
+                    inStoreDetail.setInboundTime(inboundTime);
+                    inStoreDetail.setOperateType("2");
+                    inStoreDetail.setInNumber(inboundDetailVo.getInStorageQuantity());
+                    inStoreDetail.setInStorehouseType("5");
+                    inStoreDetail.setToolCode(inboundDetailVo.getToolCodeId());
+                    inStoreDetail.setGoodsShelvesId(locationCodeId);
+                    inStoreDetailService.save(inStoreDetail);
+                }
+
+            }
+            Map<String,String> result = new HashMap<>();
+            result.put("content","淇濆瓨鎴愬姛");
+            results.add(result);
+        }
+            return results;
+    }
+
+    @Override
+    public List<Map<String,String>> addApplyInStorage(JSONObject jSONObject) {
+        String inStorehouseType = jSONObject.getString("inStorehouseType");
+        String locationCodeId = jSONObject.getString("locationCodeId");
+        //浜岀淮鐮佹墦鍗板垪琛�
+        List<Map<String,String>> results = new ArrayList<>();
+        List<String> contentList = new ArrayList<>();
+        //鍏ュ簱鐢宠鍗昳d
+        String orderId = jSONObject.getString("orderId");
+        //鑾峰彇鍏ュ簱鏄庣粏
+        JSONArray jsonArray = jSONObject.getJSONArray("detailData");
+        List<InboundDetailVo> inStoreDetailList =jsonArray.toJavaList(InboundDetailVo.class);
+        //鏂拌揣鍏ュ簱
+        if("1".equals(inStorehouseType)){
+            //寰幆鏂板鏄庣粏
+            for(InboundDetailVo inboundDetailVo : inStoreDetailList){
+                //鏌ヨ鏄惁绠″埌鎶婏紝绠″埌鎶婄殑鏌ヨ褰撳墠缂栫爜
+                BaseTools baseTools = baseToolsService.getById(inboundDetailVo.getToolCodeId());
+                //鎿嶄綔搴撳瓨,鏌ヨ鎬诲簱瀛樻槸鍚﹀瓨鍦ㄨ绫诲垁鍏�
+                ToolLedger toolLedger = toolLedgerService.lambdaQuery().eq(ToolLedger::getToolId,inboundDetailVo.getToolCodeId()).one();
+                if(toolLedger == null){
+                    ToolLedger newToolLedger = new ToolLedger();
+                    newToolLedger.setToolId(inboundDetailVo.getToolCodeId());
+                    newToolLedger.setAvailableCount(inboundDetailVo.getInStorageQuantity());
+                    newToolLedger.setTotalCount(inboundDetailVo.getInStorageQuantity());
+                    newToolLedger.setLendCount(BigDecimal.ZERO);
+                    newToolLedger.setDetectionCount(BigDecimal.ZERO);
+                    newToolLedger.setLossCount(BigDecimal.ZERO);
+                    newToolLedger.setRepairCount(BigDecimal.ZERO);
+                    newToolLedger.setSharpeningCount(BigDecimal.ZERO);
+                    newToolLedger.setClassifyId(inboundDetailVo.getClassifyId());
+                    toolLedgerService.save(newToolLedger);
+                }else {
+                    toolLedger.setAvailableCount(toolLedger.getAvailableCount().add(inboundDetailVo.getInStorageQuantity()));
+                    toolLedger.setTotalCount(toolLedger.getTotalCount().add(inboundDetailVo.getInStorageQuantity()));
+                    toolLedgerService.updateById(toolLedger);
+                }
+                //绠″埌鎶�
+                if("1".equals(baseTools.getAccuracyClass())){
+                    //寰幆鍏ュ簱鏁伴噺锛屼负瀹炵墿璧嬬爜
+                    for(int i=0;i<inboundDetailVo.getInStorageQuantity().intValue();i++){
+                        BaseTools newBaseTools = baseToolsService.getById(inboundDetailVo.getToolCodeId());
+                        //鏌ヨ褰撳墠缂栫爜
+                        String currentCode = newBaseTools.getCurrentCode();
+                        //灏嗗瓧绗︿覆杞崲涓烘暣鏁�
+                        int num = Integer.parseInt(currentCode);
+                        //鍔�1鎿嶄綔
+                        num++;
+                        //杞崲鍥炲瓧绗︿覆骞朵繚鐣欏墠瀵奸浂
+                        String result = String.format("%0" + currentCode.length() + "d", num);
+                        //淇濆瓨鍏ュ簱娴佹按
+                        InStoreDetail inStoreDetail = new InStoreDetail();
+                        inStoreDetail.setInStorehouseId(orderId);
+                        inStoreDetail.setInboundTime(new Date());
+                        inStoreDetail.setOperateType("1");
+                        inStoreDetail.setInNumber(BigDecimal.ONE);
+                        inStoreDetail.setInStorehouseType("1");
+                        inStoreDetail.setToolCode(inboundDetailVo.getToolCodeId());
+                        inStoreDetail.setToolId(inboundDetailVo.getToolCode()+"-"+result);
+                        inStoreDetail.setGoodsShelvesId(locationCodeId);
+                        inStoreDetailService.save(inStoreDetail);
+                        //澧炲姞搴撳瓨鏄庣粏
+                        ToolLedgerDetail toolLedgerDetail = new ToolLedgerDetail();
+                        toolLedgerDetail.setToolCode(inboundDetailVo.getToolCodeId());
+                        toolLedgerDetail.setToolId(inboundDetailVo.getToolCode()+"-"+result);
+                        toolLedgerDetail.setQuantity(BigDecimal.ONE);
+                        toolLedgerDetail.setRemainingPercentage(BigDecimal.ONE);
+                        toolLedgerDetail.setPositionCode(locationCodeId);
+                        toolLedgerDetail.setStatus("1");
+                        toolLedgerDetailService.save(toolLedgerDetail);
+                        //鏇存柊褰撳墠缂栫爜
+                        newBaseTools.setCurrentCode(result);
+                        baseToolsService.updateById(newBaseTools);
+                        //鎵撳嵃浜岀淮鐮�
+                        contentList.add(inboundDetailVo.getToolCode()+"-"+result);
+                    }
+                    //鎵撳嵃浜岀淮鐮侊紝鏆傛椂娉ㄩ噴锛屽緟鐜板満楠岃瘉鎵撴爣鏈�
+//                    for(String content : contentList){
+//                        Map<String,String> result = new HashMap<>();
+//                        result.put("content",content);
+//                        result.put("image", QrCodePrinterUtils.generateBacthQRCode(content, 200, 200));
+//                        // 鐢熸垚浜岀淮鐮佸浘鐗囷紙Base64锛�
+//                        results.add(result);
+//                    }
+                    Map<String,String> result = new HashMap<>();
+                    result.put("content","淇濆瓨鎴愬姛");
+                    results.add(result);
+                    //涓嶇鍒版妸
+                }else {
+                    //淇濆瓨鍏ュ簱娴佹按
+                    InStoreDetail inStoreDetail = new InStoreDetail();
+                    inStoreDetail.setInboundTime(new Date());
+                    inStoreDetail.setOperateType("1");
+                    inStoreDetail.setInNumber(inboundDetailVo.getInStorageQuantity());
+                    inStoreDetail.setInStorehouseType("1");
+                    inStoreDetail.setInStorehouseId(orderId);
+                    inStoreDetail.setToolCode(inboundDetailVo.getToolCodeId());
+                    inStoreDetail.setGoodsShelvesId(locationCodeId);
+                    inStoreDetailService.save(inStoreDetail);
+                    //鏌ヨ搴撳瓨鏄庣粏涓槸鍚﹀瓨鍦ㄨ宸ュ叿
+                    ToolLedgerDetail toolLedgerDetail = toolLedgerDetailService.lambdaQuery().eq(ToolLedgerDetail::getToolCode,inboundDetailVo.getToolCodeId()).one();
+                    if(toolLedgerDetail == null){
+                        ToolLedgerDetail newToolLedgerDetail = new ToolLedgerDetail();
+                        newToolLedgerDetail.setToolCode(inboundDetailVo.getToolCodeId());
+                        newToolLedgerDetail.setQuantity(inboundDetailVo.getInStorageQuantity());
+                        newToolLedgerDetail.setPositionCode(locationCodeId);
+                        newToolLedgerDetail.setStatus("1");
+                        toolLedgerDetailService.save(newToolLedgerDetail);
+                    }else {
+                        toolLedgerDetail.setQuantity(toolLedgerDetail.getQuantity().add(inboundDetailVo.getInStorageQuantity()));
+                        toolLedgerDetail.setPositionCode(locationCodeId);
+                        toolLedgerDetailService.updateById(toolLedgerDetail);
+                    }
+                    Map<String,String> result = new HashMap<>();
+                    result.put("content","淇濆瓨鎴愬姛");
+                    results.add(result);
+                }
+                //鏇存敼鏄庣粏鍏ュ簱鐘舵�佸強瀹為檯鍏ュ簱鏁伴噺
+                InboundDetail inboundDetail = inboundDetailService.getById(inboundDetailVo.getId());
+                inboundDetail.setInStatus("3");
+                inboundDetail.setInActualCount(inboundDetailVo.getInStorageQuantity());
+                inboundDetailService.updateById(inboundDetail);
+            }
+            //褰掕繕鍏ュ簱
+        }else if("2".equals(inStorehouseType)){
+            //寰幆鏂板鏄庣粏
+            for(InboundDetailVo inboundDetailVo : inStoreDetailList) {
+                //鏌ヨ鏄惁绠″埌鎶婏紝绠″埌鎶婄殑鏌ヨ褰撳墠缂栫爜
+                BaseTools baseTools = baseToolsService.getById(inboundDetailVo.getToolCodeId());
+                //澧炲姞鍙敤搴撳瓨锛屽噺灏戝�熷嚭搴撳瓨
+                ToolLedger toolLedger = toolLedgerService.lambdaQuery().eq(ToolLedger::getToolId, inboundDetailVo.getToolCodeId()).one();
+                toolLedger.setAvailableCount(toolLedger.getAvailableCount().add(inboundDetailVo.getInStorageQuantity()));
+                toolLedger.setLendCount(toolLedger.getLendCount().subtract(inboundDetailVo.getInStorageQuantity()));
+                toolLedgerService.updateById(toolLedger);
+                //鏌ヨ鏄惁绠″埌鎶婏紝绠″埌鎶婄殑鐢╰oolId锛屼笉绠″埌鎶婄殑鐢╰oolCodeId
+                //绠″埌鎶�
+                if("1".equals(baseTools.getAccuracyClass())){
+                    //澧炲姞搴撳瓨鏄庣粏鍙敤搴撳瓨锛屼慨鏀圭姸鎬�
+                    ToolLedgerDetail toolLedgerDetail = toolLedgerDetailService.lambdaQuery()
+                            .eq(ToolLedgerDetail::getToolCode,inboundDetailVo.getToolCodeId())
+                            .eq(ToolLedgerDetail::getToolId,inboundDetailVo.getOnlyCode()).one();
+                    toolLedgerDetail.setQuantity(BigDecimal.ONE);
+                    toolLedgerDetail.setRemainingPercentage(BigDecimal.ONE);
+                    toolLedgerDetail.setPositionCode(locationCodeId);
+                    toolLedgerDetail.setStatus("1");
+                    toolLedgerDetailService.updateById(toolLedgerDetail);
+                    //淇濆瓨鍏ュ簱娴佹按
+                    InStoreDetail inStoreDetail = new InStoreDetail();
+                    inStoreDetail.setInboundTime(new Date());
+                    inStoreDetail.setOperateType("1");
+                    inStoreDetail.setInNumber(BigDecimal.ONE);
+                    inStoreDetail.setInStorehouseType("2");
+                    inStoreDetail.setInStorehouseId(orderId);
+                    inStoreDetail.setToolCode(inboundDetailVo.getToolCodeId());
+                    inStoreDetail.setToolId(inboundDetailVo.getOnlyCode());
+                    inStoreDetail.setGoodsShelvesId(locationCodeId);
+                    inStoreDetailService.save(inStoreDetail);
+                    //涓嶇鍒版妸
+                }else {
+                    //澧炲姞搴撳瓨鏄庣粏鍙敤搴撳瓨锛屼慨鏀圭姸鎬�
+                    ToolLedgerDetail toolLedgerDetail = toolLedgerDetailService.lambdaQuery().eq(ToolLedgerDetail::getToolCode,inboundDetailVo.getToolCodeId()).one();
+                    toolLedgerDetail.setQuantity(toolLedgerDetail.getQuantity().add(inboundDetailVo.getInStorageQuantity()));
+                    toolLedgerDetail.setStatus("1");
+                    toolLedgerDetail.setPositionCode(locationCodeId);
+                    toolLedgerDetailService.updateById(toolLedgerDetail);
+                    //淇濆瓨鍏ュ簱娴佹按
+                    InStoreDetail inStoreDetail = new InStoreDetail();
+                    inStoreDetail.setInboundTime(new Date());
+                    inStoreDetail.setOperateType("1");
+                    inStoreDetail.setInNumber(inboundDetailVo.getInStorageQuantity());
+                    inStoreDetail.setInStorehouseType("2");
+                    inStoreDetail.setInStorehouseId(orderId);
+                    inStoreDetail.setToolCode(inboundDetailVo.getToolCodeId());
+                    inStoreDetail.setGoodsShelvesId(locationCodeId);
+                    inStoreDetailService.save(inStoreDetail);
+                }
+                //鏇存敼鏄庣粏鍏ュ簱鐘舵�佸強瀹為檯鍏ュ簱鏁伴噺
+                InboundDetail inboundDetail = inboundDetailService.getById(inboundDetailVo.getId());
+                inboundDetail.setInStatus("3");
+                inboundDetail.setInActualCount(inboundDetailVo.getInStorageQuantity());
+                inboundDetailService.updateById(inboundDetail);
+            }
+            Map<String,String> result = new HashMap<>();
+            result.put("content","淇濆瓨鎴愬姛");
+            results.add(result);
+        }else if("5".equals(inStorehouseType)){
+            //寰幆鏂板鏄庣粏
+            for(InboundDetailVo inboundDetailVo : inStoreDetailList) {
+                //鏌ヨ鏄惁绠″埌鎶婏紝绠″埌鎶婄殑鏌ヨ褰撳墠缂栫爜
+                BaseTools baseTools = baseToolsService.getById(inboundDetailVo.getToolCodeId());
+                //澧炲姞鎬诲簱瀛樺強鍙敤搴撳瓨锛屽噺灏戝垉纾ㄥ簱瀛�
+                ToolLedger toolLedger = toolLedgerService.lambdaQuery().eq(ToolLedger::getToolId, inboundDetailVo.getToolCodeId()).one();
+                toolLedger.setAvailableCount(toolLedger.getAvailableCount().add(inboundDetailVo.getInStorageQuantity()));
+                toolLedger.setSharpeningCount(toolLedger.getSharpeningCount().subtract(inboundDetailVo.getInStorageQuantity()));
+                toolLedgerService.updateById(toolLedger);
+                //鏌ヨ鏄惁绠″埌鎶婏紝绠″埌鎶婄殑鐢╰oolId锛屼笉绠″埌鎶婄殑鐢╰oolCodeId
+                //绠″埌鎶�
+                if("1".equals(baseTools.getAccuracyClass())){
+                    //澧炲姞搴撳瓨鏄庣粏鍙敤搴撳瓨锛屼慨鏀圭姸鎬�
+                    ToolLedgerDetail toolLedgerDetail = toolLedgerDetailService.lambdaQuery()
+                            .eq(ToolLedgerDetail::getToolCode,inboundDetailVo.getToolCodeId())
+                            .eq(ToolLedgerDetail::getToolId,inboundDetailVo.getOnlyCode()).one();
+                    toolLedgerDetail.setQuantity(BigDecimal.ONE);
+                    toolLedgerDetail.setRemainingPercentage(BigDecimal.ONE);
+                    toolLedgerDetail.setPositionCode(locationCodeId);
+                    toolLedgerDetail.setStatus("1");
+                    toolLedgerDetailService.updateById(toolLedgerDetail);
+                    //淇濆瓨鍏ュ簱娴佹按
+                    InStoreDetail inStoreDetail = new InStoreDetail();
+                    inStoreDetail.setInboundTime(new Date());
+                    inStoreDetail.setOperateType("1");
+                    inStoreDetail.setInNumber(BigDecimal.ONE);
+                    inStoreDetail.setInStorehouseType("5");
+                    inStoreDetail.setInStorehouseId(orderId);
+                    inStoreDetail.setToolCode(inboundDetailVo.getToolCodeId());
+                    inStoreDetail.setToolId(inboundDetailVo.getOnlyCode());
+                    inStoreDetail.setGoodsShelvesId(locationCodeId);
+                    inStoreDetailService.save(inStoreDetail);
+                    //涓嶇鍒版妸
+                }else {
+                    //澧炲姞搴撳瓨鏄庣粏鍙敤搴撳瓨锛屼慨鏀圭姸鎬�
+                    ToolLedgerDetail toolLedgerDetail = toolLedgerDetailService.lambdaQuery().eq(ToolLedgerDetail::getToolCode,inboundDetailVo.getToolCodeId()).one();
+                    toolLedgerDetail.setQuantity(toolLedgerDetail.getQuantity().add(inboundDetailVo.getInStorageQuantity()));
+                    toolLedgerDetail.setStatus("1");
+                    toolLedgerDetail.setPositionCode(locationCodeId);
+                    toolLedgerDetailService.updateById(toolLedgerDetail);
+                    //淇濆瓨鍏ュ簱娴佹按
+                    InStoreDetail inStoreDetail = new InStoreDetail();
+                    inStoreDetail.setInboundTime(new Date());
+                    inStoreDetail.setOperateType("1");
+                    inStoreDetail.setInNumber(inboundDetailVo.getInStorageQuantity());
+                    inStoreDetail.setInStorehouseType("5");
+                    inStoreDetail.setInStorehouseId(orderId);
+                    inStoreDetail.setToolCode(inboundDetailVo.getToolCodeId());
+                    inStoreDetail.setGoodsShelvesId(locationCodeId);
+                    inStoreDetailService.save(inStoreDetail);
+                }
+                //鏇存敼鏄庣粏鍏ュ簱鐘舵�佸強瀹為檯鍏ュ簱鏁伴噺
+                InboundDetail inboundDetail = inboundDetailService.getById(inboundDetailVo.getId());
+                inboundDetail.setInStatus("3");
+                inboundDetail.setInActualCount(inboundDetailVo.getInStorageQuantity());
+                inboundDetailService.updateById(inboundDetail);
+            }
+            Map<String,String> result = new HashMap<>();
+            result.put("content","淇濆瓨鎴愬姛");
+            results.add(result);
+        }
+        //鏇存敼鐢宠鍗曞叆搴撶姸鎬�
+        InboundOrder inboundOrder = this.getById(orderId);
+        List<InboundDetail> inboundDetailList = inboundDetailService.lambdaQuery().eq(InboundDetail::getInStorehouseId,orderId).list();
+        boolean flag = inboundDetailList.stream().allMatch(inboundDetail -> "3".equals(inboundDetail.getInStatus()));
+        if(flag){
+            inboundOrder.setInStatus("3");
+        }else {
+            inboundOrder.setInStatus("2");
+        }
+        this.updateById(inboundOrder);
+        return results;
+    }
+
+    private LoginUser getCurrentUser() {
+        // 鑾峰彇褰撳墠璁よ瘉鐨勭櫥褰曠敤鎴蜂俊鎭�
+        Subject currentUser = SecurityUtils.getSubject();
+        if (currentUser != null && currentUser.isAuthenticated()) {
+            Object principal = currentUser.getPrincipal();
+            if (principal instanceof LoginUser) {
+                return (LoginUser) principal;
+            }
+        }
+        return null;
+    }
+
+    private FlowMyBusiness getFlowMyBusiness(String instanceId) {
+        List<FlowMyBusiness> businessList = flowMyBusinessService.list(
+                new LambdaQueryWrapper<FlowMyBusiness>().eq(FlowMyBusiness::getProcessInstanceId, instanceId));
+        return businessList.isEmpty() ? null : businessList.get(0);
+    }
+
+    private boolean isUserAuthorized(FlowMyBusiness flowMyBusiness, LoginUser user) {
+        List<String> todoUsers = JSON.parseArray(flowMyBusiness.getTodoUsers(), String.class);
+        return todoUsers != null && todoUsers.contains(user.getUsername());
+    }
+
+    private boolean claimTask(String taskId, LoginUser user) {
+        Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
+        if (task == null) {
+            return false;
+        }
+        if (task.getAssignee() != null && !task.getAssignee().equals(user.getUsername())) {
+            return false;
+        }
+        taskService.claim(taskId, user.getUsername());
+        return true;
+    }
+
+    private void setupProcessVariables(InboundOrderFlowDto inboundOrderFlowDto, InboundOrder inboundOrder, LoginUser user) {
+        if ("2".equals(inboundOrder.getOrderStatus()) && user.getUsername().equals(inboundOrder.getReviewer())) {
+            Map<String, Object> values = new HashMap<>();
+            values.put("dataId", inboundOrder.getId());
+            values.put("organization", inboundOrderFlowDto.getApprovalOpinion());
+            values.put("comment", inboundOrderFlowDto.getApprovalOpinion());
+            values.put("status", inboundOrderFlowDto.getStatus());
+            values.put("NextAssignee", Collections.singletonList(inboundOrder.getReviewer()));
+            inboundOrderFlowDto.setValues(values);
+        }
+    }
+}

--
Gitblit v1.9.3