空载具出库代码调整

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

@@ -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)
{
//所有载具加锁