采购/委外调整

This commit is contained in:
2024-10-18 13:42:03 +08:00
parent abe6bd70b3
commit 8ae060e8d6
17 changed files with 149 additions and 70 deletions

View File

@@ -485,7 +485,7 @@ namespace Tnb.WarehouseMgr
/// <param name="wmsMaterialTransfer"></param>
/// <returns></returns>
[HttpPost]
public async Task<Entities.Dto.Outputs.Result> DistributeJZCToCPC(DistributeF4JXCInput input)
public async Task<dynamic> DistributeJZCToCPC(DistributeF4JXCInput input)
{
SemaphoreSlim semaphoreSlim_MJC = null;
SemaphoreSlim semaphoreSlim_CPK = null;
@@ -512,6 +512,7 @@ namespace Tnb.WarehouseMgr
await _db.Ado.BeginTranAsync();
int xfCarrysCount = 0;
foreach (WmsMaterialTransferD wmsMaterialTransferD in wmsMaterialTransferDs)
{
// 转库单载具子表
@@ -526,10 +527,9 @@ namespace Tnb.WarehouseMgr
warehouse_id = WmsWareHouseConst.WAREHOUSE_MJC_ID,
material_id = wmsMaterialTransferD.material_id,
code_batch = wmsMaterialTransferD.code_batch,
qty = needOut,
dbConn = _db
qty = needOut
};
List<Tuple<string, WmsCarryH, WmsCarryCode, BasLocation>> carryitems = await _wareHouseService.OutStockStrategy_saleRelease(outStockStrategyInput);
List<Tuple<string, WmsCarryH, WmsCarryCode, BasLocation>> carryitems = await _wareHouseService.OutStockStrategy_saleRelease(outStockStrategyInput, _db);
List<Tuple<string, WmsCarryH, WmsCarryCode, BasLocation>> items_pretask = carryitems.Where(r => r.Item1 == "预任务").ToList();
decimal canOutstockQty = items_pretask.Sum(r => r.Item3.codeqty).ParseToDecimal();
@@ -554,21 +554,18 @@ namespace Tnb.WarehouseMgr
&& r.status == WmsWareHouseConst.BILLSTATUS_ADD_ID && r.origin == "外协调拨入库").FirstAsync();
if (wmsSterilizationInstockH == null)
{
Logger.LogWarning($"【四楼静置仓到成品库】载具{wmsCarryH.carry_code}没有找到新增状态且来源是外协调拨入库的灭菌入库记录!");
continue;
throw new Exception($"【四楼静置仓到成品库】载具{wmsCarryH.carry_code}没有找到新增状态且来源是外协调拨入库的灭菌入库记录!");
}
if (wmsCarryH.location_id != wmsSterilizationInstockH.location_id)
{
Logger.LogWarning($"【四楼静置仓到成品库】载具{wmsCarryH.carry_code}实际位置与灭菌入库记录位置不一致");
continue;
throw new Exception($"【四楼静置仓到成品库】载具{wmsCarryH.carry_code}实际位置与灭菌入库记录位置不一致");
}
BasLocation startlocation = await _db.Queryable<BasLocation>().Where(r => r.id == wmsCarryH.location_id).FirstAsync();
if (startlocation.is_lock == 1)
{
Logger.LogWarning($"【四楼静置仓到成品库】 起点库位{startlocation.location_code}已锁定");
continue;
throw new Exception($"【四楼静置仓到成品库】 起点库位{startlocation.location_code}已锁定");
}
wmsSterilizationInstockH.status = WmsWareHouseConst.BILLSTATUS_ON_ID;
@@ -633,13 +630,16 @@ namespace Tnb.WarehouseMgr
await _db.Insertable(wmsMaterialTransferCarrys).ExecuteCommandAsync();
Logger.LogInformation($"【DistributeF4JXC】插入转库单{wmsMaterialTransfer.bill_code}载具表的数据");
xfCarrysCount += wmsMaterialTransferCarrys.Count;
Logger.LogInformation($"转库单{wmsMaterialTransfer.bill_code} 行号 {wmsMaterialTransferD.lineno}预任务{wmsMaterialTransferCarrys.Count}条全部生成成功");
}
if (xfCarrysCount == 0)
{
throw new AppFriendlyException($"可下发数量为0", 500);
}
await _db.Ado.CommitTranAsync();
}
catch(Exception ex)
{
@@ -1590,10 +1590,9 @@ namespace Tnb.WarehouseMgr
needOut = needOut,
material_code = wmsMaterialTransferD.material_code,
endlocations = new string[2] { WmsWareHouseConst.ZZCSSX121009, WmsWareHouseConst.ZZCSSX121010 },
dbConn = _db
};
List<Tuple<WmsCarryH, decimal, BasLocation>>? carrys = await _wareHouseService.OutStockStrategyZCC2Floor2(OutStockStrategyInput);
List<Tuple<WmsCarryH, decimal, BasLocation>>? carrys = await _wareHouseService.OutStockStrategyZCC2Floor2(OutStockStrategyInput, _db);
foreach (var item in carrys)
{
@@ -1682,11 +1681,11 @@ namespace Tnb.WarehouseMgr
/// <returns></returns>
/// <exception cref="AppFriendlyException"></exception>
[HttpPost, NonUnify, AllowAnonymous]
public async Task<Entities.Dto.Outputs.Result> DistributeDetailToZCC(MaterialTransferDDistributeToZCCInput input)
public async Task<Entities.Dto.Outputs.Result> DistributeDetailToZCC(MaterialTransferDDistributeToZCCInput input, ISqlSugarClient dbConn = null)
{
await _s_taskExecuteSemaphore_F1ZCCOutstock.WaitAsync();
var db = input.dbConn;
if (input.dbConn == null)
var db = dbConn;
if (dbConn == null)
db = _db;
Logger.LogInformation($"中储仓下发到二楼暂存仓");