yanjinhui
2025-10-17 564f6a660dfb2a5df8a5e3d174d6aa7d483efe3d
н¨Îļþ¼Ð/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs
@@ -275,7 +275,7 @@
                                return q.OrderBy(i => i.InDate).ToList();
                            };
                            // 4️⃣分配散件(优先立库 Status=1)
                            // 4️⃣分配散件(优先立库 Status=0)
                            decimal remainingPartial = partialQty;
                            if (remainingPartial > 0)
                            {
@@ -525,9 +525,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 +792,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))
                        {
                            //如果条件满足,将物料代码设置为第一个明细项对应的药品物料代码
                            materialCode = firstDetail.MedicineGoods.MaterialCode;
                            materialCode = firstDetail.MedicineGoods.MaterielErpType;
                        }
                        // 3. ç»„装 DTO
                        var ediDto = new TowcsDto.ToediOutInfo
@@ -803,8 +810,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>