空载具出库代码调整

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

View File

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

View File

@@ -441,7 +441,7 @@ namespace Tnb.WarehouseMgr
{ {
foreach (var dt in disTasks) 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}"; dt.biz_type = $"pda{dt.biz_type}";
} }
@@ -460,7 +460,7 @@ namespace Tnb.WarehouseMgr
await _db.Ado.CommitTranAsync(); await _db.Ado.CommitTranAsync();
} }
catch (Exception) catch (Exception ex)
{ {
await _db.Ado.RollbackTranAsync(); await _db.Ado.RollbackTranAsync();
} }

View File

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

View File

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

View File

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

View File

@@ -35,7 +35,7 @@ namespace Tnb.WarehouseMgr
public class WmsEmptyOutstockService : BaseWareHouseService public class WmsEmptyOutstockService : BaseWareHouseService
{ {
private const string BizTypeId = "26121986416677"; private const string BizTypeId = "26122265173285";
private readonly ISqlSugarClient _db; private readonly ISqlSugarClient _db;
private readonly IRunService _runService; private readonly IRunService _runService;
private readonly IVisualDevService _visualDevService; private readonly IVisualDevService _visualDevService;
@@ -66,10 +66,6 @@ namespace Tnb.WarehouseMgr
{ {
await _db.Ado.BeginTranAsync(); await _db.Ado.BeginTranAsync();
VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleConsts.MODULE_WMSEMPTYOUTSTK_ID, true); VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleConsts.MODULE_WMSEMPTYOUTSTK_ID, true);
await _runService.Create(templateEntity, input); 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 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) 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_id = a.id,
carry_code= a.carry_code,
carrystd_id = a.id, carrystd_id = a.id,
location_id = b.id, location_id = b.id,
carry_status = a.carry_status, carry_status = a.carry_status,
@@ -91,10 +90,9 @@ namespace Tnb.WarehouseMgr
l_is_use = b.is_use, l_is_use = b.is_use,
l_is_type = b.is_type 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(); .ToListAsync();
WmsPointH sPoint = null; WmsPointH sPoint = null;
WmsPointH ePoint = null; WmsPointH ePoint = null;
if (input.data.ContainsKey(nameof(WmsPointH.location_id))) 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()); 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) if (sPoint != null && ePoint != null)
{ {
@@ -120,18 +119,19 @@ namespace Tnb.WarehouseMgr
WmsPretaskH preTask = new(); WmsPretaskH preTask = new();
preTask.org_id = _userManager.User.OrganizeId; preTask.org_id = _userManager.User.OrganizeId;
preTask.startlocation_id = sPoint?.location_id; preTask.startlocation_id = sPoint?.location_id!;
preTask.startlocation_code = sPoint?.location_code; preTask.startlocation_code = sPoint?.location_code!;
preTask.endlocation_id = ePoint?.location_id; preTask.endlocation_id = ePoint?.location_id!;
preTask.endlocation_code = ePoint?.location_code; preTask.endlocation_code = ePoint?.location_code!;
preTask.start_floor = sPoint?.floor.ToString(); preTask.start_floor = sPoint?.floor.ToString();
preTask.end_floor = ePoint?.floor.ToString(); preTask.end_floor = ePoint?.floor.ToString();
preTask.bill_code = _billRullService.GetBillNumber(WmsWareHouseConst.WMS_PRETASK_H_ENCODE).GetAwaiter().GetResult(); preTask.bill_code = _billRullService.GetBillNumber(WmsWareHouseConst.WMS_PRETASK_H_ENCODE).GetAwaiter().GetResult();
preTask.status = WmsWareHouseConst.PRETASK_BILL_STATUS_DXF_ID; preTask.status = WmsWareHouseConst.PRETASK_BILL_STATUS_DXF_ID;
preTask.biz_type = WmsWareHouseConst.BIZTYPE_WMSEMPTYINSTOCK_ID; preTask.biz_type = WmsWareHouseConst.BIZTYPE_WMSEPTYOUTSTK_ID;
preTask.carry_id = input.data[nameof(preTask.carry_id)]?.ToString()!; preTask.task_type = WmsWareHouseConst.WMS_PRETASK_OUTSTOCK_TYPE_ID;
preTask.carry_code = input.data[nameof(preTask.carry_code)]?.ToString()!; preTask.carry_id = carrys![i].carry_id;
preTask.area_id = sPoint?.area_id; preTask.carry_code = carrys![i].carry_code;
preTask.area_id = sPoint?.area_id!;
preTask.area_code = it.Key; preTask.area_code = it.Key;
preTask.require_id = input.data["ReturnIdentity"].ToString(); preTask.require_id = input.data["ReturnIdentity"].ToString();
preTask.require_code = input.data[nameof(preTask.bill_code)]?.ToString()!; preTask.require_code = input.data[nameof(preTask.bill_code)]?.ToString()!;
@@ -139,7 +139,7 @@ namespace Tnb.WarehouseMgr
preTask.create_time = DateTime.Now; preTask.create_time = DateTime.Now;
return preTask; return preTask;
}).ToList(); }).ToList();
var isOk = await _wareHouseService.GenPreTask(preTasks,null); var isOk = await _wareHouseService.GenPreTask(preTasks, null);
if (isOk) if (isOk)
{ {
//所有载具加锁 //所有载具加锁

View File

@@ -151,7 +151,7 @@ namespace Tnb.WarehouseMgr
var isOk = await _wareHouseService.GenPreTask(preTasks,null); var isOk = await _wareHouseService.GenPreTask(preTasks,null);
if (isOk) 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()); var location = await _db.Queryable<BasLocation>().SingleAsync(it => it.id == input.data[nameof(WmsDelivery.startlocation_id)].ToString());

View File

@@ -76,6 +76,7 @@ public class UserManager : IUserManager, IScoped
public UserEntity User public UserEntity User
{ {
get => _repository.GetSingle(u => u.Id == UserId); get => _repository.GetSingle(u => u.Id == UserId);
} }
/// <summary> /// <summary>

View File

@@ -280,7 +280,7 @@ public class OAuthService : IDynamicApiController, ITransient
{ {
if (type.IsNullOrEmpty()) type = "Web"; // 默认为Web端菜单目录 if (type.IsNullOrEmpty()) type = "Web"; // 默认为Web端菜单目录
//modify by ly on 20230616 用于区分pc与 pda //modify by ly on 20230616 用于区分pc与 pda
_userManager.User.LoginType = type; _userManager.User.LoginType = "fadsfadsfadsfasd";
var userId = _userManager.UserId; var userId = _userManager.UserId;

View File

@@ -13,5 +13,5 @@ public partial class UserEntity
/// 登录类型 /// 登录类型
/// </summary> /// </summary>
[SugarColumn(IsIgnore = true)] [SugarColumn(IsIgnore = true)]
public string LoginType { get; set; } public string LoginType { get; set; } = "web";
} }