From 754bc2945aa5c91a510780d8e2c451c3bae576fb Mon Sep 17 00:00:00 2001
From: 王佳豪 <g675230687@126.com>
Date: 星期五, 25 六月 2021 17:05:44 +0800
Subject: [PATCH] 1.发货通知-平仓出库支持生产单号的搜索过滤

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   68 ++++++++++++++++++++-------------
 1 files changed, 41 insertions(+), 27 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 01e4540..da0c1cf 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -182,8 +182,8 @@
                 String maxKeySql = "select max(FInterID) as num from CPICMO";
                 List<ERPselectParam> maxKeyList = erpSqlServer.select(maxKeySql, ERPselectParam.class);
                 Integer maxKey = maxKeyList.get(0).getNum();
-                String ErpSql = "insert into CPICMO(FBrNo, FSourceBillNo, FBillNo, FTranType, FStatus, FMRP, FItemID, FQty, FCommitQty, FSourceEntryID, FClosed, FUnitID, FAuxCommitQty, FCancellation, FQtyFinish, FQtyScrap, FQtyLost, FAuxQtyFinish, FAuxQtyScrap, FAuxQtyLost, FMrpClosed, FBomInterID, FQtyPass, FAuxQtyPass, FQtyBack, FAuxQtyBack, FFinishTime, FReadyTIme, FPowerCutTime, FFixTime, FWaitItemTime, FWaitToolTime, FTaskID, FWorkTypeID, FCostObjID, FStockQty, FAuxStockQty, FSuspend, FReleasedQty, FReleasedAuxQty, FUnScheduledQty, FUnScheduledAuxQty, FSubEntryID, FScheduleID, FPlanOrderInterID, FProcessPrice, FProcessFee, FGMPBatchNo, FGMPCollectRate, FGMPItemBalance, FGMPBulkQty, FCustID, FMRPLockFlag, FHandworkClose, FInHighLimit, FInHighLimitQty, FInLowLimit, FInLowLimitQty, FChangeTimes, FCheckCommitQty, FAuxCheckCommitQty, FPlanConfirmed, FPlanMode, FMTONo, FPrintCount, FFinClosed, FStockFlag, FStartFlag, FVchBillNo, FVchInterID, FCardClosed, FHRReadyTime, FSourceTranType, FSourceInterId, FInterID, FAuxQty, FAuxInHighLimitQty, FAuxInLowLimitQty, Fnumber, FWorkShop) values (0, 0, '0', 85, 0, 1052, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '0', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14036, '0', 0, 0, 14215, 0, '0', 0, 1059, 0, 0, 0, 0, {0,number,#}, {1,number,#}, {2,number,#}, {3,number,#}, ''{4}'', 11378)";
-                ErpSql = MessageFormat.format(ErpSql, maxKey + 1, es.getCount(), es.getCount(), es.getCount(), es.getMatNo());
+                String ErpSql = "insert into CPICMO(FBrNo, FSourceBillNo, FBillNo, FTranType, FStatus, FMRP, FItemID, FQty, FCommitQty, FSourceEntryID, FClosed, FUnitID, FAuxCommitQty, FCancellation, FQtyFinish, FQtyScrap, FQtyLost, FAuxQtyFinish, FAuxQtyScrap, FAuxQtyLost, FMrpClosed, FBomInterID, FQtyPass, FAuxQtyPass, FQtyBack, FAuxQtyBack, FFinishTime, FReadyTIme, FPowerCutTime, FFixTime, FWaitItemTime, FWaitToolTime, FTaskID, FWorkTypeID, FCostObjID, FStockQty, FAuxStockQty, FSuspend, FReleasedQty, FReleasedAuxQty, FUnScheduledQty, FUnScheduledAuxQty, FSubEntryID, FScheduleID, FPlanOrderInterID, FProcessPrice, FProcessFee, FGMPBatchNo, FGMPCollectRate, FGMPItemBalance, FGMPBulkQty, FCustID, FMRPLockFlag, FHandworkClose, FInHighLimit, FInHighLimitQty, FInLowLimit, FInLowLimitQty, FChangeTimes, FCheckCommitQty, FAuxCheckCommitQty, FPlanConfirmed, FPlanMode, FMTONo, FPrintCount, FFinClosed, FStockFlag, FStartFlag, FVchBillNo, FVchInterID, FCardClosed, FHRReadyTime, FSourceTranType, FSourceInterId, FInterID, FAuxQty, FAuxInHighLimitQty, FAuxInLowLimitQty, Fnumber, FWorkShop) values (0, ''{6}'', '0', 85, 0, 1052, 0, 0, 0, 0, 0, 250, {5,number,#}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '0', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14036, '0', 0, 0, 14215, 0, '0', 0, 1059, 0, 0, 0, 0, {0,number,#}, {1,number,#}, {2,number,#}, {3,number,#}, ''{4}'', 11378)";
+                ErpSql = MessageFormat.format(ErpSql, maxKey + 1, es.getCount(), es.getCount(), es.getCount(), es.getMatNo(), es.getCount(), es.getStr5());
                 erpSqlServer.update(ErpSql);
             }
         }
@@ -327,30 +327,35 @@
         BasDevp staNo = basDevpService.checkSiteStatus(devpNo);
         if (!Cools.isEmpty(staNo.getFronting()) && staNo.getFronting().equals("Y")) {
             // 灏忚溅鍏ュ簱鎼繍鍛戒护 ----------------------------------------------------
-            BasAgv idleAgv = basAgvService.selectIdleAgv();
-            AgvCommand command = new AgvCommand();
-            command.setAgvId(idleAgv.getAgvId());
-            command.setInterCode(basAgvService.getEmptyAgvWorkNo());
-            command.setBeginLoc(String.valueOf(devpNo));
-            command.setEndLoc("1088");
-            log.info(JSON.toJSONString(command));
-            String result;
-            try {
-                result = new HttpHandler.Builder()
-                        .setUri(agvUrl + "/api/interfaceTask/SendTaskByThirdParty")
-                        .setJson(JSON.toJSONString(command))
-                        .build()
-                        .doPost();
-            } catch (IOException e) {
-                e.printStackTrace();
-                throw new CoolException("璁块棶AGV鎺ュ彛澶辫触");
+            // 鍒ゆ柇鏄惁鏈夌┖闂插皬杞�
+            if (basAgvService.haveIdleAgv()) {
+                AgvCommand command = new AgvCommand();
+                command.setAgvId(0);
+                command.setInterCode(basAgvService.getEmptyAgvWorkNo());
+                command.setBeginLoc(String.valueOf(devpNo));
+                command.setEndLoc("1088");
+                log.info(JSON.toJSONString(command));
+                String result;
+                try {
+                    result = new HttpHandler.Builder()
+                            .setUri(agvUrl + "/api/interfaceTask/SendTaskByThirdParty")
+                            .setJson(JSON.toJSONString(command))
+                            .build()
+                            .doPost();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                    throw new CoolException("璁块棶AGV鎺ュ彛澶辫触");
+                }
+                AgvResult agvResult = JSON.parseObject(result, AgvResult.class);
+                log.info(JSON.toJSONString(agvResult));
+                if (!agvResult.getResult()) {
+                    log.error("agv鍛戒护鍙戦�佸け璐agvId={}]锛岄敊璇俊鎭�={}", command.getAgvId(), agvResult.getExplain());
+                    throw new CoolException("agv鍛戒护鍙戦�佸け璐agvId=" + command.getAgvId() + "]锛岄敊璇俊鎭�=" + agvResult.getExplain());
+                }
+            } else {
+                throw new CoolException("娌℃湁绌洪棽灏忚溅");
             }
-            AgvResult agvResult = JSON.parseObject(result, AgvResult.class);
-            log.info(JSON.toJSONString(agvResult));
-            if (!agvResult.getResult()) {
-                log.error("agv鍛戒护鍙戦�佸け璐agvId={}]锛岄敊璇俊鎭�={}", command.getAgvId(), agvResult.getExplain());
-                throw new CoolException("agv鍛戒护鍙戦�佸け璐agvId=" + command.getAgvId() + "]锛岄敊璇俊鎭�=" + agvResult.getExplain());
-            }
+
             return "寰呭畾";
         } else {
             // 婧愮珯鐐圭姸鎬佹娴�
@@ -474,6 +479,13 @@
         if (Cools.isEmpty(param.getOutSite())) {
             throw new CoolException("绔欑偣涓嶅瓨鍦�");
         }
+        // 鐩爣绔欑偣鐘舵�佹娴�
+        BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
+        int agvSite = 0;
+        if (!Cools.isEmpty(staNo.getFronting()) && staNo.getFronting().equals("Y")) {
+            agvSite = staNo.getDevNo();
+            staNo = basDevpService.checkSiteStatus(201);
+        }
         for (String locNo : param.getLocNos()) {
             // 鑾峰彇宸ヤ綔鍙�
             int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE);
@@ -485,7 +497,7 @@
             // 鑾峰彇婧愮珯
             Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
                     .eq("type_no", 110)
-                    .eq("stn_no", param.getOutSite())
+                    .eq("stn_no", staNo.getDevNo())
                     .eq("crn_no", locMast.getCrnNo());
             StaDesc staDesc = staDescService.selectOne(wrapper);
             Integer sourceStaNo = staDesc.getCrnStn();
@@ -500,7 +512,7 @@
             wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱
             wrkMast.setIoPri(10D);
             wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯
-            wrkMast.setStaNo(param.getOutSite()); // 鐩爣绔�
+            wrkMast.setStaNo(staNo.getDevNo()); // 鐩爣绔�
             wrkMast.setCrnNo(locMast.getCrnNo());
             wrkMast.setSourceLocNo(locNo); // 婧愬簱浣�
             wrkMast.setFullPlt("N"); // 婊℃澘锛歒
@@ -508,6 +520,8 @@
             wrkMast.setExitMk("N"); // 閫�鍑�
             wrkMast.setEmptyMk("Y"); // 绌烘澘
             wrkMast.setLinkMis("N");
+            wrkMast.setCtnKind(agvSite); // 鍑哄簱涓嬬殑灏忚溅宸ヤ綔鍖虹珯濂�
+            wrkMast.setExitMk("N"); // 灏忚溅鏄惁鎼繍
             wrkMast.setAppeUser(userId);
             wrkMast.setAppeTime(new Date());
             wrkMast.setModiUser(userId);

--
Gitblit v1.9.1