From 2b49f7643d15b74889d190f216630559006ed93a Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期一, 01 十二月 2025 09:48:43 +0800
Subject: [PATCH] pad和后端的优化

---
 新建文件夹/WIDESEA_WMSServer/ClassLibrary2/MaterielInfoService.cs |  246 +++++++++++++++++++++++++-----------------------
 1 files changed, 129 insertions(+), 117 deletions(-)

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 d7ddf51..11985c4 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"
@@ -1,6 +1,7 @@
 锘縰sing HslCommunication;
 using Newtonsoft.Json;
 using Quartz.Util;
+using SqlSugar;
 using System;
 using System.Collections.Generic;
 using System.Linq;
@@ -26,7 +27,7 @@
         public IRepository<Dt_MaterielInfo> Repository => BaseDal;
 
 
-        static string SearchDate = "2025-10-30 00:00:00";
+        static string SearchDate = "2016-11-01 00:00:00";
 
         /// <summary>
         /// 鑾峰彇鑽搧鍩虹淇℃伅鍚屾鎺ュ彛
@@ -38,18 +39,19 @@
             try
             {
 
-                var url = "http://121.37.118.63:80/GYZ2/95fck/goodsInfo";
+                var url = "http://192.168.1.100:80/GYZ2/95fck/goodsInfo";
                 if (string.IsNullOrEmpty(SearchDate))
                 {
                     // 榛樿鏌ヨ杩囧幓24灏忔椂鐨勬暟鎹�
                     SearchDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                 }
+                string getDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                 // 璇锋眰鍙傛暟
                 var requestData = new
                 {
                     searchDate = SearchDate
                 };
-                SearchDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+
                 // 鍙戣捣璇锋眰
                 var result = HttpHelper.Post(url, requestData.ToJsonString());
 
@@ -64,6 +66,7 @@
                 }
                 if (response.data.Count < 1)
                 {
+                    SearchDate = getDate;
                     return responseContent.OK("鏃犳柊鑽搧鏁版嵁");
                 }
 
@@ -79,7 +82,7 @@
                     MaterielErpType = Medicat.goods_type,
                     item = Medicat.goods_tym, //閫氱敤鍚�
                     MaterielName = Medicat.goods_spm,//鐗╂枡鍚嶇О
-                    Dosage_form = GetDosageForm(Medicat.dosage_form),//鑽墏
+                    Dosage_form = Medicat.dosage_form,//鑽墏
                     Barcode = Medicat.barcode,//鏉″舰鍚�
                     MaterielSpec = Medicat.model,
                     Factory = Medicat.factory,
@@ -98,7 +101,7 @@
                 }).ToList();
                 // 涓�娆℃�ф壒閲忔彃鍏ユ暟鎹簱
                 BaseDal.AddData(entityList);
-
+                SearchDate = getDate;
                 //ProductSynchronous();
                 return responseContent.OK("鍚屾鎴愬姛");
             }
@@ -165,137 +168,146 @@
 
             return "鏈煡";
         }
-        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,//杩欓噷瑕佽皟鐢ㄦ柟娉曪紝杞寲鏂规硶
 
-                        //瑙勬牸
-                        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);
-            }
-        }
         /// <summary>
         /// 鍙戠粰涓嬫父wcs鍚屾鑽搧淇℃伅 
         /// </summary>
         /// <returns></returns>
-        public WebResponseContent ProductSynchronous1()
+        #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,
+
+        //                //鑽墏
+        //                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);
+        //    }
+        //}
+        #endregion
+
+
+        #region 鎵嬪姩鍏抽棴鏁版嵁搴撹繛鎺� 鍚屾涓嬫父鐗╂枡 
+        public WebResponseContent ProductSynchronous()
         {
-            try
+            using (var db = new SqlSugarClient(new ConnectionConfig
             {
-                //鎶婂皬浠舵湭涓嬪彂鐨勭殑淇℃伅鍜岀瑙勪负0锛屾渶浣庡簱瀛樹负0鐨勮繃婊ゆ帀
-                //var list = BaseDal.Db.Queryable<Dt_MaterielInfo>().Where(x => x.GoodStatusState == "鏈笅鍙�" && x.MaterielSourceType == MaterielSourceTypeEnum.SelfMadePart).ToList();
-                var list = BaseDal.QueryData(x => x.MaterielSourceType == MaterielSourceTypeEnum.SelfMadePart && x.BoxQty > 0 && x.MinQty > 0 && x.GoodStatusState == "鏈笅鍙�").ToList();
-                if (list.Count < 1)
+                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()
                 {
-                    return new WebResponseContent().OK("鏃犳湭涓嬪彂鑽搧");
+                    IsAutoRemoveDataCache = true
                 }
-                //鎵惧埌浜嗗氨灏嗘暣涓猯ist鍙戠粰涓嬫父绯荤粺
-                foreach (var item in list)
+            }))
+            {
+                try
                 {
-                    var medicineDTO = new ProductInfo
+                    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)
                     {
-                        //鐢ㄦ埛code
-                        customerCode = "905",
-                        //鐗╂枡绫诲瀷
-                        materialCode = item.MaterielErpType,
-                        //浜у搧缂栫爜
-                        productCode = item.MaterielCode,
-                        //浜у搧鍚�
-                        productName = item.MaterielName,
-                        //浜у搧鏉$爜
-                        productBarCode = item.Barcode,
 
-                        //鑽墏
-                        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"
-                    };
+                        return WebResponseContent.Instance.Error("鏃犳湭涓嬪彂鑽搧");
+                    }
                     var url = "http://172.16.1.2:9357/file-admin/api/product/productSynchronous";
-                    var result = HttpHelper.Post(url, medicineDTO.ToJsonString());
-                    var resp = JsonConvert.DeserializeObject<TowcsResponse<object>>(result);
-
-                    if (resp != null && resp.code == "0")
+                    foreach (var item in materielInfos)
                     {
-                        item.GoodStatusState = "涓嬪彂瀹屾垚";
-                    }
-                    else
-                    {
-                        continue;
-                    }
+                        var medicineDTO = new ProductInfo
+                        {
+                            //鐢ㄦ埛code
+                            customerCode = "905",
+                            //鐗╂枡绫诲瀷
+                            materialCode = item.MaterielErpType,
+                            //浜у搧缂栫爜
+                            productCode = item.MaterielCode,
+                            //浜у搧鍚�
+                            productName = item.MaterielName,
+                            //浜у搧鏉$爜
+                            productBarCode = item.Barcode,
 
+                            //鑽墏
+                            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();
+
+                    return WebResponseContent.Instance.OK();
                 }
-                BaseDal.UpdateData(list);
-                //Db.Updateable(list).ExecuteCommand();
-                return new WebResponseContent { Status = true, Message = "鎴愬姛" };
+                catch (Exception ex)
+                {
+                    Console.WriteLine("涓嬪彂WCS鐗╂枡淇℃伅寮傚父锛�" + ex.Message);
+                    return WebResponseContent.Instance.Error(ex.Message);
+                }
             }
-            catch (Exception ex)
-            {
-                Console.WriteLine("ProductSynchronous 寮傚父锛�" + ex.Message);
-                return new WebResponseContent { Status = false, Message = ex.Message };
-            }
-
         }
+        #endregion
+
         public override WebResponseContent DeleteData(object[] keys)
         {
             WebResponseContent content = new WebResponseContent();

--
Gitblit v1.9.3