From 465a67a2e9e68c5395871338ae8223efaddc1fdc Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期四, 13 十一月 2025 14:18:50 +0800
Subject: [PATCH] 优化下发wcs出入库单

---
 新建文件夹/WIDESEA_WMSServer/WIDESEA_ISystemService/ISys_LogService.cs         |    6 
 新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/NewBusiness.cs        |    3 
 新建文件夹/WIDESEA_WMSServer/ClassLibrary2/EquipmentAlarmInforService.cs       |    2 
 新建文件夹/WIDESEA_WMSServer/ClassLibrary2/MaterielInfoService.cs              |  242 ++++++++++++------------
 新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/Business.cs           |  286 ++++++++++++++-------------
 新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs |    3 
 6 files changed, 278 insertions(+), 264 deletions(-)

diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/EquipmentAlarmInforService.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/EquipmentAlarmInforService.cs"
index 3e2c26c..793f368 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/EquipmentAlarmInforService.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/EquipmentAlarmInforService.cs"
@@ -35,7 +35,7 @@
             WebResponseContent content = new WebResponseContent();
             try
             {
-                var url = "http://172.16.1.2:8080/cube/taskInfo/getDeviceStatus?token=wH5zdAUCv2BEHJIinmowyki8cdc5ge8fAwFDcYZs0bVldNgmORt0O0l4GJTDv1dglRdMxb9xDK5Qb3NJAqL1Li2GkfdVa3KnIkfrQZtsP7UXhMmUz6xEuztG6d5svAJO9HENLb8JWVqCfpO2EWV6ebo/g5tJ9x7kbwwAxvCBrWdiEJv09FvaRQ==  ";
+                var url = "http://172.16.1.2:8080/cube/taskInfo/getDeviceStatus?token=wH5zdAUCv2BEHJIinmowyki8cdc5ge8fAwFDcYZs0bVldNgmORt0O0l4GJTDv1dglRdMxb9xDK5Qb3NJAqL1Li2GkfdVa3KnIkfrQZtsP7UXhMmUz6xEuztG6d5svAJO9HENLb8JWVqCfpO2EWV6ebo/g5tJ9x7kbwwAxvCBrWdiEJv09FvaRQ==";
                 var result = HttpHelper.Get(url);
                 var response = JsonConvert.DeserializeObject<AGVResponse<DeviceStatusData>>(result);
                 if (response == null || response.code != "0" || response.data == null) return content.Error($"鑾峰彇璁惧淇℃伅澶辫触: {response?.msg}");
diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/MaterielInfoService.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/MaterielInfoService.cs"
index 7f82787..c59e778 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/MaterielInfoService.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/MaterielInfoService.cs"
@@ -175,137 +175,137 @@
         /// </summary>
         /// <returns></returns>
         #region 鍚屾涓嬫父鐗╂枡鎺ュ彛
-        public WebResponseContent ProductSynchronous()
-        {
-            try
-            {
-                List<Dt_MaterielInfo> materielInfos = BaseDal.QueryData(x => x.MaterielSourceType == MaterielSourceTypeEnum.SelfMadePart && x.BoxQty > 0 && x.MinQty > 0 && x.GoodStatusState == "鏈笅鍙�").ToList();
-                if (materielInfos.Count < 1) return WebResponseContent.Instance.Error("鏃犳湭涓嬪彂鑽搧");
-                var url = "http://172.16.1.2:9357/file-admin/api/product/productSynchronous";
-                foreach (var item in materielInfos)
-                {
-                    var medicineDTO = new ProductInfo
-                    {
-                        //鐢ㄦ埛code
-                        customerCode = "905",
-                        //鐗╂枡绫诲瀷
-                        materialCode = item.MaterielErpType,
-                        //浜у搧缂栫爜
-                        productCode = item.MaterielCode,
-                        //浜у搧鍚�
-                        productName = item.MaterielName,
-                        //浜у搧鏉$爜
-                        productBarCode = item.Barcode,
+        //public WebResponseContent ProductSynchronous()
+        //{
+        //    try
+        //    {
+        //        List<Dt_MaterielInfo> materielInfos = BaseDal.QueryData(x => x.MaterielSourceType == MaterielSourceTypeEnum.SelfMadePart && x.BoxQty > 0 && x.MinQty > 0 && x.GoodStatusState == "鏈笅鍙�").ToList();
+        //        if (materielInfos.Count < 1) return WebResponseContent.Instance.Error("鏃犳湭涓嬪彂鑽搧");
+        //        var url = "http://172.16.1.2:9357/file-admin/api/product/productSynchronous";
+        //        foreach (var item in materielInfos)
+        //        {
+        //            var medicineDTO = new ProductInfo
+        //            {
+        //                //鐢ㄦ埛code
+        //                customerCode = "905",
+        //                //鐗╂枡绫诲瀷
+        //                materialCode = item.MaterielErpType,
+        //                //浜у搧缂栫爜
+        //                productCode = item.MaterielCode,
+        //                //浜у搧鍚�
+        //                productName = item.MaterielName,
+        //                //浜у搧鏉$爜
+        //                productBarCode = item.Barcode,
 
-                        //鑽墏
-                        medicine = item.Dosage_form,//杩欓噷瑕佽皟鐢ㄦ柟娉曪紝杞寲鏂规硶
+        //                //鑽墏
+        //                medicine = item.Dosage_form,//杩欓噷瑕佽皟鐢ㄦ柟娉曪紝杞寲鏂规硶
 
-                        //瑙勬牸
-                        productSpecifications = item.MaterielSpec,
-                        //鍗曚綅
-                        unit = item.MaterielUnit,
-                        //闀�
-                        singleProductLongNum = (item.MaterielLength ?? 0).ToString(),
-                        //瀹�
-                        singleProductWideNum = (item.MaterielWide ?? 0).ToString(),
-                        //楂�
-                        singleProductHighNum = (item.MaterielHeight ?? 0).ToString(),
-                        //閲嶉噺
-                        singleProductWeight = (item.MaterielWeight ?? 0).ToString(),
-                        //浣撶Н
-                        singleProductVolume = (item.MaterielVolume ?? 0).ToString(),
-                        //鏄惁鍙栨秷 0鏄笉鍒犻櫎锛�1鍒犻櫎
-                        isDelete = "0"
-                    };
-                    var result = HttpHelper.Post(url, medicineDTO.ToJsonString());
-                    var resp = JsonConvert.DeserializeObject<TowcsResponse<object>>(result);
-                    if (resp != null && resp.code == "0") item.GoodStatusState = "涓嬪彂瀹屾垚";
-                }
-                BaseDal.UpdateData(materielInfos);
-                return WebResponseContent.Instance.OK();
-            }
-            catch (Exception ex)
-            {
-                Console.WriteLine("涓嬪彂WCS鐗╂枡淇℃伅寮傚父锛�" + ex.Message);
-                return WebResponseContent.Instance.Error(ex.Message);
-            }
-        }
+        //                //瑙勬牸
+        //                productSpecifications = item.MaterielSpec,
+        //                //鍗曚綅
+        //                unit = item.MaterielUnit,
+        //                //闀�
+        //                singleProductLongNum = (item.MaterielLength ?? 0).ToString(),
+        //                //瀹�
+        //                singleProductWideNum = (item.MaterielWide ?? 0).ToString(),
+        //                //楂�
+        //                singleProductHighNum = (item.MaterielHeight ?? 0).ToString(),
+        //                //閲嶉噺
+        //                singleProductWeight = (item.MaterielWeight ?? 0).ToString(),
+        //                //浣撶Н
+        //                singleProductVolume = (item.MaterielVolume ?? 0).ToString(),
+        //                //鏄惁鍙栨秷 0鏄笉鍒犻櫎锛�1鍒犻櫎
+        //                isDelete = "0"
+        //            };
+        //            var result = HttpHelper.Post(url, medicineDTO.ToJsonString());
+        //            var resp = JsonConvert.DeserializeObject<TowcsResponse<object>>(result);
+        //            if (resp != null && resp.code == "0") item.GoodStatusState = "涓嬪彂瀹屾垚";
+        //        }
+        //        BaseDal.UpdateData(materielInfos);
+        //        return WebResponseContent.Instance.OK();
+        //    }
+        //    catch (Exception ex)
+        //    {
+        //        Console.WriteLine("涓嬪彂WCS鐗╂枡淇℃伅寮傚父锛�" + ex.Message);
+        //        return WebResponseContent.Instance.Error(ex.Message);
+        //    }
+        //}
         #endregion
 
 
         #region 鎵嬪姩鍏抽棴鏁版嵁搴撹繛鎺� 鍚屾涓嬫父鐗╂枡 
-        //public WebResponseContent ProductSynchronous()
-        //{
-        //    using (var db = new SqlSugarClient(new ConnectionConfig
-        //    {
-        //        ConnectionString = "Data Source=.;Initial Catalog=WIDESEA_WMSDBF_Z22;User ID=sa;Password=48PYX_h7KS@f;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
-        //        DbType = DbType.SqlServer,
-        //        IsAutoCloseConnection = true,  // 鍏抽敭閰嶇疆锛岃嚜鍔ㄥ叧闂繛鎺�
-        //        MoreSettings = new ConnMoreSettings()
-        //        {
-        //            IsAutoRemoveDataCache = true
-        //        }
-        //    }))
-        //    {
-        //        try
-        //        {
-        //            List<Dt_MaterielInfo> materielInfos = db.Queryable<Dt_MaterielInfo>().Where(x => x.MaterielSourceType == MaterielSourceTypeEnum.SelfMadePart && x.BoxQty > 0 && x.MinQty > 0 && x.GoodStatusState == "鏈笅鍙�").ToList();
-        //            if (materielInfos.Count < 1)
-        //            {
+        public WebResponseContent ProductSynchronous()
+        {
+            using (var db = new SqlSugarClient(new ConnectionConfig
+            {
+                ConnectionString = "Data Source=.;Initial Catalog=WIDESEA_WMSDBF_Z22;User ID=sa;Password=48PYX_h7KS@f;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+                DbType = DbType.SqlServer,
+                IsAutoCloseConnection = true,  // 鍏抽敭閰嶇疆锛岃嚜鍔ㄥ叧闂繛鎺�
+                MoreSettings = new ConnMoreSettings()
+                {
+                    IsAutoRemoveDataCache = true
+                }
+            }))
+            {
+                try
+                {
+                    List<Dt_MaterielInfo> materielInfos = db.Queryable<Dt_MaterielInfo>().Where(x => x.MaterielSourceType == MaterielSourceTypeEnum.SelfMadePart && x.BoxQty > 0 && x.MinQty > 0 && x.GoodStatusState == "鏈笅鍙�").ToList();
+                    if (materielInfos.Count < 1)
+                    {
 
-        //                return WebResponseContent.Instance.Error("鏃犳湭涓嬪彂鑽搧");
-        //            }
-        //            var url = "http://172.16.1.2:9357/file-admin/api/product/productSynchronous";
-        //            foreach (var item in materielInfos)
-        //            {
-        //                var medicineDTO = new ProductInfo
-        //                {
-        //                    //鐢ㄦ埛code
-        //                    customerCode = "905",
-        //                    //鐗╂枡绫诲瀷
-        //                    materialCode = item.MaterielErpType,
-        //                    //浜у搧缂栫爜
-        //                    productCode = item.MaterielCode,
-        //                    //浜у搧鍚�
-        //                    productName = item.MaterielName,
-        //                    //浜у搧鏉$爜
-        //                    productBarCode = item.Barcode,
+                        return WebResponseContent.Instance.Error("鏃犳湭涓嬪彂鑽搧");
+                    }
+                    var url = "http://172.16.1.2:9357/file-admin/api/product/productSynchronous";
+                    foreach (var item in materielInfos)
+                    {
+                        var medicineDTO = new ProductInfo
+                        {
+                            //鐢ㄦ埛code
+                            customerCode = "905",
+                            //鐗╂枡绫诲瀷
+                            materialCode = item.MaterielErpType,
+                            //浜у搧缂栫爜
+                            productCode = item.MaterielCode,
+                            //浜у搧鍚�
+                            productName = item.MaterielName,
+                            //浜у搧鏉$爜
+                            productBarCode = item.Barcode,
 
-        //                    //鑽墏
-        //                    medicine = item.Dosage_form,//杩欓噷瑕佽皟鐢ㄦ柟娉曪紝杞寲鏂规硶
+                            //鑽墏
+                            medicine = item.Dosage_form,//杩欓噷瑕佽皟鐢ㄦ柟娉曪紝杞寲鏂规硶
 
-        //                    //瑙勬牸
-        //                    productSpecifications = item.MaterielSpec,
-        //                    //鍗曚綅
-        //                    unit = item.MaterielUnit,
-        //                    //闀�
-        //                    singleProductLongNum = (item.MaterielLength ?? 0).ToString(),
-        //                    //瀹�
-        //                    singleProductWideNum = (item.MaterielWide ?? 0).ToString(),
-        //                    //楂�
-        //                    singleProductHighNum = (item.MaterielHeight ?? 0).ToString(),
-        //                    //閲嶉噺
-        //                    singleProductWeight = (item.MaterielWeight ?? 0).ToString(),
-        //                    //浣撶Н
-        //                    singleProductVolume = (item.MaterielVolume ?? 0).ToString(),
-        //                    //鏄惁鍙栨秷 0鏄笉鍒犻櫎锛�1鍒犻櫎
-        //                    isDelete = "0"
-        //                };
-        //                var result = HttpHelper.Post(url, medicineDTO.ToJsonString());
-        //                var resp = JsonConvert.DeserializeObject<TowcsResponse<object>>(result);
-        //                if (resp != null && resp.code == "0") item.GoodStatusState = "涓嬪彂瀹屾垚";
-        //            }
-        //            db.Updateable(materielInfos).ExecuteCommand();
+                            //瑙勬牸
+                            productSpecifications = item.MaterielSpec,
+                            //鍗曚綅
+                            unit = item.MaterielUnit,
+                            //闀�
+                            singleProductLongNum = (item.MaterielLength ?? 0).ToString(),
+                            //瀹�
+                            singleProductWideNum = (item.MaterielWide ?? 0).ToString(),
+                            //楂�
+                            singleProductHighNum = (item.MaterielHeight ?? 0).ToString(),
+                            //閲嶉噺
+                            singleProductWeight = (item.MaterielWeight ?? 0).ToString(),
+                            //浣撶Н
+                            singleProductVolume = (item.MaterielVolume ?? 0).ToString(),
+                            //鏄惁鍙栨秷 0鏄笉鍒犻櫎锛�1鍒犻櫎
+                            isDelete = "0"
+                        };
+                        var result = HttpHelper.Post(url, medicineDTO.ToJsonString());
+                        var resp = JsonConvert.DeserializeObject<TowcsResponse<object>>(result);
+                        if (resp != null && resp.code == "0") item.GoodStatusState = "涓嬪彂瀹屾垚";
+                    }
+                    db.Updateable(materielInfos).ExecuteCommand();
 
-        //            return WebResponseContent.Instance.OK();
-        //        }
-        //        catch (Exception ex)
-        //        {
-        //            Console.WriteLine("涓嬪彂WCS鐗╂枡淇℃伅寮傚父锛�" + ex.Message);
-        //            return WebResponseContent.Instance.Error(ex.Message);
-        //        }
-        //    }
-        //}
+                    return WebResponseContent.Instance.OK();
+                }
+                catch (Exception ex)
+                {
+                    Console.WriteLine("涓嬪彂WCS鐗╂枡淇℃伅寮傚父锛�" + ex.Message);
+                    return WebResponseContent.Instance.Error(ex.Message);
+                }
+            }
+        }
         #endregion
 
         public override WebResponseContent DeleteData(object[] keys)
diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_ISystemService/ISys_LogService.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_ISystemService/ISys_LogService.cs"
index 27dcb29..bd2e981 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_ISystemService/ISys_LogService.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_ISystemService/ISys_LogService.cs"
@@ -2,6 +2,7 @@
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
+using WIDESEA_Core;
 using System.Threading.Tasks;
 using WIDESEA_Core.BaseServices;
 using WIDESEA_Model.Models;
@@ -10,5 +11,10 @@
 {
     public interface ISys_LogService : IService<Sys_Log>
     {
+        /// <summary>
+        /// 瀹氭椂鍒犻櫎鏃ュ織
+        /// </summary>
+        /// <returns></returns>
+        public WebResponseContent ScheduledDeletion();
     }
 }
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 7e6d4d5..ff5dc1a 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"
@@ -51,7 +51,7 @@
         //        var reslut = WarehouseEnum.绔嬪簱.ObjToInt().ToString("000");
         //        var orders = _cabinOrderServices.Repository.QueryData(x => x.OdrderStatus == "鏂板缓" && x.Warehouse_no == reslut).ToList();
         //        if (orders.Count < 1) return WebResponseContent.Instance.OK();
-        //        string url = "http://172.16.1.2:9357/file-admin/api/in/ediIn";
+        //        //string url = "http://172.16.1.2:9357/file-admin/api/in/ediIn";
         //        var cabinOrderDetails = _cabinDetailServices.Repository.QueryData(x => orders.Select(x => x.Id).ToList().Contains(x.OrderId)).ToList();
         //        var materielInfos = _materielInfoService.Repository.QueryData(x => cabinOrderDetails.Select(x => x.Goods_no).Contains(x.MaterielCode)).ToList();
         //        foreach (var order in orders)
@@ -204,180 +204,188 @@
         #region 涓嬪彂绔嬪簱鍏ュ簱鍗�
         public WebResponseContent EdiIn()
         {
-            try
+            // 鍒涘缓鐙珛鐨� SqlSugarClient
+            using (var db = new SqlSugarClient(new ConnectionConfig
             {
-                var reslut = WarehouseEnum.绔嬪簱.ObjToInt().ToString("000");
-                var orders = _cabinOrderServices.Repository.QueryData(x => x.OdrderStatus == "鏂板缓" && x.Warehouse_no == reslut).ToList();
-                if (orders.Count < 1) return WebResponseContent.Instance.OK();
-
-                string url = "http://172.16.1.2:9357/file-admin/api/in/ediIn";
-                var orderIds = orders.Select(x => x.Id).ToList();
-
-                var cabinOrderDetails = _cabinDetailServices.Repository.QueryData(x => orderIds.Contains(x.OrderId)).ToList();
-
-                var goodsCodes = cabinOrderDetails.Select(x => x.Goods_no).Distinct().ToList();
-                var materielInfos = _materielInfoService.Repository.QueryData(x => goodsCodes.Contains(x.MaterielCode)).ToList();
-
-                foreach (var order in orders)
+                ConnectionString = "Data Source=.;Initial Catalog=WIDESEA_WMSDBF_Z22;User ID=sa;Password=48PYX_h7KS@f;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+                DbType = DbType.SqlServer,
+                IsAutoCloseConnection = true,  // 鍏抽敭閰嶇疆锛岃嚜鍔ㄥ叧闂繛鎺�
+                MoreSettings = new ConnMoreSettings()
                 {
-                    order.Details = cabinOrderDetails.Where(x => x.OrderId == order.Id).ToList();
+                    IsAutoRemoveDataCache = true
+                }
+            }))
+            {
+                try
+                {
+                    var reslut = WarehouseEnum.绔嬪簱.ObjToInt().ToString("000");
 
-                    // 鍏抽敭淇敼锛氫笉璁剧疆瀵艰埅灞炴�э紝閬垮厤瑙﹀彂寤惰繜鍔犺浇
-                    // foreach (var item in order.Details)
-                    // {
-                    //     item.MedicineGoods = materielInfos.Where(x => x.MaterielCode == item.Goods_no).First();
-                    // }
+                    // 浣跨敤鏂扮殑 db 瀹炰緥鎵ц鎵�鏈夋煡璇�
+                    var orders = db.Queryable<Dt_CabinOrder>()
+                        .Where(x => x.OdrderStatus == "鏂板缓" && x.Warehouse_no == reslut)
+                        .ToList();
 
-                    #region 涓嬪彂WCS
-                    // 鐩存帴浠� materielInfos 鏌ヨ锛屼笉閫氳繃瀵艰埅灞炴��
-                    var firstDetail = order.Details.FirstOrDefault();
-                    var firstMedicine = firstDetail != null ?
-                        materielInfos.FirstOrDefault(x => x.MaterielCode == firstDetail.Goods_no) : null;
+                    if (orders.Count < 1) return WebResponseContent.Instance.OK();
+                    string url = "http://172.16.1.2:9357/file-admin/api/in/ediIn";
+                    var orderIds = orders.Select(x => x.Id).ToList();
 
-                    string materialCode = firstMedicine?.MaterielErpType ?? "YY";
 
-                    var ediDto = new ToediInInfo
+                    var cabinOrderDetails = db.Queryable<Dt_CabinOrderDetail>()
+                        .Where(x => orderIds.Contains(x.OrderId))
+                        .ToList();
+
+
+                    var goodsCodes = cabinOrderDetails.Select(x => x.Goods_no).Distinct().ToList();
+
+                    var materielInfos = db.Queryable<Dt_MaterielInfo>()
+                        .Where(x => goodsCodes.Contains(x.MaterielCode))
+                        .ToList();
+
+
+                    foreach (var order in orders)
                     {
-                        customerCode = "905",
-                        materialCode = materialCode,
-                        externalOrderNo = order.Order_no,
-                        inOrderType = order.Order_type == "5" ? "20" : "10",
-                        priority = 0,
-                        Is_cancel = 0,
-                        details = order.Details.Select(d =>
+                        order.Details = cabinOrderDetails.Where(x => x.OrderId == order.Id).ToList();
+                        foreach (var item in order.Details) //鎵嬪姩鍒涘缓涓庣墿鏂欒〃鐨勮繛鎺�
                         {
-                            var medicine = materielInfos.FirstOrDefault(x => x.MaterielCode == d.Goods_no);
-                            return new ToediInDetail
+                            item.MedicineGoods = materielInfos.Where(x => x.MaterielCode == item.Goods_no).First();
+                        }
+                        #region 涓嬪彂WCS
+                        string materialCode = order.Details.FirstOrDefault()?.MedicineGoods?.MaterielErpType ?? "YY";
+                        var ediDto = new ToediInInfo
+                        {
+                            customerCode = "905",
+                            materialCode = materialCode,
+                            externalOrderNo = order.Order_no,
+                            inOrderType = order.Order_type == "5" ? "20" : "10",
+                            priority = 0,
+                            Is_cancel = 0,
+                            details = order.Details.Select(d => new ToediInDetail
                             {
                                 batchNo = d.Batch_num,
                                 productCode = d.Goods_no,
-                                productName = medicine?.MaterielName ?? string.Empty,
-                                productSpecifications = medicine?.MaterielSpec ?? string.Empty,
+                                productName = d.MedicineGoods.MaterielName,
+                                productSpecifications = d.MedicineGoods.MaterielSpec,
                                 quantity = (int)d.Order_qty,
                                 validityPeriod = d.Exp_date,
-                                manufacturer = medicine?.Factory ?? string.Empty,
+                                manufacturer = d.MedicineGoods.Factory,
                                 libraryNo = order.Warehouse_no,
-                            };
-                        }).ToList()
-                    };
-
-                    var result = HttpHelper.Post(url, ediDto.ToJsonString());
-                    var resp = JsonConvert.DeserializeObject<TowcsResponse<object>>(result);
-                    if (resp != null && resp.code == "0")
-                    {
-                        order.OdrderStatus = "寮�濮�";
-                        foreach (var item in order.Details)
+                            }).ToList()
+                        };
+                        var result = HttpHelper.Post(url, ediDto.ToJsonString());
+                        var resp = JsonConvert.DeserializeObject<TowcsResponse<object>>(result);
+                        if (resp != null && resp.code == "0")
                         {
-                            item.Status = 1;
-                            item.OrderDetailStatus = "寮�濮�";
+                            order.OdrderStatus = "寮�濮�";
+                            foreach (var item in cabinOrderDetails.Where(x => x.OrderId == order.Id))
+                            {
+                                item.Status = 1;
+                                item.OrderDetailStatus = "寮�濮�";
+                            }
                         }
+                        #endregion
                     }
-                    #endregion
+
+                    // 浣跨敤鍚屼竴涓� db 瀹炰緥鎵ц鏇存柊
+                    db.Updateable(orders).ExecuteCommand();
+                    db.Updateable(cabinOrderDetails).ExecuteCommand();
+
+                    return WebResponseContent.Instance.OK();
                 }
-
-                _cabinOrderServices.UpdateData(orders);
-                _cabinDetailServices.UpdateData(cabinOrderDetails);
-                return WebResponseContent.Instance.OK();
-            }
-            catch (Exception ex)
-            {
-                Console.WriteLine("涓嬪彂WCS鍏ュ簱鍗曞紓甯革細" + ex.Message);
-                return WebResponseContent.Instance.Error(ex.Message);
-            }
+                catch (Exception ex)
+                {
+                    Console.WriteLine("涓嬪彂WCS鍏ュ簱鍗曞紓甯革細" + ex.Message);
+                    return WebResponseContent.Instance.Error(ex.Message);
+                }
+            } // 杩欓噷浼氳嚜鍔ㄥ叧闂繛鎺ワ紝涓嶉渶瑕佹墜鍔ㄧ鐞�
         }
-
         #endregion
 
         #region 涓嬪彂绔嬪簱鍑哄簱鍗�
         public WebResponseContent EdiOut()
         {
-            try
+            using (var db = new SqlSugarClient(new ConnectionConfig
             {
-                var reslut = WarehouseEnum.绔嬪簱.ObjToInt().ToString("000");
-                var orders = _deliveryOrderServices.Repository.QueryData(x => x.OutStatus == "鏂板缓" && x.Warehouse_no == reslut).ToList();
-                if (orders.Count < 1) return WebResponseContent.Instance.OK();
-
-                string url = "http://172.16.1.2:9357/file-admin/api/out/ediOut";
-                var orderIds = orders.Select(x => x.Id).ToList();
-
-                var deliveryOrderDetails = _deliveryOrderDetailServices.Repository.QueryData(x => orderIds.Contains(x.DeliveryOrderId)).ToList();
-
-                var goodsCodes = deliveryOrderDetails.Select(x => x.Goods_no).Distinct().ToList();
-                var materielInfos = _materielInfoService.Repository.QueryData(x => goodsCodes.Contains(x.MaterielCode)).ToList();
-
-                foreach (var order in orders)
+                ConnectionString = "Data Source=.;Initial Catalog=WIDESEA_WMSDBF_Z22;User ID=sa;Password=48PYX_h7KS@f;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+                DbType = DbType.SqlServer,
+                IsAutoCloseConnection = true,  // 鍏抽敭閰嶇疆锛岃嚜鍔ㄥ叧闂繛鎺�
+                MoreSettings = new ConnMoreSettings()
                 {
-                    order.Details = deliveryOrderDetails.Where(x => x.DeliveryOrderId == order.Id).ToList();
-
-                    // 鍏抽敭淇敼锛氫笉璁剧疆瀵艰埅灞炴�э紝閬垮厤瑙﹀彂寤惰繜鍔犺浇
-                    // foreach (var item in order.Details)
-                    // {
-                    //     item.MedicineGoods = materielInfos.Where(x => x.MaterielCode == item.Goods_no).First();
-                    // }
-
-                    #region 涓嬪彂WCS
-                    // 鐩存帴浠� materielInfos 鏌ヨ锛屼笉閫氳繃瀵艰埅灞炴��
-                    var firstDetail = order.Details.FirstOrDefault();
-                    var firstMedicine = firstDetail != null ?
-                        materielInfos.FirstOrDefault(x => x.MaterielCode == firstDetail.Goods_no) : null;
-
-                    string materialCode = firstMedicine?.MaterielErpType ?? "YY";
-
-                    var ediDto = new ToediOutInfo
+                    IsAutoRemoveDataCache = true
+                }
+            }))
+            {
+                try
+                {
+                    var reslut = WarehouseEnum.绔嬪簱.ObjToInt().ToString("000");
+                    var orders = db.Queryable<Dt_DeliveryOrder>().Where(x => x.OutStatus == "鏂板缓" && x.Warehouse_no == reslut).ToList();
+                    if (orders.Count < 1)
                     {
-                        customerCode = "905",
-                        materialCode = materialCode,
-                        externalOrderNo = order.Out_no,
-                        outOrderType = order.Out_type,
-                        priority = 1,
-                        Is_cancel = 0,
-                        details = order.Details.Select(d =>
+                        return WebResponseContent.Instance.OK();
+                    }
+                    string url = "http://172.16.1.2:9357/file-admin/api/out/ediOut";
+                    var deliveryOrderDetails = db.Queryable<Dt_DeliveryOrderDetail>().Where(x => orders.Select(x => x.Id).ToList().Contains(x.DeliveryOrderId)).ToList();
+                    var materielInfos = db.Queryable<Dt_MaterielInfo>().Where(x => deliveryOrderDetails.Select(x => x.Goods_no).Contains(x.MaterielCode)).ToList();
+                    foreach (var order in orders)
+                    {
+                        order.Details = deliveryOrderDetails.Where(x => x.DeliveryOrderId == order.Id).ToList();
+                        #region 涓嬪彂WCS
+                        foreach (var item in order.Details) //鎵嬪姩鍒涘缓涓庣墿鏂欒〃鐨勮繛鎺�
                         {
-                            var medicine = materielInfos.FirstOrDefault(x => x.MaterielCode == d.Goods_no);
-                            return new ToeOutdiInDetail
+                            item.MedicineGoods = materielInfos.Where(x => x.MaterielCode == item.Goods_no).First();
+                        }
+                        string materialCode = order.Details.FirstOrDefault()?.MedicineGoods?.MaterielErpType ?? "YY";
+                        var ediDto = new ToediOutInfo
+                        {
+                            //瀹㈡埛浠g爜
+                            customerCode = "905",
+                            //鐗╂枡绫诲瀷
+                            materialCode = materialCode,
+                            externalOrderNo = order.Out_no,
+                            outOrderType = order.Out_type,
+                            priority = 1,
+                            Is_cancel = 0,
+                            details = order.Details.Select(d => new ToeOutdiInDetail
                             {
                                 batchNo = d.Batch_num,
                                 productCode = d.Goods_no,
-                                productName = medicine.MaterielName,
-                                productSpecifications = medicine.MaterielModel,
+                                productName = d.MedicineGoods.MaterielName,
+                                productSpecifications = d.MedicineGoods.MaterielModel,
                                 quantity = (int)d.Order_qty,
-                            };
-                        }).ToList()
-                    };
-
-                    switch (order.Out_type)
-                    {
-                        case "1"://姝e父鍑哄簱
-                        case "3"://鍏ュ簱閫�璐�
-                            ediDto.outOrderType = "10";//涓�鑸氦鏄撳嚭搴撳崟
-                            break;
-                        case "6"://鐩樹簭鍑哄簱
-                            ediDto.outOrderType = "30";//鐩樹簭鍑哄簱鍗�
-                            break;
-                    }
-
-                    var result = HttpHelper.Post(url, ediDto.ToJsonString());
-                    var resp = JsonConvert.DeserializeObject<TowcsResponse<object>>(result);
-                    if (resp != null && resp.code == "0")
-                    {
-                        order.OutStatus = "寮�濮�";
-                        foreach (var item in order.Details)
+                            }).ToList()
+                        };
+                        switch (order.Out_type)
                         {
-                            item.Status = 1;
-                            item.OotDetailStatus = "寮�濮�";
+                            case "1"://姝e父鍑哄簱
+                            case "3"://鍏ュ簱閫�璐�
+                                ediDto.outOrderType = "10";//涓�鑸氦鏄撳嚭搴撳崟
+                                break;
+                            case "6"://鐩樹簭鍑哄簱
+                                ediDto.outOrderType = "30";//鐩樹簭鍑哄簱鍗�
+                                break;
                         }
+                        var result = HttpHelper.Post(url, ediDto.ToJsonString());
+                        var resp = JsonConvert.DeserializeObject<TowcsResponse<object>>(result);
+                        if (resp != null && resp.code == "0")
+                        {
+                            order.OutStatus = "寮�濮�";
+                            foreach (var item in deliveryOrderDetails.Where(x => x.DeliveryOrderId == order.Id))
+                            {
+                                item.Status = 1;
+                                item.OotDetailStatus = "寮�濮�";
+                            }
+                        }
+                        #endregion
                     }
-                    #endregion
-                }
+                    db.Updateable(orders).ExecuteCommand();
+                    db.Updateable(deliveryOrderDetails).ExecuteCommand();
 
-                _deliveryOrderServices.UpdateData(orders);
-                _deliveryOrderDetailServices.UpdateData(deliveryOrderDetails);
-                return WebResponseContent.Instance.OK();
-            }
-            catch (Exception ex)
-            {
-                Console.WriteLine("涓嬪彂WCS鍑哄簱鍗曞紓甯革細" + ex.Message);
-                return WebResponseContent.Instance.Error(ex.Message);
+                    return WebResponseContent.Instance.OK();
+                }
+                catch (Exception ex)
+                {
+                    Console.WriteLine("涓嬪彂WCS鍑哄簱鍗曞紓甯革細" + ex.Message);
+                    return WebResponseContent.Instance.Error(ex.Message);
+                }
             }
         }
         #endregion
diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs"
index e9578a4..4e97b26 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs"
@@ -1156,7 +1156,8 @@
             }
             catch (Exception ex)
             {
-                throw ex;
+                //throw ex;
+                return content.Error(ex.Message);
             }
             //return content;
             return content.OK($"鐩樼泩鍏ュ簱鍗曞垱寤烘垚鍔�");
diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/NewBusiness.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/NewBusiness.cs"
index 6469e42..d8a4249 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/NewBusiness.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/NewBusiness.cs"
@@ -188,8 +188,7 @@
             WebResponseContent content = new WebResponseContent();
             try
             {
-                //var url = "http://121.37.118.63:80/GYZ2/95fck/inOrder";
-                var url = "http://127.0.0.1:4523/m2/5660322-5340849-default/363009261";
+                var url = "http://121.37.118.63:80/GYZ2/95fck/inOrder";
                 string GetOutOrderDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                 if (string.IsNullOrEmpty(SearchInOrderDate)) SearchInOrderDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                 var requestData = new { searchDate = SearchInOrderDate };

--
Gitblit v1.9.3