From bc43fe34a67fa68bcfb3a51b79308fad0be11c08 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期五, 31 十月 2025 09:18:11 +0800
Subject: [PATCH] 优化定时器时长

---
 新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/Business.cs |   97 +++++++++++++++++++++++++-----------------------
 1 files changed, 51 insertions(+), 46 deletions(-)

diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/Business.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/Business.cs"
index 9eee10d..c66b08c 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/Business.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/Business.cs"
@@ -16,6 +16,7 @@
 using WIDESEA_Common;
 using System.Xml.Linq;
 using WIDESEA_Common.OrderEnum;
+using static WIDESEA_DTO.SquareCabin.AlarmDto;
 
 namespace WIDESEA_WMSServer
 {
@@ -37,7 +38,7 @@
             _messageInfoService = messageInfoService;
         }
         #region 鑾峰彇ERP鍏ュ簱鍗�
-        static string SearchInDate = "2025-09-10 00:00:00";
+        static string SearchInDate = "2025-10-30 00:00:00";
         /// <summary>
         /// 鑾峰彇涓婃父绯荤粺鐨勫叆搴撳崟
         /// </summary>
@@ -59,17 +60,17 @@
                     searchDate = SearchInDate
                     //searchDate = "2022-10-10 20:45:16"  // 姝g‘鐨勬牸寮�
                 };
-                SearchInDate = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd HH:mm:ss");
+                SearchInDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                 // 鍙戣捣璇锋眰
                 var result = HttpHelper.Post(url, requestData.ToJsonString());
 
                 // 鍙嶅簭鍒楀寲
                 var response = JsonConvert.DeserializeObject<UpstreamResponse<UpstreamOrderInfo>>(result);
 
-                if (response == null || response.resultCode != "0" || requestData == null)
+                if (response == null || response.resultCode != "0" )
                 {
                     // 璋冪敤寮傚父鎺ュ彛
-                    SendErrorToUpstream(1, "", response.resultMsg ?? "涓婃父鎺ュ彛杩斿洖澶辫触", "");
+                    //SendErrorToUpstream(1, "", response.resultMsg ?? "涓婃父鎺ュ彛杩斿洖澶辫触", "");
                     return responseContent.Error(response.resultMsg ?? "涓婃父鎺ュ彛杩斿洖澶辫触");
                 }
 
@@ -79,7 +80,7 @@
                 }
                 var ordernos = response.data.Select(x => x.order_no).ToList();
                 // 鑾峰彇鎵�鏈夊凡瀛樺湪鐨勫叆搴撳崟鍙�
-                var existingOrderNos = _cabinOrderServices.Db.Queryable<Dt_CabinOrder>()
+                var existingOrderNos = _cabinOrderServices.Db.CopyNew().Queryable<Dt_CabinOrder>()
                     .Where(x => ordernos.Contains(x.Order_no))
                     .Select(x => x.Order_no)
                     .Distinct().ToList();
@@ -103,7 +104,6 @@
                 {
                     try
                     {
-                        _unitOfWorkManage.BeginTran();
                         if (order.order_type == "1") //姝e父鍏ュ簱
                         {
                             name = "鍒涘缓姝e父鍏ュ簱鍗�";
@@ -111,7 +111,7 @@
                             if (!responseContent.Status) throw new Exception(responseContent.Message);
                             List<Dt_CabinOrder>? dt_CabinOrders = responseContent.Data as List<Dt_CabinOrder>;
                             if (dt_CabinOrders != null)
-                                _cabinOrderServices.Db.InsertNav(dt_CabinOrders).Include(x => x.Details).ExecuteCommand();
+                                _cabinOrderServices.Db.CopyNew().InsertNav(dt_CabinOrders).Include(x => x.Details).ExecuteCommand();
                         }
                         else if (order.order_type == "3")//鍏ュ簱閫�鏂�
                         {
@@ -148,13 +148,11 @@
                             var content = _cabinOrderServices.CreateCheckInOrder(order);
                             if (!content.Status) throw new Exception(content.Message);
                         }
-                        _unitOfWorkManage.CommitTran();
                     }
                     catch (Exception ex)
                     {
-                        _unitOfWorkManage.RollbackTran();
                         _messageInfoService.AddMessageInfo(messageGroupBy, name, ex.Message, messageStatus);
-                        SendErrorToUpstream(1, "", ex.Message, "");
+                        //SendErrorToUpstream(1, "", ex.Message, "");
                         //return responseContent.Error("鍚屾澶辫触: " + ex.Message);
                     }
                 };
@@ -164,14 +162,14 @@
             catch (Exception ex)
             {
                 // 鍏ㄥ眬寮傚父鏃讹紝涔熸帹閫佸紓甯哥粰涓婃父
-                SendErrorToUpstream(1, "", ex.Message, "");
+                //SendErrorToUpstream(1, "", ex.Message, "");
                 return responseContent.Error("鍚屾澶辫触: " + ex.Message);
             }
         }
         #endregion
 
         #region 鑾峰彇ERP鍑哄簱鍗�
-        static string SearchOutDate = "2025-09-10 00:00:00";
+        static string SearchOutDate = "2025-10-30 00:00:00";
         public WebResponseContent GetUpstreamOutOrder()
         {
             var responseContent = new WebResponseContent();
@@ -186,15 +184,15 @@
                     searchDate = SearchOutDate
                     //searchDate = "2022-10-10 20:45:16"  // 姝g‘鐨勬牸寮�
                 };
-                SearchOutDate = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd HH:mm:ss");
+                SearchOutDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
 
                 var result = HttpHelper.Post(url, requestData.ToJsonString());
                 var response = JsonConvert.DeserializeObject<UpstreamResponse<UpstramOutOrderInfo>>(result);
 
-                if (response.resultCode != "0")
+                if (response==null||response.resultCode != "0")
                 {
-                    SendErrorToUpstream(3, "", response.resultMsg ?? "涓婃父鎺ュ彛杩斿洖澶辫触", "");
-                    return responseContent.Error(response.resultMsg ?? "涓婃父鎺ュ彛杩斿洖澶辫触");
+                    //SendErrorToUpstream(3, "", response.resultMsg ?? "涓婃父鎺ュ彛杩斿洖澶辫触", "");
+                    return responseContent.Error(response?.resultMsg ?? "涓婃父鎺ュ彛杩斿洖澶辫触");
                 }
 
                 if (response.data == null || !response.data.Any())
@@ -203,7 +201,7 @@
                 }
                 var ordernos = response.data.Select(x => x.order_no).ToList();
                 // 宸插瓨鍦ㄥ嚭搴撳崟鍙�
-                var existingOutOrderNos = _deliveryOrderServices.Db.Queryable<Dt_DeliveryOrder>()
+                var existingOutOrderNos = _deliveryOrderServices.Db.CopyNew().Queryable<Dt_DeliveryOrder>()
                     .Where(x => ordernos.Contains(x.Out_no))
                     .Select(x => x.Out_no)
                     .Distinct().ToList();
@@ -229,7 +227,6 @@
                 {
                     try
                     {
-                        _unitOfWorkManage.BeginTran();
                         if (outorder.order_type == "1") // 姝e父鍑哄簱鍗�
                         {
                             name = "鍒涘缓姝e父鍑哄簱鍗�";
@@ -266,7 +263,7 @@
                             if (!responseContent.Status) throw new Exception(responseContent.Message);
                             List<Dt_CabinOrder>? dt_CabinOrders = responseContent.Data as List<Dt_CabinOrder>;
                             if (dt_CabinOrders != null && dt_CabinOrders.Count > 0)
-                                _cabinOrderServices.Db.InsertNav(dt_CabinOrders).Include(x => x.Details).ExecuteCommand();
+                                _cabinOrderServices.Db.CopyNew().InsertNav(dt_CabinOrders).Include(x => x.Details).ExecuteCommand();
                             #endregion
                         }
                         else if (outorder.order_type == "6")//鎶ユ崯鍑哄簱
@@ -276,13 +273,11 @@
                             var content = _deliveryOrderServices.CreateCheckOutOrder(outorder);
                             if (!content.Status) throw new Exception(content.Message);
                         }
-                        _unitOfWorkManage.CommitTran();
                     }
                     catch (Exception ex)
                     {
-                        _unitOfWorkManage.RollbackTran();
                         _messageInfoService.AddMessageInfo(messageGroupBy, name, ex.Message, messageStatus);
-                        SendErrorToUpstream(3, "", ex.Message, "");
+                        //SendErrorToUpstream(3, "", ex.Message, "");
                         //return responseContent.Error("鍚屾澶辫触: " + ex.Message);
                     }
                 }
@@ -290,7 +285,7 @@
             }
             catch (Exception ex)
             {
-                SendErrorToUpstream(3, "", ex.Message, "");
+                //SendErrorToUpstream(3, "", ex.Message, "");
                 return responseContent.Error("鍚屾澶辫触: " + ex.Message);
             }
         }
@@ -316,15 +311,15 @@
                 // 3. 鍐嶈繃婊ゆ帀涓嶇鍚堟潯浠剁殑鏄庣粏锛堝彧淇濈暀 Status=0锛�
                 foreach (var order in orders)
                 {
-                    Console.WriteLine($"璁㈠崟 {order.Order_no} 鍘熸槑缁嗘暟锛歿order.Details.Count}");
+                    //Console.WriteLine($"璁㈠崟 {order.Order_no} 鍘熸槑缁嗘暟锛歿order.Details.Count}");
                     order.Details = order.Details.Where(d => d.Status == 0).ToList();
-                    Console.WriteLine($"璁㈠崟 {order.Order_no} 杩囨护鍚庢槑缁嗘暟锛歿order.Details.Count}");
+                    //Console.WriteLine($"璁㈠崟 {order.Order_no} 杩囨护鍚庢槑缁嗘暟锛歿order.Details.Count}");
                 }
 
 
-                if (orders == null || !orders.Any())
+                if (orders.Count < 1)
                 {
-                    Console.WriteLine("娌℃湁绗﹀悎鏉′欢鐨勮鍗曢渶瑕佹帹閫�");
+                    //Console.WriteLine("娌℃湁绗﹀悎鏉′欢鐨勮鍗曢渶瑕佹帹閫�");
                     return WebResponseContent.Instance.Error("娌℃湁绗﹀悎鏉′欢鐨勮鍗曢渶瑕佹帹閫�");
                 }
 
@@ -395,9 +390,10 @@
                     }
                     else
                     {
-                        SendErrorToUpstream(3, order.Order_no, resp?.msg ?? "WCS 鎺ㄩ�佸け璐�", "");
-                        Console.WriteLine($"璁㈠崟 {order.Order_no} 鎺ㄩ�佸け璐ワ細{resp?.msg}");
-                        return new WebResponseContent { Status = false, Message = "璁㈠崟鎺ㄩ�佸け璐�" };
+                        continue;
+                        //SendErrorToUpstream(3, order.Order_no, resp?.msg ?? "WCS 鎺ㄩ�佸け璐�", "");
+                        //Console.WriteLine($"璁㈠崟 {order.Order_no} 鎺ㄩ�佸け璐ワ細{resp?.msg}");
+                        //return new WebResponseContent { Status = false, Message = "璁㈠崟鎺ㄩ�佸け璐�" };
                     }
                 }
                 return new WebResponseContent { Status = true, Message = "鎺ㄩ�佹垚鍔�" };
@@ -430,9 +426,9 @@
                     order.Details = order.Details.Where(d => d.Status == 0).ToList();
                 }
 
-                if (outOrders == null || !outOrders.Any())
+                if (outOrders.Count < 1)
                 {
-                    Console.WriteLine("娌℃湁绗﹀悎鏉′欢鐨勮鍗曢渶瑕佹帹閫�");
+                    //Console.WriteLine("娌℃湁绗﹀悎鏉′欢鐨勮鍗曢渶瑕佹帹閫�");
                     return responseContent.Error("娌℃湁绗﹀悎鏉′欢鐨勮鍗曢渶瑕佹帹閫�");
                 }
 
@@ -493,13 +489,13 @@
                         if (resp != null && resp.code == "0")
                         {
                             // 鏇存柊琛ㄥご鐘舵��
-                            _cabinDetailServices.Db.Updateable<Dt_DeliveryOrder>()
+                            _cabinDetailServices.Db.CopyNew().Updateable<Dt_DeliveryOrder>()
                               .SetColumns(o => new Dt_DeliveryOrder { OutStatus = "寮�濮�" })
                               .Where(o => o.Id == order.Id)
                               .ExecuteCommand();
 
                             // 鏇存柊鏄庣粏鐘舵��
-                            _deliveryOrderDetailServices.Db.Updateable<Dt_DeliveryOrderDetail>()
+                            _deliveryOrderDetailServices.Db.CopyNew().Updateable<Dt_DeliveryOrderDetail>()
                               .SetColumns(d => new Dt_DeliveryOrderDetail { Status = 1, OotDetailStatus = "寮�濮�" })
                               .Where(d => d.DeliveryOrderId == order.Id && d.Status == 0)
                               .ExecuteCommand();
@@ -507,15 +503,16 @@
                         }
                         else
                         {
-                            SendErrorToUpstream(3, order.Out_no, resp?.msg ?? "WCS 鎺ㄩ�佸け璐�", "");
-                            Console.WriteLine($"璁㈠崟 {order.Out_no} 鎺ㄩ�佸け璐ワ細{resp?.msg}");
+                            continue;
+                            //SendErrorToUpstream(3, order.Out_no, resp?.msg ?? "WCS 鎺ㄩ�佸け璐�", "");
+                            //Console.WriteLine($"璁㈠崟 {order.Out_no} 鎺ㄩ�佸け璐ワ細{resp?.msg}");
                         }
                         //鍒犻櫎鍏ㄩ儴鐘朵负宸插畬鎴愮殑鏄庣粏鍜岃〃澶达紝绉诲叆鍘嗗彶琛�
                     }
                     catch (Exception ex)
                     {
-                        SendErrorToUpstream(3, order.Out_no, ex.Message, "");
-                        Console.WriteLine($"璁㈠崟 {order.Out_no} 鎺ㄩ�佸紓甯革細{ex.Message}");
+                        //SendErrorToUpstream(3, order.Out_no, ex.Message, "");
+                        //Console.WriteLine($"璁㈠崟 {order.Out_no} 鎺ㄩ�佸紓甯革細{ex.Message}");
                     }
                 }
 
@@ -523,7 +520,7 @@
             }
             catch (Exception ex)
             {
-                Console.WriteLine("EdiOut 寮傚父锛�" + ex.Message);
+                //Console.WriteLine("EdiOut 寮傚父锛�" + ex.Message);
                 return responseContent.Error("鍑哄簱璁㈠崟鎺ㄩ�佸け璐ワ細" + ex.Message);
             }
         }
@@ -545,8 +542,8 @@
                 var inorders = _cabinOrderServices.Repository.QueryData(x => x.OdrderStatus == "宸插畬鎴�").Select(x => x.Order_no).Distinct().ToList();
                 foreach (var inorder in inorders)
                 {
-                    var Orders = _cabinOrderServices.Db.Queryable<Dt_CabinOrder>().Where(x => x.Order_no == inorder).Includes(x => x.Details).ToList();
-                    
+                    var Orders = _cabinOrderServices.Db.CopyNew().Queryable<Dt_CabinOrder>().Where(x => x.Order_no == inorder).Includes(x => x.Details).ToList();
+
                     if (!Orders.Where(x => x.OdrderStatus != "宸插畬鎴�").Any())
                     {
                         if (Orders.FirstOrDefault().Order_type == InOrderTypeEnum.Allocat.ObjToInt().ToString())
@@ -568,7 +565,7 @@
 
                             var result = HttpHelper.Post(url, new { order_no = inorder }.ToJsonString());
                             var response = JsonConvert.DeserializeObject<UpstreamOrderResponse>(result);
-                            if (response.resultCode == "0")
+                            if (response != null&&response.resultCode == "0")
                             {
                                 foreach (var item in Orders)
                                 {
@@ -581,11 +578,16 @@
                             }
                             else
                             {
+                                string mess = "涓婃姤ERP鏃犲搷搴�";
+                                if (response != null) mess = response.resultMsg;
+                                _messageInfoService.AddMessageInfo(MessageGroupByEnum.InOrderAlarm, $"鍏ュ簱鍗曞彿銆恵inorder}銆戝畬鎴愪笂鎶RP澶辫触", mess);
                                 //_unitOfWorkManage.RollbackTran();
-                                SendErrorToUpstream(2, "", $"涓婃父鎺ュ彛杩斿洖澶辫触: {response.resultMsg}", inorder);
+                                //SendErrorToUpstream(2, "", $"涓婃父鎺ュ彛杩斿洖澶辫触: {response.resultMsg}", inorder);
                                 continue;
                             }
                         }
+
+
                     }
                 }
                 #endregion
@@ -616,7 +618,7 @@
                 var outorders = _deliveryOrderServices.Repository.QueryData(x => x.OutStatus == "宸插畬鎴�").Select(x => x.Out_no).Distinct().ToList();
                 foreach (var outorder in outorders)
                 {
-                    var Orders = _deliveryOrderServices.Db.Queryable<Dt_DeliveryOrder>().Where(x => x.Out_no == outorder).Includes(x => x.Details).ToList();
+                    var Orders = _deliveryOrderServices.Db.CopyNew().Queryable<Dt_DeliveryOrder>().Where(x => x.Out_no == outorder).Includes(x => x.Details).ToList();
 
                     if (!Orders.Where(x => x.OutStatus != "宸插畬鎴�").Any())
                     {
@@ -639,7 +641,7 @@
                             };
                             var result = HttpHelper.Post(url, requestDate.ToJsonString());
                             var response = JsonConvert.DeserializeObject<UpstreamOrderResponse>(result);
-                            if (response.resultCode == "0")
+                            if (response != null && response.resultCode == "0")
                             {
                                 foreach (var item in Orders)
                                 {
@@ -651,8 +653,11 @@
                             }
                             else
                             {
+                                string mess = "涓婃姤ERP鏃犲搷搴�";
+                                if (response != null) mess = response.resultMsg;
+                                _messageInfoService.AddMessageInfo(MessageGroupByEnum.OutOrderAlarm, $"鍑哄簱鍗曞彿銆恵outorder}銆戝畬鎴愪笂鎶RP澶辫触", mess);
                                 //_unitOfWorkManage.RollbackTran();
-                                SendErrorToUpstream(4, "", $"涓婃父鎺ュ彛杩斿洖澶辫触: {response.resultMsg}", outorder);
+                                //SendErrorToUpstream(4, "", $"涓婃父鎺ュ彛杩斿洖澶辫触: {response.resultMsg}", outorder);
                                 continue;
                             }
                         }

--
Gitblit v1.9.3