yanjinhui
3 天以前 bfc11f87e2b64420c9917c0b9881b3e327d6f796
优化调拨出入库
已修改3个文件
25 ■■■■ 文件已修改
新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/InventoryServices.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/extend/Allocat.cs 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
н¨Îļþ¼Ð/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs
@@ -1091,6 +1091,7 @@
            return content;
        }
        public WebResponseContent OutTaskFinish(Dt_SupplyTask supplyTask, Dt_DeliveryOrder deliveryOrder)
        {
            WebResponseContent content = new WebResponseContent();
@@ -1139,7 +1140,7 @@
                    _inventory_BatchServices.DeleteData(inventory_Batch);
                else
                    _inventory_BatchServices.UpdateData(inventory_Batch);
                _materielInfoService.UpdateData(materielInfo);
                //_materielInfoService.UpdateData(materielInfo);
                if (inventoryInfo.StockQuantity <= 0)
                    _inventoryInfoService.DeleteData(inventoryInfo);
                else
@@ -1156,8 +1157,16 @@
                {
                    materielInfo.Business_qty -= supplyTask.StockQuantity;
                    if (materielInfo.Business_qty < materielInfo.MinQty)
                    {
                        CreateAllocatInOut(materielInfo);//创建调拨任务
                }
                    else
                    {
                        _materielInfoService.UpdateData(materielInfo);
                    }
                }
                #endregion
                _unitOfWorkManage.CommitTran();
н¨Îļþ¼Ð/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/InventoryServices.cs
@@ -74,6 +74,11 @@
        }
        /// <summary>
        /// ä¸è®ºæ˜¯å‡ºåº“入库盘点,wcs都会调用我这个方法
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ApiResponse<Dt_InventoryInfo> OrderFeedback(EdiOrderCallbackRequest request)
        {
н¨Îļþ¼Ð/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/extend/Allocat.cs
@@ -36,7 +36,7 @@
                Dt_Tactics tactics = _tacticsService.Repository.QueryFirst(x => x.TacticeName == "出库策略");
                List<Dt_SupplyTask> supplyTasks = new List<Dt_SupplyTask>();
                //// æŸ¥è¯¢å¤§ä»¶åº“中可用的库存
                List<Dt_InventoryInfo> dt_InventoryInfos = _inventoryInfoService.Repository.QueryData(x => x.MaterielCode == materielInfo.MaterielCode && x.StockStatus == StockStatusEmun.入库完成.ObjToInt() && x.AvailableQuantity > 0 && x.WarehouseCode == WareCode);
                List<Dt_InventoryInfo> dt_InventoryInfos = _inventoryInfoService.Repository.QueryData(x => x.MaterielCode == materielInfo.MaterielCode && x.StockStatus == StockStatusEmun.入库完成.ObjToInt() && x.AvailableQuantity > 0 && x.WarehouseCode == WareCode);//这里如果有俩个不同批次的物料,补货不管批次
                if (dt_InventoryInfos.Count < 1) throw new Exception($"物料编号【{materielInfo.MaterielCode}】大件库无库存!请及时补充库存!");
                if (tactics.SelectTactice == TacticsEnum.ComeOutonFirstTime.ObjToInt())
                    dt_InventoryInfos = dt_InventoryInfos.OrderBy(x => x.ValidityPeriod).ToList();
@@ -50,6 +50,8 @@
                    OutStatus = "新建",
                    Details = new List<Dt_DeliveryOrderDetail>()
                };
                #region å¾ªçޝ
                foreach (var item in dt_InventoryInfos)
                {
                    decimal Qty = 0;
@@ -84,7 +86,7 @@
                    {
                        deliveryOrderDetail.Order_qty += Qty;
                    }
                    deliveryOrder.Details.Add(deliveryOrderDetail);
                    //deliveryOrder.Details.Add(deliveryOrderDetail);
                    #endregion
                    #region æ·»åŠ è°ƒæ‹¨å‡ºåº“ä»»åŠ¡
                    Dt_SupplyTask supplyTask = new Dt_SupplyTask()
@@ -107,6 +109,9 @@
                    supplyTasks.Add(supplyTask); 
                    #endregion
                }
                #endregion
                #region å¤§ä»¶åº“补立库后立库业务库存数还是小于立库最小库存数,添加提示信息
                //添加报警信息
                if (materielInfo.Business_qty < materielInfo.MinQty)