From d48e486d63ae2a0fc454c27c79b8f12115e4bcbe Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期六, 18 十月 2025 16:20:45 +0800
Subject: [PATCH] 修改

---
 新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs |   63 +++++++++++++++++++++++++------
 1 files changed, 50 insertions(+), 13 deletions(-)

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 4a56fe5..28466a4 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"
@@ -55,6 +55,11 @@
 
         
        
+        /// <summary>
+        /// pda鑾峰彇鍑哄簱鍗�
+        /// </summary>
+        /// <param name="saveModel"></param>
+        /// <returns></returns>
         public WebResponseContent GetCabinOrders(SaveModel saveModel)
         {
             WebResponseContent content = new WebResponseContent();
@@ -176,11 +181,13 @@
                 Dt_SupplyTask supplyTask = new Dt_SupplyTask()
                 {
                     WarehouseCode = cabinOrderDetail.Reservoirarea,
-                    BatchNo=inventoryInfo.BatchNo,
-                    MaterielName= inventoryInfo.MaterielName,
-                    MaterielCode= inventoryInfo.MaterielCode,
-                    MaterielSpec= inventoryInfo.MaterielSpec,
-                    TaskType=TaskTypeEnum.InPick.ObjToInt(),
+                    TaskNum = cabinOrderDetail.Id,
+                    TaskStatus = SupplyStatusEnum.InFinish.ObjToInt(),
+                    BatchNo = inventoryInfo.BatchNo,
+                    MaterielName = inventoryInfo.MaterielName,
+                    MaterielCode = inventoryInfo.MaterielCode,
+                    MaterielSpec = inventoryInfo.MaterielSpec,
+                    TaskType = TaskTypeEnum.InPick.ObjToInt(),
                     CreateDate = DateTime.Now,
                     Creater = App.User.UserName,
                     LocationCode = location.LocationCode,
@@ -296,6 +303,7 @@
 
                     foreach (var order in newOrders)
                     {
+                        bool skipOrder = false;//鏍囪鏄惁璺宠繃璇ュ叆搴撳崟
                         var entityOrder = new Dt_CabinOrder
                         {
                             Order_no = order.order_no,
@@ -324,8 +332,22 @@
                             // 灏嗕笂娓稿叆搴撴暟閲忚浆涓烘鏁�
                             item.order_qty = Math.Abs(item.order_qty);
                             #region 鏍规嵁鐗╂枡缂栫爜鏌ヨ鐗╂枡淇℃伅
-                            //Dt_MaterielInfo materielInfo = _basicService.MaterielInfoService.Repository.QueryFirst(x => x.MaterielCode == item.goods_no);
-                            Dt_MedicineGoods materielInfo = BaseDal.Db.Queryable<Dt_MedicineGoods>().Where(x => x.Goods_no == item.goods_no).First();
+                            Dt_MaterielInfo materielInfo = _basicService.MaterielInfoService.Repository.QueryFirst(x => x.MaterielCode == item.goods_no);
+                            //濡傛灉鐗╂枡淇℃伅涓嶅瓨鍦紝璺宠繃鏁翠釜鍏ュ簱鍗�
+                            if (materielInfo == null)
+                            {
+                                skipOrder = true;
+                                Console.WriteLine($"璺宠繃鍏ュ簱鍗� {order.order_no}锛屽師鍥狅細鏈壘鍒板晢鍝� [{item.goods_no}] 鐨勭墿鏂欎俊鎭��");
+                                break;
+                            }
+
+                            //  鑻ョ墿鏂欎笉瀛樺湪鎴� MaterielSourceType 涓虹┖锛屽垯璺宠繃鏁翠釜鍏ュ簱鍗�
+                            if (materielInfo == null || !Enum.IsDefined(typeof(MaterielSourceTypeEnum), materielInfo.MaterielSourceType))
+                            {
+                                skipOrder = true;
+                                break;
+                            }
+                            //Dt_MedicineGoods materielInfo = BaseDal.Db.Queryable<Dt_MedicineGoods>().Where(x => x.Goods_no == item.goods_no).First();
                             ///鏍规嵁鐗╂枡淇℃伅澶у皬浠跺睘鎬у尯鍒嗘槸鍚﹀叆绔嬪簱 //澶т欢鍏ュ钩搴�
                             if (materielInfo.MaterielSourceType == MaterielSourceTypeEnum.PurchasePart)
                             {
@@ -411,9 +433,15 @@
                                 }
                                 #endregion
                             }
-                            //_basicService.MaterielInfoService.Repository.UpdateData(materielInfo);
-                            _medicineGoodsServices.Db.Updateable(materielInfo).ExecuteCommand();
+                            _basicService.MaterielInfoService.Repository.UpdateData(materielInfo);
+                            //_medicineGoodsServices.Db.Updateable(materielInfo).ExecuteCommand();
                             #endregion
+                        }
+                        // 鉂楀鏋滆烦杩囪鍗曪紝鍒欑洿鎺ontinue锛屼笉淇濆瓨
+                        if (skipOrder)
+                        {
+                            Console.WriteLine($"璺宠繃鍏ュ簱鍗� {order.order_no}锛屽洜涓哄瓨鍦ㄦ湭瀹氫箟鐗╂枡灞炴�х殑鍟嗗搧銆�");
+                            continue;
                         }
                         _CabinOrders.Add(entityOrder);
                         orderNos.Add(order.order_no);
@@ -513,6 +541,15 @@
                             var materielInfo = BaseDal.Db.Queryable<Dt_MedicineGoods>()
                                 .Where(x => x.Goods_no == item.goods_no)
                                 .First();
+
+
+                            //濡傛灉鐗╂枡淇℃伅涓嶅瓨鍦紝璺宠繃鏁翠釜鍏ュ簱鍗�
+                            if (materielInfo == null)
+                            {
+                                skipOrder = true;
+                                Console.WriteLine($"璺宠繃鍏ュ簱鍗� {order.order_no}锛屽師鍥狅細鏈壘鍒板晢鍝� [{item.goods_no}] 鐨勭墿鏂欎俊鎭��");
+                                break;
+                            }
 
                             //  鑻ョ墿鏂欎笉瀛樺湪鎴� MaterielSourceType 涓虹┖锛屽垯璺宠繃鏁翠釜鍏ュ簱鍗�
                             if (materielInfo == null || !Enum.IsDefined(typeof(MaterielSourceTypeEnum), materielInfo.MaterielSourceType))
@@ -677,10 +714,10 @@
                     string materialCode = "YY";//榛樿鍊�
                     //鑾峰彇褰撳墠璁㈠崟鐨勭涓�涓槑缁嗛」
                     var firstDetail = order.Details.FirstOrDefault();
-                    if (firstDetail?.MedicineGoods != null && !string.IsNullOrEmpty(firstDetail.MedicineGoods.MaterialCode))
+                    if (firstDetail?.MedicineGoods != null && !string.IsNullOrEmpty(firstDetail.MedicineGoods.MaterielErpType))
                     {
                         //濡傛灉鏉′欢婊¤冻锛屽皢鐗╂枡浠g爜璁剧疆涓虹涓�涓槑缁嗛」瀵瑰簲鐨勮嵂鍝佺墿鏂欎唬鐮�
-                        materialCode = firstDetail.MedicineGoods.MaterialCode;
+                        materialCode = firstDetail.MedicineGoods.MaterielErpType;
                     }
 
                     var ediDto = new ToediInInfo
@@ -705,9 +742,9 @@
                             //浜у搧
                             productCode = d.Goods_no,
                             //sku鍚嶇О
-                            productName = d.MedicineGoods?.Goods_spm,
+                            productName = d.MedicineGoods?.MaterielName,
                             //sku瑙勬牸
-                            productSpecifications = d.MedicineGoods?.Model,
+                            productSpecifications = d.MedicineGoods?.MaterielSpec,
                             //鏁伴噺
                             quantity = (int)d.Order_qty,
                             //鏁堟湡

--
Gitblit v1.9.3