From fb5c3be6709ba89053dc75c9fabfb94cb89c6be1 Mon Sep 17 00:00:00 2001
From: hudong <Administrator@PC-20250329JZUF>
Date: 星期三, 18 六月 2025 16:14:18 +0800
Subject: [PATCH] 修改重点逻辑修改 定时充电优化

---
 api/WmsSpaHelper.cs |  102 +++++++++++++++++++++++++++++++++-----------------
 1 files changed, 67 insertions(+), 35 deletions(-)

diff --git a/api/WmsSpaHelper.cs b/api/WmsSpaHelper.cs
index cf42f12..4a2f148 100644
--- a/api/WmsSpaHelper.cs
+++ b/api/WmsSpaHelper.cs
@@ -1895,11 +1895,16 @@
                         }
                         else if (!string.IsNullOrEmpty(model.item_code))
                         {
-                            var starts = db.Queryable<CntrItemRel>().Where(cir => cir.S_CNTR_TYPE == "鍗婃墭" && cir.S_ITEM_CODE == model.item_code).OrderBy(cir => cir.T_CREATE).ToList().FirstOrDefault();
-                            if (starts!=null)
+                         var khsta=   db.Queryable<CGRels>().Where(cir => cir.S_CNTR_TYPE == "鍗婃墭" && cir.S_ITEM_CODE == model.item_code).OrderBy(cir => cir.T_CREATE).ToList().FirstOrDefault();
+
+
+                      
+
+
+                            if (khsta != null)
                             {
-                                LogHelper.Info($"starts{starts}");
-                                var starts12 = db.Queryable<LocCntrRel>().Where(lcr => lcr.S_CNTR_CODE == starts.S_CNTR_CODE).ToList().FirstOrDefault();
+                                LogHelper.Info($"starts{khsta}");
+                                var starts12 = db.Queryable<LocCntrRel>().Where(lcr => lcr.S_CNTR_CODE == khsta.S_CNTR_CODE).ToList().FirstOrDefault();
                                 LogHelper.Info($"starts1{starts12}");
                                 start = db.Queryable<Location>().Where(loc => loc.S_AREA_CODE == "HJQ" && loc.S_CODE == starts12.S_LOC_CODE).ToList().FirstOrDefault();
                                 LogHelper.Info($"starts2{start}");
@@ -1908,17 +1913,27 @@
                             }
                             else
                             {
-                                var list = db.Queryable<CntrItemRel>().Select(s => s.S_CNTR_CODE).ToArray();
-                                var S_LOC_CODElist = db.Queryable<LocCntrRel>().Where(s => !list.Contains(s.S_CNTR_CODE)).Select(s => s.S_LOC_CODE).ToArray();
-                                start = db.Queryable<Location>().Where(it => S_LOC_CODElist.Contains(it.S_CODE)).ToList().FirstOrDefault();
+                                var starts = db.Queryable<CntrItemRel>().Where(cir => cir.S_CNTR_TYPE == "鍗婃墭" && cir.S_ITEM_CODE == model.item_code).OrderBy(cir => cir.T_CREATE).ToList().FirstOrDefault();
+
+                                if (starts!=null)
+                                {
+                                    LogHelper.Info($"{model.cntr_code}瀹瑰櫒璐у搧瀛樺湪璇ョ墿鏂欙紝璇烽厤缃墿鏂欏鍣�);
+                                    result.resultMsg = $"瀹瑰櫒璐у搧瀛樺湪璇ョ墿鏂欙紝璇烽厤缃墿鏂欏鍣�;
+                                    result.resultCode = 1;
+                                    return result;
+
+                                }
+                                else
+                                {
+                                    var list = db.Queryable<CntrItemRel>().Select(s => s.S_CNTR_CODE).ToArray();
+                                    var S_LOC_CODElist = db.Queryable<LocCntrRel>().Where(s => !list.Contains(s.S_CNTR_CODE)).Select(s => s.S_LOC_CODE).ToArray();
+                                    start = db.Queryable<Location>().Where(it => S_LOC_CODElist.Contains(it.S_CODE)).ToList().FirstOrDefault();
+                                    var starts12 = db.Queryable<LocCntrRel>().Where(lcr => lcr.S_CNTR_CODE == start.S_CODE).ToList().FirstOrDefault();
 
 
-
-
-                                var starts12 = db.Queryable<LocCntrRel>().Where(lcr => lcr.S_CNTR_CODE == start.S_CODE).ToList().FirstOrDefault();
-
-
-                                model.cntr_code = starts12?.S_CNTR_CODE;
+                                    model.cntr_code = starts12?.S_CNTR_CODE;
+                                }
+                                    
                             }
                            
                         }
@@ -3143,6 +3158,23 @@
                                 #endregion
                                 if (cntr != null)
                                 {
+                                    #region 瀹㈡埛鎸囧畾瀹瑰櫒琛�+                                    var cir2 = db.Queryable<CGRels>().Where(a => a.S_CNTR_CODE == cntr.S_CODE && a.S_ITEM_CODE == item.item_code && a.N_BS_ROW_NO == item.N_ROW_NO ).First();
+
+                                    if (cir2 != null)
+                                    {
+                                        cir2.S_CNTR_TYPE = S_CNTR_TYPE;
+                                        db.Updateable(cir2).UpdateColumns(it => new {  it.S_CNTR_TYPE }).ExecuteCommand();
+                                    }
+                                    else
+                                    {
+                                        //2.鎻掑叆鏂扮殑瀹瑰櫒鐗╂枡淇℃伅锛堝鍣ㄥ彿涓嶅彉S_SERIAL_NO = item.S_SERIAL_NO,锛�+                                        cir2 = new CGRels { S_CNTR_TYPE = S_CNTR_TYPE, S_CNTR_CODE = cntr.S_CODE.Trim(), N_BS_ROW_NO = item.N_ROW_NO, S_ITEM_CODE = item.item_code };
+                                        db.Insertable<CGRels>(cir2).ExecuteCommand();
+                                    }
+                                    #endregion
+
+
                                     #region 1.鏌ョ湅鏄惁鏈夌浉鍚岀墿鏂欐壒娆$殑淇℃伅锛屽鏋滄湁瑕佺疮鍔狅紝涓嶅悓鎵规鐨勫彲浠ュ垎寮�                                     var cir = db.Queryable<CntrItemRel>().Where(a => a.S_CNTR_CODE == cntr.S_CODE && a.S_ITEM_CODE == item.item_code && a.S_BATCH_NO == item.S_BATCH_NO && a.N_BS_ROW_NO == item.N_ROW_NO && a.S_BS_NO == item.arrival_no).First();
                                     if (cir != null)
@@ -3252,7 +3284,7 @@
                                         S_DO_NO = itemscddll.LLDH,
                                         S_AREA_CODE = "HJQ",
                                         N_ROW_NO = "",
-                                        S_ITEM_CODE = a.WLBM,
+                                        S_ITEM_CODE = a.ZJBM,
                                         S_ITEM_NAME = "",
                                         F_QTY = a.XQSL,
                                         S_ZJBM = a.ZJBM,
@@ -3354,7 +3386,7 @@
                     db.BeginTran();
                     foreach (var itemscddll in model.ROOT.SCDDLL)
                     {
-                        var wlbmList = itemscddll.ITEM.Select(x => x.WLBM).Distinct().ToList();
+                        var wlbmList = itemscddll.ITEM.Select(x => x.ZJBM).Distinct().ToList();
                         var itemlist = db.Queryable<TN_Material>()
                         .Where(it => wlbmList.Contains(it.S_ITEM_CODE))  // 浣跨敤 IN 鏌ヨ
                         .ToList();
@@ -3377,13 +3409,13 @@
                             {
                                 foreach (var a in itemscddll.ITEM)
                                 {
-                                    var item = itemlist.Where(it => it.S_ITEM_CODE == a.WLBM).FirstOrDefault();
+                                    var item = itemlist.Where(it => it.S_ITEM_CODE == a.ZJBM).FirstOrDefault();
                                     if (item == null)
                                     {
                                         lLDReturnRoots.GC = itemscddll.GC;
                                         lLDReturnRoots.LLDH = itemscddll.LLDH;
                                         lLDReturnRoots.MSGCODE = 1;
-                                        lLDReturnRoots.MSGDESP = $"鐗╂枡{a.WLBM}鐗╂枡涓绘暟鎹笉瀛樺湪璇ョ墿鏂�;
+                                        lLDReturnRoots.MSGDESP = $"鐗╂枡{a.ZJBM}鐗╂枡涓绘暟鎹笉瀛樺湪璇ョ墿鏂�;
                                         iTEMs.Add(lLDReturnRoots);
 
                                         continue;
@@ -3393,7 +3425,7 @@
                                         S_DO_NO = itemscddll.LLDH,
                                         S_AREA_CODE = "HJQ",
                                         N_ROW_NO = "",
-                                        S_ITEM_CODE = a.WLBM,
+                                        S_ITEM_CODE = a.ZJBM,
                                         S_ITEM_NAME = item?.S_ITEM_NAME,
                                         F_QTY = a.XQSL,
                                         S_ZJBM = a.ZJBM,
@@ -3468,21 +3500,21 @@
                                         lLDReturnRoots.GC = itemscddll.GC;
                                         lLDReturnRoots.LLDH = itemscddll.LLDH;
                                         lLDReturnRoots.MSGCODE = 1;
-                                        lLDReturnRoots.MSGDESP = $"鎵ц涓鏂欏崟锛岀墿鏂檣a.WLBM}鐗╂枡涓嶅厑璁稿垹闄�;
+                                        lLDReturnRoots.MSGDESP = $"鎵ц涓鏂欏崟锛岀墿鏂檣a.ZJBM}鐗╂枡涓嶅厑璁稿垹闄�;
                                         iTEMs.Add(lLDReturnRoots);
                                         continue;
                                     }
-                                    var po1 = po.Details.Where(s => a.WLBM == s.S_ITEM_CODE).ToList();
+                                    var po1 = po.Details.Where(s => a.ZJBM == s.S_ITEM_CODE).ToList();
                                     if (po1.Count() == 0)  //鏃犲垯鏂板鐗╂枡鏄庣粏
                                     {
-                                        var item = itemlist.Where(it => it.S_ITEM_CODE == a.WLBM).FirstOrDefault();
+                                        var item = itemlist.Where(it => it.S_ITEM_CODE == a.ZJBM).FirstOrDefault();
                                         if (item == null)
                                         {
                                             ;
                                             lLDReturnRoots.GC = itemscddll.GC;
                                             lLDReturnRoots.LLDH = itemscddll.LLDH;
                                             lLDReturnRoots.MSGCODE = 1;
-                                            lLDReturnRoots.MSGDESP = $"鐗╂枡{a.WLBM}鐗╂枡涓绘暟鎹笉瀛樺湪璇ョ墿鏂�;
+                                            lLDReturnRoots.MSGDESP = $"鐗╂枡{a.ZJBM}鐗╂枡涓绘暟鎹笉瀛樺湪璇ョ墿鏂�;
                                             iTEMs.Add(lLDReturnRoots);
                                             continue;
                                         }
@@ -3491,7 +3523,7 @@
                                             S_DO_NO = itemscddll.LLDH,
                                             S_AREA_CODE = "HJQ",
                                             N_ROW_NO = "",
-                                            S_ITEM_CODE = a.WLBM,
+                                            S_ITEM_CODE = a.ZJBM,
                                             S_ITEM_NAME = item.S_ITEM_NAME,
                                             F_QTY = a.XQSL,
                                             S_ZJBM = a.ZJBM,
@@ -3524,7 +3556,7 @@
                                             lLDReturnRoots.GC = itemscddll.GC;
                                             lLDReturnRoots.LLDH = itemscddll.LLDH;
                                             lLDReturnRoots.MSGCODE = 1;
-                                            lLDReturnRoots.MSGDESP = $"鏇存柊澶辫触锛屾洿鏂版暟閲忓繀椤诲ぇ浜庡綋鍓嶇墿鏂欐暟閲弡a.WLBM}";
+                                            lLDReturnRoots.MSGDESP = $"鏇存柊澶辫触锛屾洿鏂版暟閲忓繀椤诲ぇ浜庡綋鍓嶇墿鏂欐暟閲弡a.ZJBM}";
                                             iTEMs.Add(lLDReturnRoots);
                                             continue;
                                         }
@@ -3538,40 +3570,40 @@
                                 {
                                     if (a.LLDSCBS == "Y")//濡傛灉鏄垹闄ゆ爣璇嗗垯鍒犻櫎褰撳墠鎵�睘鍑哄簱鍗曟槑缁�涓嶆槸鍒犻櫎鏍囪 鍒欒繘琛屽鏀瑰垽鏂�                                     {
-                                        var po1 = po.Details.Where(s => a.WLBM == s.S_ITEM_CODE).FirstOrDefault();
+                                        var po1 = po.Details.Where(s => a.ZJBM == s.S_ITEM_CODE).FirstOrDefault();
                                         if (po1 != null)  //鏃犲垯鏂板鐗╂枡鏄庣粏
                                         {
                                             tN_Ll_Details.Add(po1);
-                                            //   db.Deleteable<TN_Ll_detail>().Where(it => it.S_ITEM_CODE == a.WLBM && it.S_DO_NO == po1.First().S_DO_NO).ExecuteCommand();
+                                            //   db.Deleteable<TN_Ll_detail>().Where(it => it.S_ITEM_CODE == a.ZJBM && it.S_DO_NO == po1.First().S_DO_NO).ExecuteCommand();
                                         }
                                         else
                                         {
                                             //result.code = 1;
-                                            //result.msg = $"鐗╂枡{a.WLBM}鐗╂枡鏁版嵁涓嶅瓨鍦�鏃犳硶鍒犻櫎";
-                                            //throw new Exception($"鐗╂枡{a.WLBM}鐗╂枡鏁版嵁涓嶅瓨鍦�鏃犳硶鍒犻櫎");
+                                            //result.msg = $"鐗╂枡{a.ZJBM}鐗╂枡鏁版嵁涓嶅瓨鍦�鏃犳硶鍒犻櫎";
+                                            //throw new Exception($"鐗╂枡{a.ZJBM}鐗╂枡鏁版嵁涓嶅瓨鍦�鏃犳硶鍒犻櫎");
                                             lLDReturnRoots.GC = itemscddll.GC;
                                             lLDReturnRoots.LLDH = itemscddll.LLDH;
                                             lLDReturnRoots.MSGCODE = 1;
-                                            lLDReturnRoots.MSGDESP = $"鍒犻櫎鐨勭墿鏂檣a.WLBM}鐗╂枡鏁版嵁涓嶅瓨鍦�鏃犳硶鍒犻櫎";
+                                            lLDReturnRoots.MSGDESP = $"鍒犻櫎鐨勭墿鏂檣a.ZJBM}鐗╂枡鏁版嵁涓嶅瓨鍦�鏃犳硶鍒犻櫎";
                                             iTEMs.Add(lLDReturnRoots);
                                             continue;
                                         }
                                     }
                                     else
                                     {
-                                        var po1 = po.Details.Where(s => a.WLBM == s.S_ITEM_CODE).ToList();
+                                        var po1 = po.Details.Where(s => a.ZJBM == s.S_ITEM_CODE).ToList();
                                         if (po1.Count() == 0)  //鏃犲垯鏂板鐗╂枡鏄庣粏
                                         {
-                                            var item = itemlist.Where(it => it.S_ITEM_CODE == a.WLBM).FirstOrDefault();
+                                            var item = itemlist.Where(it => it.S_ITEM_CODE == a.ZJBM).FirstOrDefault();
                                             if (item == null)
                                             {
                                                 //result.code = 1;
-                                                //result.msg = $"鐗╂枡{a.WLBM}鐗╂枡涓绘暟鎹笉瀛樺湪璇ョ墿鏂�;
-                                                //throw new Exception($"鐗╂枡{a.WLBM}鐗╂枡涓绘暟鎹笉瀛樺湪璇ョ墿鏂�);
+                                                //result.msg = $"鐗╂枡{a.ZJBM}鐗╂枡涓绘暟鎹笉瀛樺湪璇ョ墿鏂�;
+                                                //throw new Exception($"鐗╂枡{a.ZJBM}鐗╂枡涓绘暟鎹笉瀛樺湪璇ョ墿鏂�);
                                                 lLDReturnRoots.GC = itemscddll.GC;
                                                 lLDReturnRoots.LLDH = itemscddll.LLDH;
                                                 lLDReturnRoots.MSGCODE = 1;
-                                                lLDReturnRoots.MSGDESP = $"鐗╂枡{a.WLBM}鐗╂枡涓绘暟鎹笉瀛樺湪璇ョ墿鏂�;
+                                                lLDReturnRoots.MSGDESP = $"鐗╂枡{a.ZJBM}鐗╂枡涓绘暟鎹笉瀛樺湪璇ョ墿鏂�;
                                                 iTEMs.Add(lLDReturnRoots);
                                                 continue;
                                             }
@@ -3580,7 +3612,7 @@
                                                 S_DO_NO = itemscddll.LLDH,
                                                 S_AREA_CODE = "HJQ",
                                                 N_ROW_NO = "",
-                                                S_ITEM_CODE = a.WLBM,
+                                                S_ITEM_CODE = a.ZJBM,
                                                 S_ITEM_NAME = item.S_ITEM_NAME,
                                                 F_QTY = a.XQSL,
                                                 S_ZJBM = a.ZJBM,

--
Gitblit v1.9.1