空载具出库代码调整
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -97,7 +97,7 @@ public partial class WmsDistaskCode : BaseEntity<string>
|
||||
/// <summary>
|
||||
/// 行号
|
||||
/// </summary>
|
||||
public int no { get; set; }
|
||||
//public int no { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 子载具ID
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
//所有载具加锁
|
||||
|
||||
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user