添加出入库记录逻辑,采购收货调拨打印、绑定条码更接口变更等

This commit is contained in:
2024-08-12 09:12:56 +08:00
parent 00f01db950
commit cb24d13fff
17 changed files with 688 additions and 25 deletions

View File

@@ -73,6 +73,10 @@ namespace Tnb.WarehouseMgr
private readonly IElevatorControlService _elevatorControlService;
private readonly IWmsCarryBindService _wmsCarryBindService;
private readonly IWmsCarryUnbindService _wmsCarryUnbindService;
private readonly IWmsOutinStockDetailService _wmsOutinStockDetailService;
private static readonly Dictionary<string, int> _elevatorAgvCtlStatusMap = new(StringComparer.OrdinalIgnoreCase);
private readonly ElevatorControlConfiguration _eleCtlCfg = App.Configuration.Build<ElevatorControlConfiguration>();
private static Dictionary<string, object> locMap = new Dictionary<string, object>(StringComparer.OrdinalIgnoreCase);
@@ -86,6 +90,7 @@ namespace Tnb.WarehouseMgr
public static SemaphoreSlim s_taskGenPreTask = new(1);
public static SemaphoreSlim s_GenTaskExecute = new(1);
public Func<string, int, Task> AddUnExecuteTask { get; set; }
@@ -126,7 +131,8 @@ namespace Tnb.WarehouseMgr
IWmsCarryBindService wmsCarryBindService,
IWmsCarryUnbindService wmsCarryUnbindService,
IRunService runService,
IVisualDevService visualDevService
IVisualDevService visualDevService,
IWmsOutinStockDetailService wmsOutinStockDetailService
//IConfiguration configuration
) : base(repository.AsSugarClient())
{
@@ -141,6 +147,7 @@ namespace Tnb.WarehouseMgr
_wmsCarryUnbindService = wmsCarryUnbindService;
_runService = runService;
_visualDevService = visualDevService;
_wmsOutinStockDetailService = wmsOutinStockDetailService;
//_configuration = configuration;
}
@@ -2537,15 +2544,21 @@ namespace Tnb.WarehouseMgr
_ = await _db.Updateable(carryIts).UpdateColumns(it => new { it.is_lock, it.location_id, it.location_code, it.instock_time }).ExecuteCommandAsync();
Logger.Information($"【TaskComplate】 更新载具 {JsonConvert.SerializeObject(carryIts)}");
//更新条码的库位和仓库信息
_ = await _db.Updateable(carryCodeIts).UpdateColumns(it => new { it.warehouse_id, it.location_id, it.location_code }).ExecuteCommandAsync();
_ = await _db.Updateable(carryCodeIts).UpdateColumns(it => new { it.warehouse_id, it.location_id, it.location_code }).Where(it => multiList.Select(x => x.carry_id).Contains(it.carry_id)).ExecuteCommandAsync();
//更新库位信息,使用状态为 使用,锁定状态为未锁定
_ = await _db.Updateable(locIts).UpdateColumns(it => new { it.is_use, it.is_lock }).ExecuteCommandAsync();
Logger.Information($"【TaskComplate】 更新库位 {JsonConvert.SerializeObject(locIts)}");
/* var loginType= _userManager?.LoginType ?? "web";
Log.Information($"_userManager.LoginType={loginType}");
*/ //更新业务主表的单据状态
foreach (WmsDistaskH? dt in disTasks)
{
AddOutinStockDetailInput addOutinStockDetailInput = new AddOutinStockDetailInput();
addOutinStockDetailInput.disTask = dt;
addOutinStockDetailInput.warehouse_id = carryCodeIts[0].warehouse_id;
await _wmsOutinStockDetailService.AddOutinStockDetail(addOutinStockDetailInput, _db);
#region todo service中
// 销售出库
if (dt.biz_type == WmsWareHouseConst.BIZTYPE_WMSSALERELEASE_ID)