空载具出库代码调整

This commit is contained in:
alex
2023-06-19 08:44:06 +08:00
parent 570f0a170f
commit 076cd0c641
11 changed files with 39 additions and 37 deletions

View File

@@ -37,7 +37,7 @@ namespace Tnb.WarehouseMgr.Entities.Consts
/// <summary>
/// 预任务单据状态-已完成Id
/// </summary>
public const string PRETASK_BILL_STATUS_COMPLE_ID = "26126860808229";
public const string PRETASK_BILL_STATUS_COMPLE_ID = "26126838773285";
/// <summary>
/// 预任务单据状态-已完成Id
/// </summary>
@@ -87,10 +87,6 @@ namespace Tnb.WarehouseMgr.Entities.Consts
/// </summary>
public const string WMS_PRETASK_TRANSFER_TYPE_ID = "26126753796389";
/// <summary>
/// 预任务生成业务类型-空载具出库ID
/// </summary>
public const string BIZTYPE_EMPTYOUT_ID = "26122798979365";
/// <summary>
/// 预任务生成业务类型-空载具出库
/// </summary>

View File

@@ -97,7 +97,7 @@ public partial class WmsDistaskCode : BaseEntity<string>
/// <summary>
/// 行号
/// </summary>
public int no { get; set; }
//public int no { get; set; }
/// <summary>
/// 子载具ID

View File

@@ -441,7 +441,7 @@ namespace Tnb.WarehouseMgr
{
foreach (var dt in disTasks)
{
if (_userManager.UserOrigin.Equals("app", StringComparison.OrdinalIgnoreCase))
if (_userManager.User.LoginType.Equals("app", StringComparison.OrdinalIgnoreCase))
{
dt.biz_type = $"pda{dt.biz_type}";
}
@@ -460,7 +460,7 @@ namespace Tnb.WarehouseMgr
await _db.Ado.CommitTranAsync();
}
catch (Exception)
catch (Exception ex)
{
await _db.Ado.RollbackTranAsync();
}

View File

@@ -36,16 +36,19 @@ namespace Tnb.WarehouseMgr
private readonly IRunService _runService;
private readonly IVisualDevService _visualDevService;
private readonly IUserManager _userManager;
private readonly IBillRullService _billRullService;
public WmsCarryBindService(
ISqlSugarRepository<WmsCarryH> repository,
IRunService runService,
IVisualDevService visualDevService,
IUserManager userManager)
IUserManager userManager,
IBillRullService billRullService)
{
_db = repository.AsSugarClient();
_runService = runService;
_visualDevService = visualDevService;
_userManager = userManager;
_billRullService = billRullService;
OverideFuncs.CreateAsync = CarryBind;
}

View File

@@ -115,7 +115,7 @@ namespace Tnb.WarehouseMgr
preTask.create_time = DateTime.Now;
return preTask;
}).ToList();
var isOk = await _wareHouseService.GenPreTask(preTasks,null);
var isOk = await _wareHouseService.GenPreTask(preTasks, null);
if (isOk)
{
var preTaskUpInput = new GenPreTaskUpInput();
@@ -142,7 +142,7 @@ namespace Tnb.WarehouseMgr
await _db.Updateable<WmsMoveInstock>().SetColumns(it => new WmsMoveInstock { status = WmsWareHouseConst.BILLSTATUS_ON_ID }).Where(it => it.id == preTaskUpInput.RquireId).ExecuteCommandAsync();
await _wareHouseService.GenInStockTaskHandleAfter(preTaskUpInput,
it => new WmsCarryH { is_lock = 1, location_id = preTaskUpInput.CarryStartLocationId,location_code = preTaskUpInput.CarryStartLocationCode },
it => new WmsCarryH { is_lock = 1, location_id = preTaskUpInput.CarryStartLocationId, location_code = preTaskUpInput.CarryStartLocationCode },
it => new BasLocation { is_lock = 1 });
}
}
@@ -161,8 +161,8 @@ namespace Tnb.WarehouseMgr
public override async Task ModifyAsync(WareHouseUpInput input)
{
if (input == null) throw new ArgumentNullException(nameof(input));
var isOk = await _db.Updateable<WmsMoveInstock>().SetColumns(it => new WmsMoveInstock { status = input.bizTypeId }).Where(it => it.id == input.requireId).ExecuteCommandHasChangeAsync();
if (!isOk) throw Oops.Oh(ErrorCode.COM1001);
var row = await _db.Updateable<WmsMoveInstock>().SetColumns(it => new WmsMoveInstock { status = WmsWareHouseConst.BILLSTATUS_COMPLETE_ID }).Where(it => it.id == input.requireId).ExecuteCommandAsync();
if (row < 1) throw Oops.Oh(ErrorCode.COM1001);
}
}
}

View File

@@ -36,17 +36,19 @@ namespace Tnb.WarehouseMgr
private readonly IRunService _runService;
private readonly IVisualDevService _visualDevService;
private readonly IUserManager _userManager;
private readonly IWareHouseService _wareHouseService;
public WmsCarryUnbindService(
ISqlSugarRepository<WmsCarryH> repository,
IRunService runService,
IVisualDevService visualDevService,
IWareHouseService wareHouseService,
IUserManager userManager)
{
_db = repository.AsSugarClient();
_runService = runService;
_visualDevService = visualDevService;
_userManager = userManager;
_wareHouseService = wareHouseService;
OverideFuncs.CreateAsync = CarryUnbind;
}

View File

@@ -35,7 +35,7 @@ namespace Tnb.WarehouseMgr
public class WmsEmptyOutstockService : BaseWareHouseService
{
private const string BizTypeId = "26121986416677";
private const string BizTypeId = "26122265173285";
private readonly ISqlSugarClient _db;
private readonly IRunService _runService;
private readonly IVisualDevService _visualDevService;
@@ -66,10 +66,6 @@ namespace Tnb.WarehouseMgr
{
await _db.Ado.BeginTranAsync();
VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleConsts.MODULE_WMSEMPTYOUTSTK_ID, true);
await _runService.Create(templateEntity, input);
@@ -80,9 +76,12 @@ namespace Tnb.WarehouseMgr
//出库取起点,获取所有符合输入的载具规格的载具
var setQty = await _db.Queryable<WmsEmptyOutstockH>().FirstAsync(it => it.bill_code == input.data[nameof(WmsEmptyOutstockH.bill_code)].ToString());
var carrys = await _db.Queryable<WmsCarryH>().LeftJoin<BasLocation>((a, b) => a.location_id == b.id)
.Select((a,b) => new
.Where((a, b) => a.carrystd_id == input.data[nameof(WmsEmptyOutstockH.carrystd_id)].ToString()
&& a.carry_status == "0" && a.is_lock == 0 && b.is_lock == 0 && b.is_type == "0")
.Select((a, b) => new
{
carry_id = a.id,
carry_code= a.carry_code,
carrystd_id = a.id,
location_id = b.id,
carry_status = a.carry_status,
@@ -91,10 +90,9 @@ namespace Tnb.WarehouseMgr
l_is_use = b.is_use,
l_is_type = b.is_type
})
.Where(it => it.carrystd_id == input.data[nameof(WmsEmptyOutstockH.carrystd_id)].ToString()
&& it.carry_status == "0"&& it.c_is_lock == 0 && it.l_is_lock == 0 && it.l_is_use == "0" && it.l_is_type == "0")
.ToListAsync();
WmsPointH sPoint = null;
WmsPointH ePoint = null;
if (input.data.ContainsKey(nameof(WmsPointH.location_id)))
@@ -102,9 +100,10 @@ namespace Tnb.WarehouseMgr
ePoint = await _db.Queryable<WmsPointH>().FirstAsync(it => it.location_id == input.data[nameof(WmsPointH.location_id)].ToString());
}
//根据每个载具的起始库位做路径运算
for(int i =0; i< setQty.qty ;i++)
for (int i = 0; i < setQty.qty; i++)
{
sPoint = await _db.Queryable<WmsPointH>().FirstAsync(it => it.location_id == carrys[i].location_id);
if (carrys?.Count > 0)
sPoint = await _db.Queryable<WmsPointH>().FirstAsync(it => it.location_id == carrys[i].location_id);
if (sPoint != null && ePoint != null)
{
@@ -120,18 +119,19 @@ namespace Tnb.WarehouseMgr
WmsPretaskH preTask = new();
preTask.org_id = _userManager.User.OrganizeId;
preTask.startlocation_id = sPoint?.location_id;
preTask.startlocation_code = sPoint?.location_code;
preTask.endlocation_id = ePoint?.location_id;
preTask.endlocation_code = ePoint?.location_code;
preTask.startlocation_id = sPoint?.location_id!;
preTask.startlocation_code = sPoint?.location_code!;
preTask.endlocation_id = ePoint?.location_id!;
preTask.endlocation_code = ePoint?.location_code!;
preTask.start_floor = sPoint?.floor.ToString();
preTask.end_floor = ePoint?.floor.ToString();
preTask.bill_code = _billRullService.GetBillNumber(WmsWareHouseConst.WMS_PRETASK_H_ENCODE).GetAwaiter().GetResult();
preTask.status = WmsWareHouseConst.PRETASK_BILL_STATUS_DXF_ID;
preTask.biz_type = WmsWareHouseConst.BIZTYPE_WMSEMPTYINSTOCK_ID;
preTask.carry_id = input.data[nameof(preTask.carry_id)]?.ToString()!;
preTask.carry_code = input.data[nameof(preTask.carry_code)]?.ToString()!;
preTask.area_id = sPoint?.area_id;
preTask.biz_type = WmsWareHouseConst.BIZTYPE_WMSEPTYOUTSTK_ID;
preTask.task_type = WmsWareHouseConst.WMS_PRETASK_OUTSTOCK_TYPE_ID;
preTask.carry_id = carrys![i].carry_id;
preTask.carry_code = carrys![i].carry_code;
preTask.area_id = sPoint?.area_id!;
preTask.area_code = it.Key;
preTask.require_id = input.data["ReturnIdentity"].ToString();
preTask.require_code = input.data[nameof(preTask.bill_code)]?.ToString()!;
@@ -139,7 +139,7 @@ namespace Tnb.WarehouseMgr
preTask.create_time = DateTime.Now;
return preTask;
}).ToList();
var isOk = await _wareHouseService.GenPreTask(preTasks,null);
var isOk = await _wareHouseService.GenPreTask(preTasks, null);
if (isOk)
{
//所有载具加锁

View File

@@ -151,7 +151,7 @@ namespace Tnb.WarehouseMgr
var isOk = await _wareHouseService.GenPreTask(preTasks,null);
if (isOk)
{
f(input.data.ContainsKey(nameof(WmsDelivery.startlocation_id)) && input.data.ContainsKey(nameof(WmsDelivery.endlocation_id)) && input.data[nameof(WmsDelivery.endlocation_id)] != null && input.data[nameof(WmsDelivery.endlocation_id)] != null)
if(input.data.ContainsKey(nameof(WmsDelivery.startlocation_id)) && input.data.ContainsKey(nameof(WmsDelivery.endlocation_id)) && input.data[nameof(WmsDelivery.endlocation_id)] != null && input.data[nameof(WmsDelivery.endlocation_id)] != null)
{
//查询库位表
var location = await _db.Queryable<BasLocation>().SingleAsync(it => it.id == input.data[nameof(WmsDelivery.startlocation_id)].ToString());