From 798abfe5b013073a78dee3286cde0556b4bcc57b Mon Sep 17 00:00:00 2001 From: alex Date: Wed, 21 Jun 2023 10:21:15 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E6=88=90=E9=A2=84=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E6=96=B0=E5=A2=9E=E4=BB=BB=E5=8A=A1=E5=B1=9E?= =?UTF-8?q?=E6=80=A7=E9=80=BB=E8=BE=91=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Entity/WmsPretaskH.cs | 4 ++ .../Tnb.WarehouseMgr/WareHouseService.cs | 42 ++++++++++--------- .../Tnb.WarehouseMgr/WmsOutStockService.cs | 12 +++--- .../Tnb.WarehouseMgr/WmsPDAFeedingService.cs | 1 - 4 files changed, 33 insertions(+), 26 deletions(-) diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Entity/WmsPretaskH.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Entity/WmsPretaskH.cs index 87c8ae05..cd3050ee 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Entity/WmsPretaskH.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Entity/WmsPretaskH.cs @@ -161,5 +161,9 @@ public partial class WmsPretaskH : BaseEntity /// 优先级 /// public int is_sign { get; set; } = 1; + /// + /// 任务属性 + /// + public string chain_type { get; set; } = "3"; } diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs index 18a994cf..b20cea3f 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs @@ -240,19 +240,18 @@ namespace Tnb.WarehouseMgr { x.is_chain = 0; - x.chain_type = "0"; }); } else if ((moveNum > areaPreTasks.Count && areaPreTasks.Count > 1) || moveNum < areaPreTasks.Count) { items.ForEach(x => x.is_chain = 1); - items[0].chain_type = "1"; - for (int i = 0; i < items.Count; i++) - { - if (i == 0 || i == items.Count - 1) continue; - items[i].chain_type = "2"; - } - items[^1].chain_type = "3"; + //items[0].chain_type = "1"; + //for (int i = 0; i < items.Count; i++) + //{ + // if (i == 0 || i == items.Count - 1) continue; + // items[i].chain_type = "2"; + //} + //items[^1].chain_type = "3"; } }); @@ -288,7 +287,7 @@ namespace Tnb.WarehouseMgr items.ForEach(x => { x.is_chain = 0; - x.chain_type = "0"; + x.chain_type = "3"; }); } else if (moveNum > 1) @@ -461,18 +460,10 @@ namespace Tnb.WarehouseMgr var disTaskCodes = await _db.Queryable().Where(it => it.bill_id == dt.id).ToListAsync(); var upInput = new WareHouseUpInput { bizTypeId = dt.biz_type, requireId = dt.require_id, distaskCodes = disTaskCodes, carryIds = disTasks.Select(x => x.carry_id).ToList() }; upInput.loginType = !_userManager.LoginType.IsNullOrEmpty() ? "app" : "web"; - if (dt.is_sign == 1) //区分出入库操作 + if (dt.is_sign == 1 && dt.chain_type == "3") { - if (dt.is_chain == 0) - { - await DoUpdate(upInput); - } - else if (dt.is_chain == 1 && dt.chain_type == "3") - { - await DoUpdate(upInput); - } + await DoUpdate(upInput); } - } } @@ -495,6 +486,19 @@ namespace Tnb.WarehouseMgr /// public async Task GenPreTask(List preTasks, List preTaskCodes) { + var grpList = preTasks.OrderBy(o => o.bill_code).GroupBy(g => g.carry_id).ToList(); + if (grpList?.Count > 0) + { + foreach (var grp in grpList) + { + var arr = grp.ToArray(); + if (arr.Length > 1) + { + var subArr = arr[..^1]; + Array.ForEach(subArr, a => a.chain_type = "1"); + } + } + } var row = await _db.Insertable(preTasks).ExecuteCommandAsync(); if (preTaskCodes?.Count > 0) { diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsOutStockService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsOutStockService.cs index 432a46f6..2bb1f90e 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsOutStockService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsOutStockService.cs @@ -143,8 +143,8 @@ namespace Tnb.WarehouseMgr List locIds = new(); foreach (var carry in carrys) { - WmsPointH sPoint = null; - WmsPointH ePoint = null; + WmsPointH sPoint = null!; + WmsPointH ePoint = null!; if (input.data.ContainsKey(nameof(WmsPointH.location_id))) { sPoint = await _db.Queryable().FirstAsync(it => it.location_id == carry.location_id); @@ -168,10 +168,10 @@ 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(); diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs index 3e2728c6..8541d41e 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs @@ -49,7 +49,6 @@ namespace Tnb.WarehouseMgr var isOk = false; try { - var isOk = false; await _db.Ado.BeginTranAsync(); var carryId = input.data.ContainsKey("carry_id") ? input.data["carry_id"]?.ToString() : ""; var feedBoxCode = input.data.ContainsKey("feedbox_code") ? input.data["feedbox_code"]?.ToString() : "";