From 17c1c9bb4537f3915e5b53e1a26a1a0b9c8e7c85 Mon Sep 17 00:00:00 2001
From: hudong <Administrator@PC-20250329JZUF>
Date: 星期一, 16 六月 2025 08:37:58 +0800
Subject: [PATCH] 1.定时充电问题排查,增加状态字段增加定时更新状态2.删除webservice所有日志 api接口日志(超时问题优化)

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

diff --git a/api/WmsSpaHelper.cs b/api/WmsSpaHelper.cs
index 31509e9..cf42f12 100644
--- a/api/WmsSpaHelper.cs
+++ b/api/WmsSpaHelper.cs
@@ -56,7 +56,7 @@
             bool panduan = true;
             var db = new SqlHelper<object>().GetInstance();
 
-            var po = db.Queryable<TN_Material_KC>().Where(a => a.S_ITEM_CODE == ItemCode).First();
+            var po = db.Queryable<TN_Material_KC>().Where(a => a.S_ITEM_CODE== ItemCode).First();
 
             var po1 = db.Queryable<CntrItemRel>().Where(a => a.S_ITEM_CODE == ItemCode).First();
             if (po != null)
@@ -673,7 +673,6 @@
                     result.WLPZBH = items.HEAD.WLPZH;
                     result.WLPZND = items.HEAD.WLPZND;
                     result.resultCode = 0;
-                    result.resultMsg = "";
                     db.CommitTran();
                     simpleResults.Add(result);
                 }
@@ -894,8 +893,8 @@
             db.BeginTran();
             List<WLReturnRoot.ITEM> list = new List<WLReturnRoot.ITEM>();
 
-
-            var itemCodes = model.ROOT.ITEM.Select(item => item.WLBM).ToList();
+            List<TN_Material> tN_Materials = new List<TN_Material>();
+            var itemCodes = model.ROOT.ITEM.Select(item => item.WLBM).Distinct().ToList();
             var itemlist = db.Queryable<TN_Material>()
             .Where(it => itemCodes.Contains(it.S_ITEM_CODE))
             .ToList();
@@ -904,10 +903,8 @@
             {
                 try
                 {
-
                     var result = new WLReturnRoot.ITEM();
-
-                    var materlist = itemlist.Where(it => it.S_ITEM_CODE == item.WLBM).First();
+                    var materlist = itemlist.Where(it => it.S_ITEM_CODE == item.WLBM).FirstOrDefault();
                     if (materlist == null)
                     {
                         TN_Material tN_Material = new TN_Material();
@@ -924,7 +921,8 @@
                         tN_Material.S_CPZ = item.CPZ;
                         tN_Material.S_CPZMS = item.CPZMS;
                         tN_Material.S_ITEM_NAME = item.VTEXT;
-                        db.Insertable<TN_Material>(tN_Material).ExecuteCommand();
+                        tN_Materials.Add(tN_Material);
+                        //db.Insertable<TN_Material>(tN_Material).ExecuteCommand();
                         result.MSGDESP = "鎴愬姛";
                         result.MSGCODE = 0;
                         result.GCBM = item.GCBM;
@@ -967,6 +965,24 @@
                 }
             }
             response.ROOT.ITEM = list;
+            if (tN_Materials.Count()>0)
+            {
+                db.Insertable<TN_Material>(tN_Materials).ExecuteCommand();
+                //using (var bulkCopy = new SqlBulkCopy(util.Settings.SqlServer))
+                //{
+                //    bulkCopy.DestinationTableName = "TN_Material";
+                //    bulkCopy.BatchSize = 500;
+                //    var dataTable = new DataTable();
+                //    dataTable = list.ToDataTable();
+                //    // 娣诲姞鍒楁槧灏勶紙纭繚鍚嶇О鍖归厤锛�+                //    foreach (DataColumn col in dataTable.Columns)
+                //    {
+                //        bulkCopy.ColumnMappings.Add(col.ColumnName, col.ColumnName);
+                //    }
+                //    bulkCopy.WriteToServer(tN_Materials.ToDataTable());
+                //}
+            }
+          
             //db.Insertable<TN_Material>(list).ExecuteCommand();
             db.CommitTran();
 
@@ -1880,28 +1896,36 @@
                         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();
-                            LogHelper.Info($"starts{starts}");
-                            var starts12 = db.Queryable<LocCntrRel>().Where(lcr => lcr.S_CNTR_CODE== starts.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}");
+                            if (starts!=null)
+                            {
+                                LogHelper.Info($"starts{starts}");
+                                var starts12 = db.Queryable<LocCntrRel>().Where(lcr => lcr.S_CNTR_CODE == starts.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}");
 
-                            model.cntr_code = starts12?.S_CNTR_CODE;
+                                model.cntr_code = starts12?.S_CNTR_CODE;
+                            }
+                            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();
+
+
+                                model.cntr_code = starts12?.S_CNTR_CODE;
+                            }
+                           
                         }
                         else
                         {
                             #region MyRegion
-                            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();
-
-
-                            model.cntr_code = starts12?.S_CNTR_CODE;
+                          
                             #endregion
                         }
                         if (start == null)
@@ -3687,8 +3711,14 @@
                         var po1 = new TN_Outbound_Order { S_NO = WMSHelper.GenerateShippNo(), UNAME = po.UNAME, S_FACTORY = po.S_FACTORY, S_CBZX = po.S_CBZX, S_ZZKM = po.S_ZZKM, S_LRZX = po.S_LRZX, BLDAT = po.BLDAT, BUDAT = po.BUDAT, S_OUT_TYPE = po.S_OUT_TYPE, S_BS_TYPE = po.S_BS_TYPE, S_AREA_CODE = po.S_AREA_CODE, S_BS_NO = po.S_NO };
                         List<TN_Ll_detail> tN_Ll_Details = new List<TN_Ll_detail>();
                         po1.Details = new List<TN_Outbound_Detail>();
+                        var list = po.Details.Where(s => s.F_QTY > s.F_ACC_D_QTY&&s.S_ERP_WH_CODE=="4004").Select(s => s.S_ITEM_CODE).Distinct().ToArray();
+                     
+                        var Sitemlist = db.Queryable<CntrItemRel>().Where(s => list.Contains(s.S_ITEM_CODE)).Select(s => s.S_ITEM_CODE).ToArray().Select(x => x.Trim()).ToArray(); ;
+                      
+                        po.Details = po.Details.Where(s => Sitemlist.Contains(s.S_ITEM_CODE)).ToList();
                         if (po.Details.Count() > 0)
                         {
+                          
                             foreach (var a in po.Details)
                             {
                                 if (a.F_QTY > a.F_ACC_D_QTY)
@@ -3749,7 +3779,12 @@
                                 return result;
                             }
                         }
-
+                        else
+                        {
+                            result.code = 1;
+                            result.msg = $"棰嗘枡鍗晎po.S_NO}鎵句笉鍒板搴斿簱瀛樼墿鏂欎俊鎭�;
+                            return result;
+                        }
                     }
                     db.CommitTran();
                 }
@@ -4382,25 +4417,25 @@
                         List<JHWBackDto.ITEM> iTEMs = new List<JHWBackDto.ITEM>();
                         foreach (var item in po.Details)
                         {
-                            var podetail = po.Details.Where(s => s.S_ITEM_CODE == item.S_ITEM_CODE).FirstOrDefault();
+                           // var podetail = po.Details.Where(s => s.S_ITEM_CODE == item.S_ITEM_CODE).FirstOrDefault();
                             JHWBackDto.ITEM ckbitem = new JHWBackDto.ITEM();
                             ckbitem.WLBH = item.S_ITEM_CODE;
                             ckbitem.GC = po.S_FACTORY;
-                            ckbitem.XSDD = podetail?.S_XSDD;
-                            ckbitem.XSDDHXM = podetail?.S_XSDDXMBH;
+                            ckbitem.XSDD = item?.S_XSDD;
+                            ckbitem.XSDDHXM = item?.S_XSDDXMBH;
                             ckbitem.SL = item.F_QTY;
-                            ckbitem.DW = podetail?.S_UOM;
-                            ckbitem.DDH = podetail?.S_DDH;
+                            ckbitem.DW = item?.S_UOM;
+                            ckbitem.DDH = item?.S_DDH;
                             //ckbitem.PH = podetail?.S_PH;
                             // ckbitem.TSKCBS = podetail?.S_TSKCBS;
                             //ckbitem.DDHXM = (podetail?.N_ROW_NO);
-                            ckbitem.WBS = podetail?.S_WBS;
-                            ckbitem.KCDD = podetail?.S_KCDD;
-                            ckbitem.PC = podetail?.S_BATCH_NO;
+                            ckbitem.WBS = item?.S_WBS;
+                            ckbitem.KCDD = item?.S_KCDD;
+                            ckbitem.PC = item?.S_BATCH_NO;
                             #region MyRegion
                             // List<JHWBackDto.ITEM1> listitem1 = new List<JHWBackDto.ITEM1>();
                             JHWBackDto.ITEM1 listitem1 = new JHWBackDto.ITEM1();
-                            listitem1.XLH = podetail?.S_SERIAL_NO.Split(',').ToList();
+                            listitem1.XLH = item?.S_SERIAL_NO.Split(',').ToList();
                             ////string[] xlhValues = item.S_SERIAL_NO.Split(',');
                             //var serialNos = string.Join(",", CntrItemRels
                             //                .Where(s => s.S_ITEM_CODE == item.S_ITEM_CODE)

--
Gitblit v1.9.1