From 55142f3214485c7ec12c5e414a56519f66a1eb1d Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期五, 17 十月 2025 19:54:47 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/ZhiHuiQiCe/FangCangZhiNeng

---
 新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs |   37 ++++++++++++++++++++++++-------------
 1 files changed, 24 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/DeliveryOrderServices.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs"
index 874c196..2d7dce1 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs"
@@ -25,7 +25,7 @@
 
 namespace WIDESEA_SquareCabinServices
 {
-    public class DeliveryOrderServices : ServiceBase<Dt_DeliveryOrder, IRepository<Dt_DeliveryOrder>>, IDeliveryOrderServices
+    public partial class DeliveryOrderServices : ServiceBase<Dt_DeliveryOrder, IRepository<Dt_DeliveryOrder>>, IDeliveryOrderServices
     {
         static string SearchDate = "";
         private readonly IBasicService _basicService;
@@ -34,8 +34,9 @@
         private readonly IInventoryInfoService _inventoryInfoService;
         private readonly IDeliveryOrderDetailServices _deliveryOrderDetailServices;
         private readonly ISupplyTaskService _supplyTaskService;
+        private readonly ICabinOrderServices _cabinOrderServices;
         public IRepository<Dt_DeliveryOrder> Repository => BaseDal;
-        public DeliveryOrderServices(IRepository<Dt_DeliveryOrder> BaseDal, IBasicService basicService, IUnitOfWorkManage unitOfWorkManage, IInventory_BatchServices inventory_BatchServices, IInventoryInfoService inventoryInfoService, IDeliveryOrderDetailServices deliveryOrderDetailServices, ISupplyTaskService supplyTaskService) : base(BaseDal)
+        public DeliveryOrderServices(IRepository<Dt_DeliveryOrder> BaseDal, IBasicService basicService, IUnitOfWorkManage unitOfWorkManage, IInventory_BatchServices inventory_BatchServices, IInventoryInfoService inventoryInfoService, IDeliveryOrderDetailServices deliveryOrderDetailServices, ISupplyTaskService supplyTaskService, ICabinOrderServices cabinOrderServices) : base(BaseDal)
         {
             _basicService = basicService;
             _unitOfWorkManage = unitOfWorkManage;
@@ -43,6 +44,7 @@
             _supplyTaskService = supplyTaskService;
             _inventory_BatchServices = inventory_BatchServices;
             _inventoryInfoService = inventoryInfoService;
+            _cabinOrderServices = cabinOrderServices;
         }
 
         /// <summary>
@@ -275,7 +277,7 @@
                                 return q.OrderBy(i => i.InDate).ToList();
                             };
 
-                            // 4锔忊儯鍒嗛厤鏁d欢锛堜紭鍏堢珛搴� Status=1锛�
+                            // 4锔忊儯鍒嗛厤鏁d欢锛堜紭鍏堢珛搴� Status=0锛�
                             decimal remainingPartial = partialQty;
                             if (remainingPartial > 0)
                             {
@@ -301,7 +303,7 @@
                                     };
                                     entityOrder.Details.Add(detail);
 
-                                    inv.OutboundQuantity += (float)use;
+                                    inv.OutboundQuantity += use;
                                     BaseDal.Db.Updateable(inv).ExecuteCommand();
 
                                     remainingPartial -= use;
@@ -332,7 +334,7 @@
                                         };
                                         entityOrder.Details.Add(detail);
 
-                                        inv.OutboundQuantity += (float)use;
+                                        inv.OutboundQuantity += use;
                                         BaseDal.Db.Updateable(inv).ExecuteCommand();
 
                                         remainingPartial -= use;
@@ -375,7 +377,7 @@
                                     };
                                     entityOrder.Details.Add(detail);
 
-                                    inv.OutboundQuantity += (float)useQty;
+                                    inv.OutboundQuantity += useQty;
                                     BaseDal.Db.Updateable(inv).ExecuteCommand();
 
                                     remainingFullBoxes -= useBoxes;
@@ -410,7 +412,7 @@
                                         };
                                         entityOrder.Details.Add(detail);
 
-                                        inv.OutboundQuantity += (float)useQty;
+                                        inv.OutboundQuantity += useQty;
                                         BaseDal.Db.Updateable(inv).ExecuteCommand();
 
                                         remainingFullBoxes -= useBoxes;
@@ -525,9 +527,16 @@
                             decimal orderQty = (decimal)item.order_qty;
 
                             //  2锔忊儯 鏌ョ墿鏂欏熀纭�淇℃伅锛堣幏鍙栫瑙勶級
-                            var medication = BaseDal.Db.Queryable<Dt_MedicineGoods>()
-                                .Where(m => m.Goods_no == item.goods_no)
+                            var medication = BaseDal.Db.Queryable<Dt_MaterielInfo>()
+                                .Where(m => m.MaterielCode == item.goods_no)
                                 .First();
+                            //濡傛灉鐗╂枡淇℃伅涓嶅瓨鍦紝璺宠繃鏁翠釜鍏ュ簱鍗�
+                            if (medication == null)
+                            {
+                                skipOrder = true;
+                                Console.WriteLine($"璺宠繃鍏ュ簱鍗� {outorder.order_no}锛屽師鍥狅細鏈壘鍒板晢鍝� [{item.goods_no}] 鐨勭墿鏂欎俊鎭��");
+                                break;
+                            }
 
 
                             //  鑻ョ墿鏂欎笉瀛樺湪鎴� MaterielSourceType 涓虹┖锛屽垯璺宠繃鏁翠釜鍑哄簱鍗�
@@ -785,10 +794,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;
                         }
                         // 3. 缁勮 DTO
                         var ediDto = new TowcsDto.ToediOutInfo
@@ -803,8 +812,8 @@
                             {
                                 batchNo = d.Batch_num,
                                 productCode = d.Goods_no,
-                                productName = d.MedicineGoods?.Goods_spm,
-                                productSpecifications = d.MedicineGoods?.Model,
+                                productName = d.MedicineGoods?.MaterielName,
+                                productSpecifications = d.MedicineGoods?.MaterielModel,
                                 quantity = (int)d.Order_qty,
                                 //stocktakingDetails = order.Out_type == "3"
                                 //    ? new List<ToOutediInStock>
@@ -1221,6 +1230,7 @@
                     MaterielCode = inventoryInfo.MaterielCode,
                     MaterielSpec = inventoryInfo.MaterielSpec,
                     TaskType = TaskTypeEnum.OutInventory.ObjToInt(),
+                    TaskStatus = SupplyStatusEnum.CheckFinish.ObjToInt(),
                     CreateDate = DateTime.Now,
                     Creater = App.User.UserName,
                     LocationCode = LocationCode,
@@ -1324,6 +1334,7 @@
                     MaterielName = inventoryInfo.MaterielName,
                     MaterielCode = inventoryInfo.MaterielCode,
                     MaterielSpec = inventoryInfo.MaterielSpec,
+                    TaskStatus = SupplyStatusEnum.OutFinish.ObjToInt(),
                     TaskType = TaskTypeEnum.OutPick.ObjToInt(),
                     CreateDate = DateTime.Now,
                     Creater = App.User.UserName,

--
Gitblit v1.9.3