From 11909a2bb1d898f4824c03172fb040852830770f Mon Sep 17 00:00:00 2001
From: zhangchao <zc857179121@qq.com>
Date: 星期五, 08 十一月 2024 16:21:27 +0800
Subject: [PATCH] 去除前端提交的参数带空格

---
 src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java |  254 +++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 236 insertions(+), 18 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
index e66cebf..c714da8 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -5,6 +5,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
+import com.core.common.SnowflakeIdWorker;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.LocDetlAdjustParam;
@@ -17,6 +18,8 @@
 import com.zy.common.model.TaskDto;
 import com.zy.common.service.AgvCommonService;
 import com.zy.common.web.BaseController;
+import com.zy.system.entity.Config;
+import com.zy.system.service.ConfigService;
 import lombok.Synchronized;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -69,6 +72,14 @@
     private AgvWrkDetlLogService agvWrkDetlLogService;
     @Autowired
     private WrkMastExecuteService wrkMastExecuteService;
+    @Autowired
+    private ConfigService configService;
+    @Autowired
+    private SnowflakeIdWorker snowflakeIdWorker;
+    @Autowired
+    private FlowLogService flowLogService;
+    @Autowired
+    private LocDetlServiceImpl locDetlService;
 
 
     /*
@@ -139,6 +150,7 @@
             //鐢熸垚宸ヤ綔妗�
             AgvWrkMast wrkMast = createWrkMast(ioType,wrkSts,sourceLocNo,targetLocNo,containerCode,now,userId,Short.valueOf(containerCode.substring(0,2)));
             //鐢熸垚宸ヤ綔妗f槑缁�
+            long flowId = snowflakeIdWorker.nextId();
             taskDto.getLocDtos().forEach(locDto -> {
                 if (!BaseController.isJSON(locDto.getOrderNo())) {
                     //鏄庣粏妗f墍闇�鍙傛暟
@@ -153,6 +165,36 @@
                             locDto.getCsocode(),
                             locDto.getIsoseq(),
                             locDto.getProcessSts());
+                    OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch(), locDto.getCsocode(), locDto.getIsoseq());
+                    AgvLocDetl locDetl = agvLocDetlService.selectItem(wrkMast.getSourceLocNo(), locDto.getMatnr(), locDto.getBatch(), locDto.getCsocode(), locDto.getIsoseq());
+                    // 娴佹按 -- 鏂板璁㈠崟鏄庣粏
+//                    FlowLog flowLog = new FlowLog();
+//                    flowLog.setFid(String.valueOf(flowId));
+//                    flowLog.setSpare2(wrkMast.getWrkNo().toString());
+//                    flowLog.setLocNo(wrkMast.getSourceLocNo());
+//                    flowLog.setSpare1(containerCode);
+//                    flowLog.setOpType(4L);
+//                    flowLog.setOrderNo(locDto.getOrderNo());
+//                    flowLog.setThreeCode(locDto.getCsocode());
+//                    flowLog.setMatnr(locDto.getMatnr());
+//                    flowLog.setMaktx(locDto.getMaktx());
+//                    flowLog.setOrderPrevious(orderDetl.getAnfme());
+//                    flowLog.setOrderCurrent(orderDetl.getAnfme());
+//                    flowLog.setOrderChanged(0.0);
+//
+//                    flowLog.setQtyPrevious(orderDetl.getQty());
+//                    flowLog.setQtyCurrent(orderDetl.getQty() + locDto.getAnfme());
+//                    flowLog.setQtyChanged(locDto.getAnfme());
+//
+//                    flowLog.setLocPrevious(locDetl.getAnfme());
+//                    flowLog.setLocCurrent(locDetl.getAnfme() - locDto.getAnfme());
+//                    flowLog.setLocChanged(locDto.getAnfme());
+//                    flowLog.setUserId(userId);
+//                    flowLog.setAppeTime(now);
+//                    if (!flowLogService.insert(flowLog)) {
+//                        throw new CoolException("鍚屾鍗婃垚鍝佽皟鎷ㄥ崟娴佹按璁板綍澶辫触");
+//                    }
+
                 }else {
                     List<OrderDto> orderDtoList = JSON.parseArray(locDto.getOrderNo(), OrderDto.class);
                     orderDtoList.forEach(orderDto -> {
@@ -170,6 +212,7 @@
                                 locDto.getProcessSts());
                     });
                 }
+
 
                 //淇敼璁㈠崟淇℃伅
                 modifyOrderDetl(locDto, userId);
@@ -213,6 +256,7 @@
             //鐢熸垚宸ヤ綔妗�
             AgvWrkMast wrkMast = createWrkMast(ioType,wrkSts,sourceLocNo,targetLocNo,containerCode,now,userId,Short.valueOf(containerCode.substring(0,2)));
             //鐢熸垚宸ヤ綔妗f槑缁�
+            long flowId = snowflakeIdWorker.nextId();
             taskDto.getLocDtos().forEach(locDto -> {
                 if (!BaseController.isJSON(locDto.getOrderNo())) {
                     //鏄庣粏妗f墍闇�鍙傛暟
@@ -227,6 +271,35 @@
                             locDto.getCsocode(),
                             locDto.getIsoseq(),
                             locDto.getProcessSts());
+                    OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch(), locDto.getCsocode(), locDto.getIsoseq());
+                    AgvLocDetl locDetl = agvLocDetlService.selectItem(wrkMast.getSourceLocNo(), locDto.getMatnr(), locDto.getBatch(), locDto.getCsocode(), locDto.getIsoseq());
+
+//                    FlowLog flowLog = new FlowLog();
+//                    flowLog.setFid(String.valueOf(flowId));
+//                    flowLog.setSpare2(wrkMast.getWrkNo().toString());
+//                    flowLog.setLocNo(wrkMast.getSourceLocNo());
+//                    flowLog.setSpare1(containerCode);
+//                    flowLog.setOpType(6L);
+//                    flowLog.setOrderNo(locDto.getOrderNo());
+//                    flowLog.setThreeCode(locDto.getCsocode());
+//                    flowLog.setMatnr(locDto.getMatnr());
+//                    flowLog.setMaktx(locDto.getMaktx());
+//                    flowLog.setOrderPrevious(orderDetl.getAnfme());
+//                    flowLog.setOrderCurrent(orderDetl.getAnfme());
+//                    flowLog.setOrderChanged(0.0);
+//
+//                    flowLog.setQtyPrevious(orderDetl.getQty());
+//                    flowLog.setQtyCurrent(orderDetl.getQty() + locDto.getAnfme());
+//                    flowLog.setQtyChanged(locDto.getAnfme());
+//
+//                    flowLog.setLocPrevious(locDetl.getAnfme());
+//                    flowLog.setLocCurrent(locDetl.getAnfme() - locDto.getAnfme());
+//                    flowLog.setLocChanged(locDto.getAnfme());
+//                    flowLog.setUserId(userId);
+//                    flowLog.setAppeTime(now);
+//                    if (!flowLogService.insert(flowLog)) {
+//                        throw new CoolException("鍚屾鍗婃垚鍝佽皟鎷ㄥ崟娴佹按璁板綍澶辫触");
+//                    }
                 }else {
                     List<OrderDto> orderDtoList = JSON.parseArray(locDto.getOrderNo(), OrderDto.class);
                     orderDtoList.forEach(orderDto -> {
@@ -280,11 +353,21 @@
             String locNo = agvWrkMast.getLocNo();
             agvWrkMast.setLocNo(agvWrkMast.getSourceLocNo());
             agvWrkMast.setSourceLocNo(locNo);
+            agvWrkMast.setModiTime(now);
             agvWrkMast.setIoTime(now);
             agvWrkMast.setLogErrMemo("createWaitPainWrkMastStart");
             agvWrkMastService.updateById(agvWrkMast);
 
             List<AgvWrkDetl> agvWrkDetlList = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", agvWrkMast.getWrkNo()));
+            for (AgvWrkDetl agvWrkDetl : agvWrkDetlList) {
+                agvWrkDetl.setIoTime(now);
+                boolean bl = agvWrkDetlService.update(agvWrkDetl,new EntityWrapper<AgvWrkDetl>()
+                        .eq("wrk_no", agvWrkDetl.getWrkNo())
+                        .eq("matnr",agvWrkDetl.getMatnr())
+                        .eq("order_no",agvWrkDetl.getOrderNo())
+                        .eq("three_code",agvWrkDetl.getThreeCode()));
+//                        .eq("dead_time",agvWrkDetl.getDeadTime()));
+            }
             AgvLocMast agvLocMast = agvLocMastService.selectById(agvWrkMast.getLocNo());
             //List<AgvLocDetl> agvLocDetlList = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no",agvLocMast.getLocNo()));
             AgvBasDevp agvBasDevp = agvBasDevpService.selectById(agvWrkMast.getSourceLocNo());
@@ -432,7 +515,7 @@
             br = 2;
         }
         if (agvBasDevp.getLocType1() != br) {
-            throw new CoolException("绔欑偣寮傚父锛�");
+            throw new CoolException("绔欑偣绫诲瀷鍜岃揣鏋剁被鍨嬩笉绗︼紒");
         }
         if (containerType == 40) {
             locType = 5;
@@ -476,13 +559,28 @@
                     }
                 }
             });
-            if (isCurrLev.get()) {
-                agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),false,true);
+
+
+            Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "elevatorTasks"));
+            if (Cools.isEmpty(config)) {
+                if (isCurrLev.get()) {
+                    agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),false,true);
+                } else {
+                    agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),false,false);
+                }
             } else {
-                agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),false,false);
+                List<AgvWrkMast> agvWrkMasts = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().like("loc_no", "02F1").like("source_loc_no", "F1"));
+                if (Integer.parseInt(config.getValue()) <= agvWrkMasts.size()) {
+                    agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),false,true);
+                } else {
+                    if (isCurrLev.get()) {
+                        agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),false,true);
+                    } else {
+                        agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),false,false);
+                    }
+                    //agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),false,false);
+                }
             }
-
-
 
             String devNo = agvBasDevp.getDevNo();
             String locNo = agvLocMast.getLocNo();
@@ -490,6 +588,7 @@
             //鐢熸垚宸ヤ綔妗�
             AgvWrkMast wrkMast = createWrkMast(1,201L,devNo,locNo,containerCode,now,userId, containerType);
             //鐢熸垚宸ヤ綔妗f槑缁�
+            long flowId = snowflakeIdWorker.nextId();
             agvWaitPakinList.forEach(wp -> {
                 createWrkDetlReWrite(wp.getMatnr(),wrkMast.getWrkNo(),wp.getOrderNo(),wp.getBatch(),wp.getAnfme(),wp.getSuppCode(),now,userId,wp.getThreeCode(),wp.getDeadTime(),wp.getProcessSts());
             });
@@ -514,7 +613,6 @@
         updateAgvLocMast(agvLocMast,"S");
         return agvLocMast.getLocNo();
     }
-
     /*
     绌烘澘鍑哄簱
      */
@@ -526,6 +624,10 @@
         AgvBasDevp agvBasDevp = agvBasDevpService.selectById(station);
         if(!agvBasDevp.getLocSts().equals("O")){
             throw new CoolException("褰撳墠宸ヤ綔浣嶇姸鎬佷负" + agvBasDevp.getLocSts()+",鏃犳硶杩涜绌烘澘鍑哄簱");
+        }
+        AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", agvBasDevp.getDevNo()));
+        if(!Cools.isEmpty(agvWrkMast)){
+            throw new CoolException("鏈夎揣鏋跺湪寰�绔欑偣鎼繍" + agvBasDevp.getDevNo()+",鏃犳硶杩涜绌烘澘鍑哄簱");
         }
 
         //瀵绘壘鐩稿簲绫诲瀷鐨勭┖璐ф灦
@@ -587,6 +689,7 @@
                         adjDetl.setLocNo(locDetl.getLocNo());
                         adjDetl.setMatnr(locDetl.getMatnr());
                         adjDetl.setBatch(locDetl.getBatch());
+                        adjDetl.setMaktx(locDetl.getMaktx());
                         adjDetl.setOriQty(locDetl.getAnfme());
                         adjDetl.setAdjQty(adjust.getCount());
                         adjDetl.setModiTime(now);
@@ -618,6 +721,7 @@
             adjDetl.setLocNo(locDetl.getLocNo());
             adjDetl.setMatnr(locDetl.getMatnr());
             adjDetl.setBatch(locDetl.getBatch());
+            adjDetl.setMaktx(locDetl.getMaktx());
             adjDetl.setOriQty(locDetl.getAnfme());
             adjDetl.setAdjQty(0.0D);
             adjDetl.setModiTime(now);
@@ -654,6 +758,7 @@
             adjDetl.setLocNo(locMast.getLocNo());
             adjDetl.setMatnr(adjust.getMatnr());
             adjDetl.setBatch(adjust.getBatch());
+            adjDetl.setMaktx(locDetl.getMaktx());
             adjDetl.setOriQty(0.0D);
             adjDetl.setAdjQty(adjust.getCount());
             adjDetl.setModiTime(now);
@@ -693,7 +798,9 @@
         if (Cools.isEmpty(wrkMast)){
             throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
         }
-
+        if (wrkMast.getIoType() == 113 && (wrkMast.getWrkSts() != 212L || wrkMast.getWrkSts() != 213L || wrkMast.getWrkSts() != 214L)) {
+            throw new CoolException(workNo+"涓嶆敮鎸佹墜鍔ㄧ淮鎶�");
+        }
         if (wrkMast.getIoType()==121){
             if (wrkMast.getWrkSts()<12L){
                 agvWrkMastService.updateWrkStsByWrkNo(wrkMast.getWrkNo(),205,"鎵嬪姩瀹屾垚",userId);
@@ -735,6 +842,7 @@
     @Transactional
     public void cancelWrkMast(String workNo, Long userId,Integer type) {
         AgvWrkMast wrkMast = agvWrkMastService.selectById(workNo);
+        long flowId = snowflakeIdWorker.nextId();
         if (Cools.isEmpty(wrkMast)){
             throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
         }
@@ -800,9 +908,37 @@
                         // 鍥炴粴鍏ュ簱璁㈠崟
                         OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("three_code", agvWaitPakin.getThreeCode()).eq("matnr", agvWaitPakin.getMatnr()).eq("order_no", agvWaitPakin.getOrderNo()));
                         orderDetl.setQty(orderDetl.getQty() - agvWaitPakin.getAnfme());
+
                         if (!orderDetlService.updateById(orderDetl)) {
                             throw new CoolException("璁㈠崟鍥炴粴澶辫触");
                         }
+//                        FlowLog flowLog = new FlowLog();
+//                        flowLog.setFid(String.valueOf(flowId));
+//                        flowLog.setSpare2(wrkMast.getWrkNo().toString());
+//                        flowLog.setLocNo(locNo);
+//                        flowLog.setSpare1(wrkMast.getBarcode());
+//                        flowLog.setOpType(3L);
+//                        flowLog.setOrderNo(agvWaitPakin.getOrderNo());
+//                        flowLog.setThreeCode(agvWaitPakin.getThreeCode());
+//                        flowLog.setMatnr(agvWaitPakin.getMatnr());
+//                        flowLog.setMaktx(agvWaitPakin.getMaktx());
+//                        flowLog.setOrderPrevious(orderDetl.getAnfme());
+//                        flowLog.setOrderCurrent(orderDetl.getAnfme());
+//                        flowLog.setOrderChanged(0.0);
+//
+//                        flowLog.setQtyPrevious(orderDetl.getQty());
+//                        flowLog.setQtyCurrent(orderDetl.getQty()-agvWaitPakin.getAnfme());
+//                        flowLog.setQtyChanged(-agvWaitPakin.getAnfme());
+//
+//                        flowLog.setLocPrevious(0.0);
+//                        flowLog.setLocCurrent(0.0);
+//                        flowLog.setLocChanged(-agvWaitPakin.getAnfme());
+//
+//                        flowLog.setUserId(userId);
+//                        flowLog.setAppeTime(new Date());
+//                        if (!flowLogService.insert(flowLog)) {
+//                            throw new CoolException("鍚屾鍗婃垚鍝佽皟鎷ㄥ崟娴佹按璁板綍澶辫触");
+//                        }
                         // 鍒犻櫎缁勬墭妗�
                         if (!agvWaitPakinService.delete(new EntityWrapper<AgvWaitPakin>().eq("supp_code",agvWaitPakin.getSuppCode()).eq("matnr",agvWaitPakin.getMatnr()).eq("three_code",agvWaitPakin.getThreeCode()))) {
                             throw new CoolException("鍏ュ簱閫氱煡妗e彇娑堝け璐�");
@@ -822,18 +958,50 @@
                 String targetLocNo = wrkMast.getLocNo();
                 agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo));
                 agvLocMastService.updateLocStsByLocNo(targetLocNo,"O","",null);
+                // 婧愬簱浣� 搴撲綅涓绘。
+                AgvLocMast sourceLocMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", locNo));
                 AgvLocMast locMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", targetLocNo));
                 // 褰撳墠浠诲姟鏄法灞傜Щ搴�  涓旂洰鏍囨ゼ灞傛槸1妤肩殑 鍥炴粴璋冩嫧鍗�
-                if (wrkMast.getIoType() == 12 && locMast.getFloor() == 1) {
+                if (wrkMast.getIoType() == 12 && locMast.getFloor() == 1 && sourceLocMast.getFloor() != 1) {
                     List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo));
                     for (AgvLocDetl agvLocDetl : agvLocDetls) {
                         OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("three_code", agvLocDetl.getThreeCode()).eq("matnr", agvLocDetl.getMatnr()).eq("order_no", "DB" + agvLocDetl.getOrderNo()));
                         orderDetl.setQty(orderDetl.getQty() + agvLocDetl.getAnfme());
                         if (!orderDetlService.updateById(orderDetl)) {
-                            throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+                            throw new CoolException("鏇存柊璁㈠崟鏄庣粏澶辫触");
                         }
+//                        FlowLog flowLog = new FlowLog();
+//                        flowLog.setFid(String.valueOf(flowId));
+//                        flowLog.setSpare2(wrkMast.getWrkNo().toString());
+//                        flowLog.setLocNo(locNo);
+//                        flowLog.setSpare1(wrkMast.getBarcode());
+//                        flowLog.setOpType(8L);
+//                        flowLog.setOrderNo(agvLocDetl.getOrderNo());
+//                        flowLog.setThreeCode(agvLocDetl.getThreeCode());
+//                        flowLog.setMatnr(agvLocDetl.getMatnr());
+//                        flowLog.setMaktx(agvLocDetl.getMaktx());
+//                        flowLog.setOrderPrevious(orderDetl.getAnfme());
+//                        flowLog.setOrderCurrent(orderDetl.getAnfme());
+//                        flowLog.setOrderChanged(0.0);
+//
+//                        flowLog.setQtyPrevious(orderDetl.getQty());
+//                        flowLog.setQtyCurrent(orderDetl.getQty() + agvLocDetl.getAnfme());
+//                        flowLog.setQtyChanged(-agvLocDetl.getAnfme());
+//
+//                        flowLog.setLocPrevious(0.0);
+//                        flowLog.setLocCurrent(agvLocDetl.getAnfme());
+//                        flowLog.setLocChanged(agvLocDetl.getAnfme());
+//
+//                        flowLog.setUserId(userId);
+//                        flowLog.setAppeTime(new Date());
+//                        if (!flowLogService.insert(flowLog)) {
+//                            throw new CoolException("鍚屾鍗婃垚鍝佽皟鎷ㄥ崟娴佹按璁板綍澶辫触");
+//                        }
                     }
+                } else {
+
                 }
+
                 // 鑷姩璋冩嫧鍑哄簱鍙栨秷
             } else if(wrkMast.getIoType() == 108 || wrkMast.getIoType() == 111 || wrkMast.getIoType() == 112) {
                 if (wrkMast.getIoType() == 112) {
@@ -843,15 +1011,15 @@
                 String locNo = wrkMast.getSourceLocNo();
                 // 鐩爣搴撲綅
                 String targetLocNo = wrkMast.getLocNo();
-                agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo),"",(short)0);
+                agvLocMastService.updateLocStsByLocNo(locNo, "F", wrkMast.getBarcode(), (short) getContainerTypeByloc(locNo), "", (short) 0);
                 if (wrkMast.getIoType() == 108) {
                     if (wrkMast.getWrkSts() != 22) {
-                        agvLocMastService.updateLocStsByLocNo(targetLocNo,"O","",null);
+                        agvLocMastService.updateLocStsByLocNo(targetLocNo, "O", "", null);
                     }
                 } else {
                     if (wrkMast.getWrkSts() != 207L && wrkMast.getWrkSts() != 205L) {
                         if (wrkMast.getWrkSts() != 22) {
-                            agvBasDevpService.updateLocStsAndBarcodeByDevNo(targetLocNo,"O","",wrkMast.getWhsType().shortValue());
+                            agvBasDevpService.updateLocStsAndBarcodeByDevNo(targetLocNo, "O", "", wrkMast.getWhsType().shortValue());
                         }
                     } else {
                         throw new CoolException("褰撳墠浣滀笟涓嶈兘鍙栨秷锛�");
@@ -863,10 +1031,58 @@
                 List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo));
                 // 鏇存柊璁㈠崟
                 for (AgvLocDetl agvLocDetl : agvLocDetls) {
-                    OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", "DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()));
+                    OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", "DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code", agvLocDetl.getThreeCode()));
                     orderDetl.setQty(orderDetl.getQty() - agvLocDetl.getAnfme());
-                    if (!orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>().eq("order_no","DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()))){
-                        throw new CoolException("淇敼璁㈠崟鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"+agvLocDetl.getOrderNo()+agvLocDetl.getMatnr());
+                    if (!orderDetlService.update(orderDetl, new EntityWrapper<OrderDetl>().eq("order_no", "DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code", agvLocDetl.getThreeCode()))) {
+                        throw new CoolException("淇敼璁㈠崟鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�" + agvLocDetl.getOrderNo() + agvLocDetl.getMatnr());
+                    }
+//                    FlowLog flowLog = new FlowLog();
+//                    flowLog.setFid(String.valueOf(flowId));
+//                    flowLog.setSpare2(wrkMast.getWrkNo().toString());
+//                    flowLog.setLocNo(locNo);
+//                    flowLog.setSpare1(wrkMast.getBarcode());
+//                    flowLog.setOpType(9L);
+//                    flowLog.setOrderNo(agvLocDetl.getOrderNo());
+//                    flowLog.setThreeCode(agvLocDetl.getThreeCode());
+//                    flowLog.setMatnr(agvLocDetl.getMatnr());
+//                    flowLog.setMaktx(agvLocDetl.getMaktx());
+//                    flowLog.setOrderPrevious(orderDetl.getAnfme());
+//                    flowLog.setOrderCurrent(orderDetl.getAnfme());
+//                    flowLog.setOrderChanged(0.0);
+//
+//                    flowLog.setQtyPrevious(orderDetl.getQty());
+//                    flowLog.setQtyCurrent(orderDetl.getQty() - agvLocDetl.getAnfme());
+//                    flowLog.setQtyChanged(- agvLocDetl.getAnfme());
+//
+//                    flowLog.setLocPrevious(0.0);
+//                    flowLog.setLocCurrent(agvLocDetl.getAnfme());
+//                    flowLog.setLocChanged(agvLocDetl.getAnfme());
+//
+//                    flowLog.setUserId(userId);
+//                    flowLog.setAppeTime(new Date());
+//                    if (!flowLogService.insert(flowLog)) {
+//                        throw new CoolException("鍚屾鍗婃垚鍝佽皟鎷ㄥ崟娴佹按璁板綍澶辫触");
+//                    }
+                }
+
+                // 鍥炴祦鍗曞彇娑�
+            } else if (wrkMast.getIoType() == 114) {
+                //婧愬簱浣�
+                String locNo = wrkMast.getSourceLocNo();
+                // 鐩爣搴撲綅
+                String targetLocNo = wrkMast.getLocNo();
+                agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo));
+                agvLocMastService.updateLocStsByLocNo(targetLocNo,"O","",null);
+                // 婧愬簱浣� 搴撲綅涓绘。
+                AgvLocMast sourceLocMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", locNo));
+                AgvLocMast locMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", targetLocNo));
+                // 褰撳墠浠诲姟鏄法灞傜Щ搴�  涓旂洰鏍囨ゼ灞傛槸1妤肩殑 鍥炴粴璋冩嫧鍗�
+                List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo));
+                for (AgvLocDetl agvLocDetl : agvLocDetls) {
+                    OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("three_code", agvLocDetl.getThreeCode()).eq("matnr", agvLocDetl.getMatnr()).eq("source", 17));
+                    orderDetl.setQty(orderDetl.getQty() - agvLocDetl.getAnfme());
+                    if (!orderDetlService.updateById(orderDetl)) {
+                        throw new CoolException("鏇存柊璁㈠崟鏄庣粏澶辫触");
                     }
                 }
                 //鍑哄簱鍙栨秷
@@ -912,7 +1128,7 @@
 
             }
 
-            if(wrkMast.getIoType() != 1 && wrkMast.getIoType() != 10 && wrkMast.getIoType()!=111 && wrkMast.getIoType()!=108 && wrkMast.getIoType() != 12){
+            if(wrkMast.getIoType() != 114 && wrkMast.getIoType() != 1 && wrkMast.getIoType() != 10 && wrkMast.getIoType()!=111 && wrkMast.getIoType()!=108 && wrkMast.getIoType() != 12 && wrkMast.getIoType() != 11){
                 //璁㈠崟鍥炴粴
                 //List<AgvWrkDetl> agvWrkDetlList = agvWrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
                 List<AgvWrkDetl> agvWrkDetlList1 = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
@@ -1180,9 +1396,11 @@
         }
         if (wrkMast.getIoType() == 108) {
             wrkMast.setIoType(111);
+            wrkMast.setModiTime(new Date());
             agvWrkMastService.update(wrkMast,new EntityWrapper<AgvWrkMast>().eq("wrk_no", workNo));
         } else if(wrkMast.getIoType() == 111) {
             wrkMast.setIoType(108);
+            wrkMast.setModiTime(new Date());
             agvWrkMastService.update(wrkMast,new EntityWrapper<AgvWrkMast>().eq("wrk_no", workNo));
         }
 
@@ -1206,4 +1424,4 @@
 
     }
 
-}
+}
\ No newline at end of file

--
Gitblit v1.9.1