From 65dac074f71375381eba0a5ff8dc108cacafc3f9 Mon Sep 17 00:00:00 2001
From: Administrator <Administrator@DESKTOP-5BIMHQ3>
Date: 星期二, 25 六月 2024 10:18:16 +0800
Subject: [PATCH] Merge branch 'wxw'

---
 Wms/WMS.BLL/BllTransServer/RcsServer.cs |   62 ++++++++++++++++++++++++++-----
 1 files changed, 52 insertions(+), 10 deletions(-)

diff --git a/Wms/WMS.BLL/BllTransServer/RcsServer.cs b/Wms/WMS.BLL/BllTransServer/RcsServer.cs
index 67dac3a..5cf982d 100644
--- a/Wms/WMS.BLL/BllTransServer/RcsServer.cs
+++ b/Wms/WMS.BLL/BllTransServer/RcsServer.cs
@@ -8,6 +8,7 @@
 using Utility.Tools;
 using WMS.DAL;
 using WMS.Entity.BllAsnEntity;
+using WMS.Entity.BllSoEntity;
 using WMS.Entity.Context;
 using WMS.Entity.DataEntity;
 using WMS.Entity.LogEntity;
@@ -34,7 +35,7 @@
             {
                 var house = "W01";//鍙《浣嶇疆锛屽悗缁牴鎹綅缃叧鑱旀垨瀹氫箟锛屾潵鍒ゆ柇鍙《浣嶇疆鎵�灞炶溅闂�
                 var url = "";//鍥炰紶MES鐨勬帴鍙e湴鍧�
-                var noticeno = "";
+                var noticeno = "";//鍑哄叆搴撳崟鎹槑缁咺D
                 var sql = "select PalletNo,LocatNo from DataStockDetail where Status = '0'";
                 switch (pallnetmsg.Type)
                 {
@@ -73,7 +74,7 @@
                                     {
                                         Startport = item.LocatNo,
                                         Endport = locat.LocatNo,
-                                        Pallno = pallnetmsg.Palletno,
+                                        Pallno = item.PalletNo,
                                         Type = "4",
                                         Crtype = "0",
                                         Noticedetailno = int.Parse(noticeno),
@@ -94,7 +95,7 @@
                         {
                             throw new Exception("鎵规鍙蜂负绌猴紒");
                         }
-                        BllArrivalNoticeDetail ArriveMes = new BllArrivalNoticeDetail();
+                        /*BllArrivalNoticeDetail ArriveMes = new BllArrivalNoticeDetail();
                         //鍒ゆ柇璇ユ壒娆℃槸鍚︽湁瀵瑰簲鍏ュ簱鍗�
                         sql = $"select * from BllArrivalNoticeDetail where LotNo =  '{pallnetmsg.LotNo}' order by CreateTime desc";
                         ArriveMes = Db.Ado.SqlQuery<BllArrivalNoticeDetail>(sql).FirstOrDefault();
@@ -102,9 +103,10 @@
                         {
                             throw new Exception("璇ユ壒娆℃病鏈夊搴旂殑鍏ュ簱鍗�");
                         }
+                        noticeno = ArriveMes.Id.ToString();*/
                         //鏌ユ壘搴撳瓨涓槸鍚︽湁鍙敤鐨勬鎵规鐨勬贩鏂欐《
-                        sql += $"where a.LotNo =  '{pallnetmsg.LotNo}'and AreaNo like '%02' and a.WareHouseNo = '{house}' and b.status = '0' " +
-                            $"order by CompleteTime desc";
+                        sql= $"select PalletNo,LocatNo from DataStockDetail where a.LotNo =  '{pallnetmsg.LotNo}'and AreaNo like '%02' " +
+                            $"and a.WareHouseNo = '{house}' and b.status = '0' order by CompleteTime desc";
                         pallet = Db.Ado.SqlQuery<DataStockDetail>(sql).FirstOrDefault();
                         if (pallet == null)
                         {
@@ -113,14 +115,23 @@
 
                         break;
                     case "2"://鍙枡妗讹紙涓嬫枡锛�
+                        BllExportNoticeDetail bllSo = new BllExportNoticeDetail();
                         //鍒ゆ柇鏄惁鏈夋壒娆″彿
                         if (string.IsNullOrWhiteSpace(pallnetmsg.LotNo))
                         {
                             throw new Exception("鎵规鍙蜂负绌猴紒");
                         }
+                        //鏌ユ壘鏄惁鏈夋鎵规鍑哄簱鍗�
+                        sql = $"select * from BllSoNoticeDetail where LotNo =  '{pallnetmsg.LotNo}' order by CreateTime desc";
+                        bllSo = Db.Ado.SqlQuery<BllExportNoticeDetail>(sql).FirstOrDefault();
+                        if (bllSo == null)
+                        {
+                            throw new Exception("璇ユ壒娆℃病鏈夊搴旂殑鍑哄簱鍗�");
+                        }
+                        noticeno = bllSo.Id.ToString();
                         //鏌ユ壘搴撳瓨涓槸鍚︽湁姝ゆ壒娆$殑涓嬫枡妗�
-                        sql += $"where a.LotNo =  '{pallnetmsg.LotNo}'and AreaNo like '%03' and a.WareHouseNo = '{house}' and b.status = '0' " +
-                            $"order by CompleteTime desc";
+                        sql += $"select PalletNo,LocatNo from DataStockDetail where a.LotNo =  '{pallnetmsg.LotNo}'and AreaNo like '%03' " +
+                            $"and a.WareHouseNo = '{house}' and b.status = '0' order by CompleteTime desc";
                         pallet = Db.Ado.SqlQuery<DataStockDetail>(sql).FirstOrDefault();
                         if (pallet == null)
                         {
@@ -143,12 +154,13 @@
                 {
                     Startport = pallnetmsg.Location,
                     Endport = pallet.LocatNo,
-                    Pallno = pallnetmsg.Palletno,
+                    Pallno = pallet.PackagNo,
                     Type = pallnetmsg.Type,
                     Crtype = "1",
                     Noticedetailno = int.Parse(noticeno),
                 };
                 CreateLotTask(task);
+                return;
             }
             catch (Exception ex)
             {
@@ -165,9 +177,11 @@
         public void ApplyLocatNo(Pallnetmsg pallnetmsg)
         {
             var sql = $"select LocatNo from SysStorageLocat where status = '0'";
+            var sql2 = "";
             var house = "W01";//鈥︹�﹀彨妗朵綅缃紝鍚庣画鏍规嵁浣嶇疆鍏宠仈鎴栧畾涔夛紝鏉ュ垽鏂彨妗朵綅缃墍灞炶溅闂�
-            var noticeno = "";
+            var noticeno = "";//鍑哄叆搴撳崟鎹槑缁咺D
             SysStorageLocat loction = new SysStorageLocat();
+            BllArrivalNoticeDetail ArriveMes = new BllArrivalNoticeDetail();
             try
             {
                 switch (pallnetmsg.Type)
@@ -186,6 +200,14 @@
                         {
                             throw new Exception("鎵规鍙蜂负绌猴紒");
                         }
+                        //鏍¢獙姝ゆ壒娆℃槸鍚︽湁鍏ュ簱鍗�
+                        /*sql2 = $"select * from BllArrivalNoticeDetail where LotNo =  '{pallnetmsg.LotNo}' order by CreateTime desc";
+                        ArriveMes = Db.Ado.SqlQuery<BllArrivalNoticeDetail>(sql).FirstOrDefault();
+                        if (ArriveMes == null)
+                        {
+                            throw new Exception("璇ユ壒娆℃病鏈夊搴旂殑鍏ュ簱鍗�");
+                        }
+                        noticeno = ArriveMes.Id.ToString();*/
                         sql += $"and AreaNo  like '%02' and WareHouseNo = {house}";
                         loction = Db.Ado.SqlQuery<SysStorageLocat>(sql).OrderByDescending(a => a.CreateTime).FirstOrDefault();
                         if (loction == null)
@@ -199,6 +221,14 @@
                         {
                             throw new Exception("鎵规鍙蜂负绌猴紒");
                         }
+                        //鏍¢獙姝ゆ壒娆℃槸鍚︽湁鍏ュ簱鍗�
+                        sql2 = $"select * from BllArrivalNoticeDetail where LotNo =  '{pallnetmsg.LotNo}' order by CreateTime desc";
+                        ArriveMes = Db.Ado.SqlQuery<BllArrivalNoticeDetail>(sql).FirstOrDefault();
+                        if (ArriveMes == null)
+                        {
+                            throw new Exception("璇ユ壒娆℃病鏈夊搴旂殑鍏ュ簱鍗�");
+                        }
+                        noticeno = ArriveMes.Id.ToString();
                         sql += $"and AreaNo like '%03' and WareHouseNo = {house}";
                         loction = Db.Ado.SqlQuery<SysStorageLocat>(sql).OrderByDescending(a => a.CreateTime).FirstOrDefault();
                         if (loction == null)
@@ -221,7 +251,7 @@
                     Endport = loction.LocatNo,
                     Pallno = pallnetmsg.Palletno,
                     Type = pallnetmsg.Type,
-                    Crtype = "1",
+                    Crtype = "0",
                     Noticedetailno = int.Parse(noticeno),
                 };
                 CreateLotTask(task);
@@ -327,6 +357,7 @@
             {
                 var na = taskDetial.Crtype == "0"?"鍏ュ簱":"鍑哄簱";
                 var sql = "";
+                var sql2 = "";
                 //寮�鍚簨鍔�
                 Db.BeginTran();
                 //鍒ゆ柇浠诲姟鏄惁涓烘柊浠诲姟
@@ -374,6 +405,17 @@
                 }
                 sql = $"UPDATE LogTask SET IsSuccess = 1,BackDate = {DateTime.Now},Status = '1' WHERE TaskNo = {taskDetial.Taskno}";
                 Db.Ado.ExecuteCommand(sql);
+                if (taskDetial.Crtype == "0")
+                {
+                    sql = $"UPDATE SysStorageLocat SET Status = '2' where LocatNo = '{taskDetial.Endport}'";
+                    sql2 = $"UPDATE DataStockDetail SET PalletStatus = '{taskDetial.Type}' where PalletNo = '{taskDetial.Pallno}'";
+                    Db.Ado.ExecuteCommand(sql2);
+                }
+                else
+                {
+                    sql = $"UPDATE SysStorageLocat SET Status = '3' where LocatNo = '{taskDetial.Startport}' ";
+                }
+                Db.Ado.ExecuteCommand(sql);
                 //鎻愪氦浜嬪姟
                 Db.CommitTran();
             }

--
Gitblit v1.8.0