From 5621e29bd415c85fd719e0e6366eae813b970ea2 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期四, 30 十月 2025 20:16:11 +0800
Subject: [PATCH] 1
---
新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/extend/Allocat.cs | 30 +++++++++++++++++++++++++-----
1 files changed, 25 insertions(+), 5 deletions(-)
diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/extend/Allocat.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/extend/Allocat.cs"
index d840053..a8743ee 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/extend/Allocat.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/extend/Allocat.cs"
@@ -6,9 +6,11 @@
using System.Net.NetworkInformation;
using System.Text;
using System.Threading.Tasks;
+using WIDESEA_Common;
using WIDESEA_Common.OrderEnum;
using WIDESEA_Common.StockEnum;
using WIDESEA_Common.TaskEnum;
+using WIDESEA_Common.WareHouseEnum;
using WIDESEA_Core;
using WIDESEA_ISquareCabinServices;
using WIDESEA_Model.Models;
@@ -18,7 +20,7 @@
{
public partial class DeliveryOrderServices
{
- #region 鍒涘缓骞冲簱璋冩嫧鍑哄簱鍗曘�佺珛搴撹皟鎷ㄥ叆搴撳崟
+ #region 鍒涘缓骞冲簱璋冩嫧鍑哄簱鍗曘�佺珛搴撹皟鎷ㄥ叆搴撳崟 鍦ㄧ珛搴撳嚭搴撳畬鎴愬悗璋冪敤 鍦ㄥ嚭搴撳畬鎴愬悗灏嗙墿鏂欒〃涓殑涓氬姟鏁伴噺锛圔usiness_qty锛夊噺鍘诲疄闄呭嚭搴撴暟閲�
/// <summary>
/// 鍒涘缓璋冩嫧鍗�
/// </summary>
@@ -29,8 +31,17 @@
WebResponseContent response = new WebResponseContent();
try
{
+ string WareCode = WarehouseEnum.澶т欢搴�.ObjToInt().ToString("000");
+ if (materielInfo.Business_qty >= materielInfo.MinQty) return response;
+ 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.StockQuantity > x.OutboundQuantity).OrderBy(x => x.InDate).ToList();
+ //// 鏌ヨ澶т欢搴撲腑鍙敤鐨勫簱瀛�
+ 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();
+ else
+ dt_InventoryInfos = dt_InventoryInfos.OrderBy(x => x.InDate).ToList();
decimal Qty = 0;
foreach (var item in dt_InventoryInfos)
{
@@ -42,8 +53,15 @@
materielInfo.Business_qty += materielInfo.BoxQty;
item.OutboundQuantity += materielInfo.BoxQty;
}
+ item.AvailableQuantity = item.StockQuantity - item.OutboundQuantity;
}
-
+ #region 澶т欢搴撹ˉ绔嬪簱鍚庣珛搴撲笟鍔″簱瀛樻暟杩樻槸灏忎簬绔嬪簱鏈�灏忓簱瀛樻暟锛屾坊鍔犳彁绀轰俊鎭�
+ //娣诲姞鎶ヨ淇℃伅
+ if (materielInfo.Business_qty < materielInfo.MinQty)
+ {
+ _messageInfoService.AddMessageInfo(MessageGroupByEnum.InventoryLowAlarm, $"鐗╂枡鍚嶇О:{materielInfo.MaterielName}", $"銆愮墿鏂欑紪鐮亄materielInfo.MaterielCode}澶т欢搴撳簱瀛樿繃浣庛��");
+ }
+ #endregion
#region 娣诲姞璋冩嫧鍑哄簱鍗�
Dt_DeliveryOrder deliveryOrder = new Dt_DeliveryOrder()
{
@@ -53,7 +71,7 @@
Details = new List<Dt_DeliveryOrderDetail>()
};
dt_InventoryInfos = dt_InventoryInfos.Where(X => X.StockStatus == StockStatusEmun.鍑哄簱閿佸畾.ObjToInt()).ToList();
- foreach (var item in dt_InventoryInfos.GroupBy(x => x.BatchNo))
+ foreach (var item in dt_InventoryInfos.GroupBy(x => x.BatchNo)) //杩欓噷鎸夋壒娆″垎缁勪簡
{
Dt_DeliveryOrderDetail deliveryOrderDetail = new Dt_DeliveryOrderDetail()
{
@@ -67,6 +85,7 @@
Status = 2,
Reservoirarea = item.First().WarehouseCode
};
+ deliveryOrder.Warehouse_no = item.First().WarehouseCode;
deliveryOrder.Details.Add(deliveryOrderDetail);
}
#endregion
@@ -111,7 +130,6 @@
Reservoirarea = cabinOrder.Warehouse_no,
Goods_no = item.Goods_no,
Order_qty = item.Order_qty,
- Order_Inqty = item.Order_qty,
Batch_num = item.Batch_num,
OrderDetailStatus = "鏂板缓",
Status = 0
@@ -121,6 +139,7 @@
#endregion
_unitOfWorkManage.BeginTran();
+ _materielInfoService.UpdateData(materielInfo);
_inventoryInfoService.Repository.UpdateData(dt_InventoryInfos);
_supplyTaskService.AddData(supplyTasks);
BaseDal.Db.InsertNav(deliveryOrder).Include(x => x.Details).ExecuteCommand();
@@ -130,6 +149,7 @@
catch (Exception ex)
{
_unitOfWorkManage.RollbackTran();
+ _messageInfoService.AddMessageInfo(MessageGroupByEnum.InventoryLowAlarm, "澶т欢搴撹ˉ璐х珛搴�", ex.Message);
response.Error(ex.Message);
}
return response;
--
Gitblit v1.9.3