From d082c464c9afa2f9eb4350c2469864ac52c4f0ff Mon Sep 17 00:00:00 2001 From: hlb <894797954@qq.com> Date: Tue, 20 Jun 2023 14:27:02 +0800 Subject: [PATCH 01/14] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A9=BA=E8=BD=BD?= =?UTF-8?q?=E5=85=B7=E5=87=BA=E5=BA=93=E5=9B=9E=E6=9B=B4=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Dto/Inputs/WareHouseUpInput.cs | 4 ++++ WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs | 2 +- .../Tnb.WarehouseMgr/WmsEmptyOutstockService .cs | 13 ++++++++++--- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/WareHouseUpInput.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/WareHouseUpInput.cs index 881ad64b..fa48bda3 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/WareHouseUpInput.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/WareHouseUpInput.cs @@ -28,6 +28,10 @@ namespace Tnb.WarehouseMgr.Entities.Dto /// 任务执行条码表 /// public List distaskCodes { get; set; } + /// + /// 载具 + /// + public List carryIds { get; set; } diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs index eaebd2ea..a89d76d1 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs @@ -459,7 +459,7 @@ namespace Tnb.WarehouseMgr foreach (var dt in disTasks) { 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 }; + 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) //区分出入库操作 { diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyOutstockService .cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyOutstockService .cs index eab88ceb..fc1ee934 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyOutstockService .cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyOutstockService .cs @@ -152,10 +152,10 @@ namespace Tnb.WarehouseMgr //更新明细表 WmsEmptyOutstockD wmsEmptyOutstockD = new (); wmsEmptyOutstockD.id = SnowflakeIdHelper.NextId(); - wmsEmptyOutstockD.bill_id = input.data[nameof(WmsEmptyOutstockH.bill_code)]?.ToString()!; + wmsEmptyOutstockD.bill_id = preTaskUpInput.RquireId; wmsEmptyOutstockD.biz_type = WmsWareHouseConst.BIZTYPE_WMSEPTYOUTSTK_ID; wmsEmptyOutstockD.location_id = ePoint.location_id; - wmsEmptyOutstockD.status = WmsWareHouseConst.BILLSTATUS_COMPLETE_ID; + wmsEmptyOutstockD.status = WmsWareHouseConst.BILLSTATUS_ON_ID; wmsEmptyOutstockD.carry_id = carrys[i].id; wmsEmptyOutstockD.carry_code = carrys[i].carry_code; wmsEmptyOutstockD.create_id = _userManager.UserId; @@ -186,7 +186,14 @@ namespace Tnb.WarehouseMgr public async override Task ModifyAsync(WareHouseUpInput input) { if (input == null) throw new ArgumentNullException(nameof(input)); - var isOk = await _db.Updateable().SetColumns(it => new WmsEmptyInstock { status = input.bizTypeId }).Where(it => it.id == input.requireId).ExecuteCommandHasChangeAsync(); + //根据载具更新明细表状态 + var isOk = await _db.Updateable().SetColumns(it => new WmsEmptyOutstockD { status = WmsWareHouseConst.BILLSTATUS_COMPLETE_ID }).Where(it => it.bill_id == input.requireId && input.carryIds.Contains(it.carry_id)).ExecuteCommandHasChangeAsync(); + + var emptyCarrys = await _db.Queryable().Where(it => it.bill_id == input.requireId).ToListAsync(); + // 判断所有明细是否都完成 + if (emptyCarrys.All(x=> x.status == WmsWareHouseConst.BILLSTATUS_COMPLETE_ID)) { + await _db.Updateable().SetColumns(it=> new WmsEmptyOutstockH { status = WmsWareHouseConst.BILLSTATUS_COMPLETE_ID }).Where(it => it.id == input.requireId).ExecuteCommandHasChangeAsync(); + } if (!isOk) throw Oops.Oh(ErrorCode.COM1001); } } From 7aec24710d4b9581d7d9cd5479bab09835edb396 Mon Sep 17 00:00:00 2001 From: hlb <894797954@qq.com> Date: Tue, 20 Jun 2023 14:27:52 +0800 Subject: [PATCH 02/14] 1 --- .../WmsEmptyOutstockService .cs | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyOutstockService .cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyOutstockService .cs index fc1ee934..428a03a2 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyOutstockService .cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyOutstockService .cs @@ -88,12 +88,12 @@ namespace Tnb.WarehouseMgr ePoint = await _db.Queryable().FirstAsync(it => it.location_id == input.data[nameof(WmsPointH.location_id)].ToString()); } int i = 0; - - + + //根据每个载具的起始库位做路径运算 for (i = 0; i < setQty.qty; i++) { - + if (carrys?.Count > 0) sPoint = await _db.Queryable().FirstAsync(it => it.location_id == carrys[i].location_id); var isOk = false; @@ -133,12 +133,12 @@ namespace Tnb.WarehouseMgr }).ToList(); //更新页面 //赋值签收状态 - if (loc.is_sign == 0) + if (loc.is_sign == 0) { preTasks[^1].is_sign = 0; // 修改最后一个元素的是否签收值 } isOk = await _wareHouseService.GenPreTask(preTasks, null); - + } if (isOk) { @@ -150,7 +150,7 @@ namespace Tnb.WarehouseMgr preTaskUpInput.LocationIds = points.Select(x => x.location_id).ToList(); //更新明细表 - WmsEmptyOutstockD wmsEmptyOutstockD = new (); + WmsEmptyOutstockD wmsEmptyOutstockD = new(); wmsEmptyOutstockD.id = SnowflakeIdHelper.NextId(); wmsEmptyOutstockD.bill_id = preTaskUpInput.RquireId; wmsEmptyOutstockD.biz_type = WmsWareHouseConst.BIZTYPE_WMSEPTYOUTSTK_ID; @@ -166,11 +166,11 @@ namespace Tnb.WarehouseMgr //根据空载具出库Id,回更单据状态 await _db.Updateable().SetColumns(it => new WmsEmptyOutstockH { status = WmsWareHouseConst.BILLSTATUS_ON_ID }).Where(it => it.id == preTaskUpInput.RquireId).ExecuteCommandAsync(); await _wareHouseService.GenInStockTaskHandleAfter(preTaskUpInput, - it => new WmsCarryH { is_lock = 1}, + it => new WmsCarryH { is_lock = 1 }, it => new BasLocation { is_lock = 1 }); } } - + } await _db.Ado.CommitTranAsync(); @@ -191,9 +191,10 @@ namespace Tnb.WarehouseMgr var emptyCarrys = await _db.Queryable().Where(it => it.bill_id == input.requireId).ToListAsync(); // 判断所有明细是否都完成 - if (emptyCarrys.All(x=> x.status == WmsWareHouseConst.BILLSTATUS_COMPLETE_ID)) { - await _db.Updateable().SetColumns(it=> new WmsEmptyOutstockH { status = WmsWareHouseConst.BILLSTATUS_COMPLETE_ID }).Where(it => it.id == input.requireId).ExecuteCommandHasChangeAsync(); - } + if (emptyCarrys?.Count > 0 && emptyCarrys.All(x => x.status == WmsWareHouseConst.BILLSTATUS_COMPLETE_ID)) + { + await _db.Updateable().SetColumns(it => new WmsEmptyOutstockH { status = WmsWareHouseConst.BILLSTATUS_COMPLETE_ID }).Where(it => it.id == input.requireId).ExecuteCommandHasChangeAsync(); + } if (!isOk) throw Oops.Oh(ErrorCode.COM1001); } } From 7d60206f4b53333a95242eca5cc596a117351b03 Mon Sep 17 00:00:00 2001 From: hlb <894797954@qq.com> Date: Tue, 20 Jun 2023 14:48:17 +0800 Subject: [PATCH 03/14] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WmsPDAEmptyOutstockService .cs | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAEmptyOutstockService .cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAEmptyOutstockService .cs index 45198d3f..1b00f2bf 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAEmptyOutstockService .cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAEmptyOutstockService .cs @@ -151,7 +151,7 @@ namespace Tnb.WarehouseMgr //更新明细表 WmsEmptyOutstockD wmsEmptyOutstockD = new(); wmsEmptyOutstockD.id = SnowflakeIdHelper.NextId(); - wmsEmptyOutstockD.bill_id = input.data[nameof(WmsEmptyOutstockH.bill_code)]?.ToString()!; + wmsEmptyOutstockD.bill_id = preTaskUpInput.RquireId; wmsEmptyOutstockD.biz_type = WmsWareHouseConst.BIZTYPE_WMSEPTYOUTSTK_ID; wmsEmptyOutstockD.location_id = ePoint.location_id; wmsEmptyOutstockD.status = WmsWareHouseConst.BILLSTATUS_COMPLETE_ID; @@ -198,9 +198,29 @@ namespace Tnb.WarehouseMgr public override async Task ModifyAsync(WareHouseUpInput input) { + if (input == null) throw new ArgumentNullException(nameof(input)); - var isOk = await _db.Updateable().SetColumns(it => new WmsEmptyInstock { status = WmsWareHouseConst.BILLSTATUS_COMPLETE_ID }).Where(it => it.id == input.requireId).ExecuteCommandHasChangeAsync(); - if (!isOk) throw Oops.Oh(ErrorCode.COM1001); + //根据载具更新明细表状态 + try + { + await _db.Ado.BeginTranAsync(); + var isOk = await _db.Updateable().SetColumns(it => new WmsEmptyOutstockD { status = WmsWareHouseConst.BILLSTATUS_COMPLETE_ID }).Where(it => it.bill_id == input.requireId && input.carryIds.Contains(it.carry_id)).ExecuteCommandHasChangeAsync(); + + var emptyCarrys = await _db.Queryable().Where(it => it.bill_id == input.requireId).ToListAsync(); + // 判断所有明细是否都完成 + if (emptyCarrys?.Count > 0 && emptyCarrys.All(x => x.status == WmsWareHouseConst.BILLSTATUS_COMPLETE_ID)) + { + await _db.Updateable().SetColumns(it => new WmsEmptyOutstockH { status = WmsWareHouseConst.BILLSTATUS_COMPLETE_ID }).Where(it => it.id == input.requireId).ExecuteCommandHasChangeAsync(); + } + if (!isOk) throw Oops.Oh(ErrorCode.COM1001); + await _db.Ado.CommitTranAsync(); + } + catch (Exception) + { + await _db.Ado.RollbackTranAsync(); + throw; + + } } } } From 8f4f65f67b001e2c99266368ba427ba6c764510f Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 20 Jun 2023 14:49:06 +0800 Subject: [PATCH 04/14] =?UTF-8?q?=E7=A9=BA=E8=BD=BD=E5=85=B7=E5=87=BA?= =?UTF-8?q?=E5=BA=93=E6=96=B0=E5=A2=9E=E4=BA=8B=E5=8A=A1=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WmsEmptyOutstockService .cs | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyOutstockService .cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyOutstockService .cs index 428a03a2..d6beff87 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyOutstockService .cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyOutstockService .cs @@ -186,16 +186,28 @@ namespace Tnb.WarehouseMgr public async override Task ModifyAsync(WareHouseUpInput input) { if (input == null) throw new ArgumentNullException(nameof(input)); - //根据载具更新明细表状态 - var isOk = await _db.Updateable().SetColumns(it => new WmsEmptyOutstockD { status = WmsWareHouseConst.BILLSTATUS_COMPLETE_ID }).Where(it => it.bill_id == input.requireId && input.carryIds.Contains(it.carry_id)).ExecuteCommandHasChangeAsync(); - - var emptyCarrys = await _db.Queryable().Where(it => it.bill_id == input.requireId).ToListAsync(); - // 判断所有明细是否都完成 - if (emptyCarrys?.Count > 0 && emptyCarrys.All(x => x.status == WmsWareHouseConst.BILLSTATUS_COMPLETE_ID)) + try { - await _db.Updateable().SetColumns(it => new WmsEmptyOutstockH { status = WmsWareHouseConst.BILLSTATUS_COMPLETE_ID }).Where(it => it.id == input.requireId).ExecuteCommandHasChangeAsync(); + await _db.Ado.BeginTranAsync(); + + //根据载具更新明细表状态 + var isOk = await _db.Updateable().SetColumns(it => new WmsEmptyOutstockD { status = WmsWareHouseConst.BILLSTATUS_COMPLETE_ID }).Where(it => it.bill_id == input.requireId && input.carryIds.Contains(it.carry_id)).ExecuteCommandHasChangeAsync(); + + var emptyCarrys = await _db.Queryable().Where(it => it.bill_id == input.requireId).ToListAsync(); + // 判断所有明细是否都完成 + if (emptyCarrys?.Count > 0 && emptyCarrys.All(x => x.status == WmsWareHouseConst.BILLSTATUS_COMPLETE_ID)) + { + isOk = await _db.Updateable().SetColumns(it => new WmsEmptyOutstockH { status = WmsWareHouseConst.BILLSTATUS_COMPLETE_ID }).Where(it => it.id == input.requireId).ExecuteCommandHasChangeAsync(); + } + if (!isOk) throw Oops.Oh(ErrorCode.COM1001); + + await _db.Ado.CommitTranAsync(); + } + catch (Exception) + { + await _db.Ado.RollbackTranAsync(); + throw; } - if (!isOk) throw Oops.Oh(ErrorCode.COM1001); } } } From 2130ef36ea65441e28015b6718ed138acfc88e13 Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 20 Jun 2023 14:53:07 +0800 Subject: [PATCH 05/14] =?UTF-8?q?wms=E9=80=9A=E7=94=A8=E5=87=BD=E6=95=B0?= =?UTF-8?q?=EF=BC=8C=E6=9B=B4=E6=96=B0=E8=BD=BD=E5=85=B7=E6=97=B6=E5=90=8C?= =?UTF-8?q?=E6=97=B6=E6=9B=B4=E6=96=B0=E5=BA=93=E4=BD=8D=E7=BC=96=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs index a89d76d1..18a994cf 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs @@ -433,10 +433,10 @@ namespace Tnb.WarehouseMgr //更新载具,锁定状态为未锁定,更新载具的库位当前任务的目标库位 if (disTasks?.Count > 0) { - var multiList = disTasks.Select(it => (it.carry_id, it.endlocation_id)).ToList(); + var multiList = disTasks.Select(it => (it.carry_id, it.endlocation_id, it.endlocation_code)).ToList(); for (int i = 0; i < multiList.Count; i++) { - await _db.Updateable().SetColumns(it => new WmsCarryH { is_lock = 0, location_id = multiList[i].endlocation_id }).Where(it => it.id == multiList[i].carry_id).ExecuteCommandAsync(); + await _db.Updateable().SetColumns(it => new WmsCarryH { is_lock = 0, location_id = multiList[i].endlocation_id, location_code = multiList[i].endlocation_code }).Where(it => it.id == multiList[i].carry_id).ExecuteCommandAsync(); } } //更新库位信息,使用状态为 使用,锁定状态为未锁定 @@ -459,7 +459,7 @@ namespace Tnb.WarehouseMgr foreach (var dt in disTasks) { 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()}; + 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) //区分出入库操作 { From 828de07b2d15b2795a529628fb50f8b6c2932323 Mon Sep 17 00:00:00 2001 From: hlb <894797954@qq.com> Date: Tue, 20 Jun 2023 16:01:19 +0800 Subject: [PATCH 06/14] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E6=A0=87=E8=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Tnb.WarehouseMgr/WmsPDACarryMoveOutStockService.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryMoveOutStockService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryMoveOutStockService.cs index 03d4b985..95d4d627 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryMoveOutStockService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryMoveOutStockService.cs @@ -28,7 +28,7 @@ namespace Tnb.WarehouseMgr /// /// 载具移入 /// - [OverideVisualDev(ModuleConsts.MODULE_WMSCARRYMOOUTSTK_ID)] + [OverideVisualDev(ModuleConsts.MODULE_WMSCARRYMOOUTSTKPDA_ID)] [ServiceModule(BizTypeId)] public class WmsPDACarryMoveOutStockService : BaseWareHouseService, IPdaStroage { @@ -63,7 +63,7 @@ namespace Tnb.WarehouseMgr { await _db.Ado.BeginTranAsync(); - VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleConsts.MODULE_WMSCARRYMOOUTSTK_ID, true); + VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleConsts.MODULE_WMSCARRYMOOUTSTKPDA_ID, true); await _runService.Create(templateEntity, input); //入库取终点 //var OutStockStrategyInput = new OutStockStrategyQuery { carry_id = input.data[nameof(OutStockStrategyQuery.carry_id)].ToString(), Size = 1 }; From 40900adeb84a469c9a3e3fae334c96ab6bdc25e8 Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 20 Jun 2023 16:26:25 +0800 Subject: [PATCH 07/14] 1 --- .../WmsCarryReplaceService.cs | 175 ------------------ .../Tnb.WarehouseMgr/WmsCarryService.cs | 2 +- .../Tnb.WarehouseMgr/WmsPDAFeedingService.cs | 2 +- 3 files changed, 2 insertions(+), 177 deletions(-) delete mode 100644 WarehouseMgr/Tnb.WarehouseMgr/WmsCarryReplaceService.cs diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryReplaceService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryReplaceService.cs deleted file mode 100644 index bd3368d2..00000000 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryReplaceService.cs +++ /dev/null @@ -1,175 +0,0 @@ -using JNPF.Common.Contracts; -using JNPF.Common.Core.Manager; -using JNPF.Common.Dtos.VisualDev; -using JNPF.Common.Enums; -using JNPF.Common.Security; -using JNPF.DependencyInjection; -using JNPF.DynamicApiController; -using JNPF.FriendlyException; -using JNPF.Logging; -using JNPF.Systems.Interfaces.System; -using JNPF.VisualDev; -using Mapster; -using Microsoft.AspNetCore.Mvc; -using SqlSugar; -using Tnb.Common.Utils; -using Tnb.WarehouseMgr.Entities; -using Tnb.WarehouseMgr.Entities.Consts; -using Tnb.WarehouseMgr.Entities.Dto; -using Tnb.WarehouseMgr.Entities.Enums; -using Tnb.WarehouseMgr.Interfaces; - -namespace Tnb.WarehouseMgr -{ - /// - /// 载具服务 - /// - [OverideVisualDev(ModuleId)] - public class WmsCarryReplaceService : BaseWareHouseService, IWmsCarryService - { - private const string ModuleId = "26188532491557"; - private readonly ISqlSugarClient _db; - private readonly IUserManager _userManager; - private readonly IBillRullService _billRullService; - public OverideVisualDevFunc OverideFuncs { get; } = new OverideVisualDevFunc(); - public WmsCarryReplaceService(ISqlSugarRepository repository, IUserManager userManager, IBillRullService billRullService) - { - _db = repository.AsSugarClient(); - _userManager = userManager; - _billRullService = billRullService; - OverideFuncs.CreateAsync = CarryReplace; - } - - /// - /// 更换载具 - /// - /// - /// 输入参数: - ///
{ - ///
old_carry_id:老载具id - ///
new_carry_id:新载具ID - ///
} - /// - /// - /// - [HttpPost] - public async Task CarryReplace(VisualDevModelDataCrInput input) - { - var isOk = false; - try - { - await _db.Ado.BeginTranAsync(); - var oldCarryId = input.data.ContainsKey("carry_id") ? input.data["carry_id"]?.ToString() : ""; - var newCarryId = input.data.ContainsKey("newcarry_id") ? input.data["newcarry_id"]?.ToString() : ""; - var oldCarry = await _db.Queryable().FirstAsync(it => it.id == oldCarryId); - var newCarry = await _db.Queryable().FirstAsync(it => it.id == newCarryId); - if (oldCarry != null && newCarry != null) - { - ExChangeCarryInput carryInput = new() { old_carry_id = oldCarry.id, new_carry_id = newCarry.id }; - isOk = await _updateSubCarry(carryInput); - isOk = await _updateSubCarry(carryInput); - isOk = await _updateSubCarry(carryInput); - - newCarry.status = oldCarry.status; - newCarry.carry_status = oldCarry.carry_status; - newCarry.location_id = oldCarry.location_id; - newCarry.location_code = oldCarry.location_code; - newCarry.is_lock = oldCarry.is_lock; - newCarry.out_status = oldCarry.out_status; - newCarry.is_check = oldCarry.is_check; - newCarry.bale_num = oldCarry.bale_num; - newCarry.collocation_scheme_id = oldCarry.collocation_scheme_id; - newCarry.collocation_scheme_code = oldCarry.collocation_scheme_code; - newCarry.source_id = oldCarry.source_id; - newCarry.source_code = oldCarry.source_code; - newCarry.create_id = _userManager.UserId; - newCarry.create_time = DateTime.Now; - var row = await _db.Updateable(newCarry).ExecuteCommandAsync(); - WmsCarryReplaceH wmsCarryReplaceH = oldCarry.Adapt(); - wmsCarryReplaceH.id = SnowflakeIdHelper.NextId(); - wmsCarryReplaceH.org_id = oldCarry.org_id; - wmsCarryReplaceH.bill_code = await _billRullService.GetBillNumber(WmsCarryConst.WMS_CARRY_REPLACE_ENCODE); - wmsCarryReplaceH.carry_id = oldCarry.id; - wmsCarryReplaceH.carry_code = oldCarry.carry_code; - wmsCarryReplaceH.newcarry_id = newCarry.id; - wmsCarryReplaceH.newcarry_code = newCarry.carry_code; - row = await _db.Insertable(wmsCarryReplaceH).ExecuteCommandAsync(); - row = await UpdateNullCarry(oldCarry); - isOk = (row > 0); - if (!isOk) throw Oops.Oh(ErrorCode.COM1001); - } - else - { - if (oldCarry == null) - { - throw new AppFriendlyException("没有可用的旧载具", 500); - } - if (newCarry == null) - { - throw new AppFriendlyException("没有可用的新载具", 500); - } - - } - await _db.Ado.CommitTranAsync(); - } - catch (Exception ex) - { - Log.Error("载具更换失败", ex); - await _db.Ado.RollbackTranAsync(); - throw; - } - return isOk; - } - - public async Task UpdateNullCarry(WmsCarryH carryObj) - { - var row = -1; - try - { - carryObj.status = 0; - carryObj.carry_status = "0"; - carryObj.location_id = null; - carryObj.location_code = null; - carryObj.out_status = "0"; - carryObj.is_check = 0; - carryObj.status = 1; - carryObj.bale_num = null; - carryObj.collocation_scheme_id = null; - carryObj.collocation_scheme_code = null; - carryObj.source_id = null; - carryObj.source_code = null; - row = await _db.Updateable(carryObj).ExecuteCommandAsync(); - } - catch (Exception ex) - { - - } - return row; - } - - private async Task _updateSubCarry(ExChangeCarryInput input) where T : BaseEntity, IWmsCarryEntity, new() - { - var row = -1; - var items = await _db.Queryable().Where(it => it.carry_id == input.old_carry_id).ToListAsync(); - if (items?.Count > 0) - { - List newItems = DeepCopyHelper.DeepCopyList(items); - if (newItems?.Count > 0) - { - newItems.ForEach(x => - { - x.id = SnowflakeIdHelper.NextId(); - x.carry_id = input.new_carry_id; - - }); - row = await _db.Insertable(newItems).ExecuteCommandAsync(); - } - if (row > 0) - { - row = await _db.Deleteable(items).ExecuteCommandAsync(); - } - } - return (row > 0); - } - } -} \ No newline at end of file diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryService.cs index 7e065bb3..6f62ca3e 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryService.cs @@ -27,7 +27,7 @@ namespace Tnb.WarehouseMgr [OverideVisualDev(ModuleId)] public class WmsCarryService : BaseWareHouseService, IWmsCarryService { - private const string ModuleId = "26188532491557"; + private const string ModuleId = "26188532491557";//26188532491557 private readonly ISqlSugarClient _db; private readonly IUserManager _userManager; private readonly IBillRullService _billRullService; diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs index eb6ecc23..c5d7d070 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs @@ -25,7 +25,7 @@ namespace Tnb.WarehouseMgr /// /// 载具服务 /// - [OverideVisualDev(ModuleId)] + //[OverideVisualDev(ModuleId)] public class WmsPDAFeedingService : BaseWareHouseService, IWmsCarryService, IWmsFeedingService { private const string ModuleId = "26188532491557"; From d20bb1d0f525547d920a3961838a4edb8bc080f8 Mon Sep 17 00:00:00 2001 From: FanLian Date: Tue, 20 Jun 2023 16:33:35 +0800 Subject: [PATCH 08/14] =?UTF-8?q?=E6=9B=B4=E6=8D=A2moduleID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Tnb.WarehouseMgr.Entities/Consts/ModuleConsts.cs | 7 +++++++ WarehouseMgr/Tnb.WarehouseMgr/WmsCarryUnbindService.cs | 2 +- WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/ModuleConsts.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/ModuleConsts.cs index f19023ae..3bb1aef3 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/ModuleConsts.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/ModuleConsts.cs @@ -94,6 +94,13 @@ public class ModuleConsts /// public const string MODULE_WMSINSTOCK_ID = "26191326300453"; /// + /// 模块标识-载具解绑 + public const string MODULE_WMSCARRYUNBIND_ID = "26479624280613"; + /// + /// 模块标识-载具绑定 + /// + public const string MODULE_WMSCARRYBIND_ID = "26479495084837"; + /// /// 模块标识-载具更换 /// public const string MODULE_WMSCARRYREPLACE_ID = "26188532491557"; diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryUnbindService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryUnbindService.cs index 5ad45372..74bd890b 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryUnbindService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryUnbindService.cs @@ -29,7 +29,7 @@ namespace Tnb.WarehouseMgr /// /// 载具解绑 /// - [OverideVisualDev(ModuleConsts.MODULE_WMSCARRYREPLACE_ID)] + [OverideVisualDev(ModuleConsts.MODULE_WMSCARRYUNBIND_ID)] public class WmsCarryUnbindService : BaseWareHouseService { private readonly ISqlSugarClient _db; diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs index c5d7d070..308843c9 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs @@ -28,7 +28,7 @@ namespace Tnb.WarehouseMgr //[OverideVisualDev(ModuleId)] public class WmsPDAFeedingService : BaseWareHouseService, IWmsCarryService, IWmsFeedingService { - private const string ModuleId = "26188532491557"; + private const string ModuleId = "26496913096981"; private readonly ISqlSugarClient _db; private readonly IUserManager _userManager; private readonly IBillRullService _billRullService; From cb1465cac8d329541c377839214c431173e1c1e1 Mon Sep 17 00:00:00 2001 From: FanLian Date: Tue, 20 Jun 2023 16:33:50 +0800 Subject: [PATCH 09/14] 1 --- WarehouseMgr/Tnb.WarehouseMgr/WmsCarryBindService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryBindService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryBindService.cs index b208f687..f853b92c 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryBindService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryBindService.cs @@ -29,7 +29,7 @@ namespace Tnb.WarehouseMgr /// /// 载具绑定 /// - [OverideVisualDev(ModuleConsts.MODULE_WMSCARRYREPLACE_ID)] + [OverideVisualDev(ModuleConsts.MODULE_WMSCARRYBIND_ID)] public class WmsCarryBindService : BaseWareHouseService { private readonly ISqlSugarClient _db; From 88eacad38ad2b7f3e84e2d7540612965910aae3f Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 20 Jun 2023 16:59:27 +0800 Subject: [PATCH 10/14] =?UTF-8?q?=E8=BD=BD=E5=85=B7=E6=9B=B4=E6=8D=A2?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=A4=B1=E6=95=88=E9=97=AE=E9=A2=98=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Consts/ModuleConsts.cs | 121 ------------------ .../Consts/ModuleConsts.cs | 2 +- .../Tnb.WarehouseMgr/Tnb.WarehouseMgr.csproj | 8 ++ .../Tnb.WarehouseMgr/WmsBindService.cs | 3 +- .../Tnb.WarehouseMgr/WmsCarryService.cs | 7 +- .../WmsPDACarryReplaceService.cs | 2 - .../Tnb.WarehouseMgr/WmsPDAFeedingService.cs | 1 - 7 files changed, 12 insertions(+), 132 deletions(-) diff --git a/PerMgr/Tnb.PerMgr.Entities/Consts/ModuleConsts.cs b/PerMgr/Tnb.PerMgr.Entities/Consts/ModuleConsts.cs index d2adc2f9..bbe62db9 100644 --- a/PerMgr/Tnb.PerMgr.Entities/Consts/ModuleConsts.cs +++ b/PerMgr/Tnb.PerMgr.Entities/Consts/ModuleConsts.cs @@ -4,125 +4,4 @@ public class ModuleConsts { public const string Tag = "PerMgr"; public const string Area = "per"; - /// - /// -PDA쳣ȡ - /// - public const string MODULE_WMSEXCEPTIONCANCELPDA_ID = "26631250691605"; - /// - /// -PDA쳣ִ - /// - public const string MODULE_WMSEXCPTIONREEXCUTEPDA_ID = "26631184673813"; - /// - /// -PDA쳣 - /// - public const string MODULE_WMSEXCPTIONCOMPLETEPDA_ID = "26497241038869"; - /// - /// -PDAͶϲ - /// - public const string MODULE_WMSFEEDINGRECORDPDA_ID = "26496913096981"; - /// - /// -PDA󶨲 - /// - public const string MODULE_WMSBINDINGPDA_ID = "26496560237333"; - /// - /// -PDAؾ߽ - /// - public const string MODULE_WMSCARRYUNBINDPDA_ID = "26479624280613"; - /// - /// -PDAؾ߰ - /// - public const string MODULE_WMSCARRYBINDPDA_ID = "26479495084837"; - /// - /// -PDAؾƳ - /// - public const string MODULE_WMSCARRYMOOUTSTKPDA_ID = "26479437840677"; - /// - /// -PDAؾ - /// - public const string MODULE_WMSMOVEINSTKPDA_ID = "26476127634469"; - /// - /// -PDAؾ߸ - /// - public const string MODULE_WMSCARRYREPLACEPDA_ID = "26475867493157"; - /// - /// -PDA - /// - public const string MODULE_WMSDELIVERYPDA_ID = "26475604135973"; - /// - /// -PDAת - /// - public const string MODULE_WMSTRANSFERPDA_ID = "26475492865317"; - /// - /// -PDAĴ - /// - public const string MODULE_WMSINBALEINPDA_ID = "26475412782629"; - /// - /// -PDAĴ - /// - public const string MODULE_WMSINBALEINSTKPDA_ID = "26474954845989"; - /// - /// -PDA - /// - public const string MODULE_WMSKITTINGINSTKPDA_ID = "26474190687781"; - /// - /// -PDAһ - /// - public const string MODULE_WMSINSTOCKPDA_ID = "26458832529445"; - /// - /// -Ĵ - /// - public const string MODULE_WMSOUTBALE_ID = "26192638001445"; - /// - /// -Ĵ - /// - public const string MODULE_WMSINBALE_ID = "26192480520485"; - /// - /// - - /// - public const string MODULE_WMSOUTSTOCK_ID = "26191983650597"; - /// - /// - - /// - public const string MODULE_WMSINSTOCK_ID = "26191326300453"; - /// - /// -ؾ߸ - /// - public const string MODULE_WMSCARRYREPLACE_ID = "26188532491557"; - /// - /// -׷ּ - /// - public const string MODULE_WMSSETSORTING_ID = "26172520979237"; - /// - /// -׳ - /// - public const string MODULE_WMSKITTINGOUTSTK_ID = "26169701736741"; - /// - /// - - /// - public const string MODULE_WMSKITTINGINSTK_ID = "26166785871909"; - /// - /// - - /// - public const string MODULE_WMSDELIVERY_ID = "26126388337189"; - /// - /// -ת - /// - public const string MODULE_WMSTRANSFER_ID = "26125750270757"; - /// - /// -ؾƳ - /// - public const string MODULE_WMSCARRYMOOUTSTK_ID = "26123262586661"; - /// - /// -ؾ߳ - /// - public const string MODULE_WMSEPTYOUTSTK_ID = "26122798979365"; - /// - /// -ؾ - /// - public const string MODULE_CARRYMOVEINSTOCK_ID = "26122102481957"; - /// - /// -ؾ - /// - public const string MODULE_WMSEMPTYINSTOCK_ID = "26120915344165"; - } \ No newline at end of file diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/ModuleConsts.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/ModuleConsts.cs index 3bb1aef3..1a1a144f 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/ModuleConsts.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/ModuleConsts.cs @@ -103,7 +103,7 @@ public class ModuleConsts /// /// 模块标识-载具更换 /// - public const string MODULE_WMSCARRYREPLACE_ID = "26188532491557"; + public const string MODULE_WMSCARRYREPLACE_ID = "26188532491557";//26188532491557 /// /// 模块标识-齐套分拣 /// diff --git a/WarehouseMgr/Tnb.WarehouseMgr/Tnb.WarehouseMgr.csproj b/WarehouseMgr/Tnb.WarehouseMgr/Tnb.WarehouseMgr.csproj index b70c9cce..47e61861 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/Tnb.WarehouseMgr.csproj +++ b/WarehouseMgr/Tnb.WarehouseMgr/Tnb.WarehouseMgr.csproj @@ -8,6 +8,14 @@ True + + + + + + + + diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsBindService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsBindService.cs index abd254eb..abfb50a2 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsBindService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsBindService.cs @@ -31,7 +31,6 @@ namespace Tnb.WarehouseMgr private readonly ISqlSugarClient _db; private readonly IUserManager _userManager; private readonly IBillRullService _billRullService; - public OverideVisualDevFunc OverideFuncs { get; } = new OverideVisualDevFunc(); public WmsBindService(ISqlSugarRepository repository, IUserManager userManager, IBillRullService billRullService) { _db = repository.AsSugarClient(); @@ -52,7 +51,7 @@ namespace Tnb.WarehouseMgr /// /// /// - public async Task WmsBind(VisualDevModelDataCrInput input) + private async Task WmsBind(VisualDevModelDataCrInput input) { var isOk = false; try diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryService.cs index 6f62ca3e..6223716d 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryService.cs @@ -24,14 +24,12 @@ namespace Tnb.WarehouseMgr /// /// 载具服务 /// - [OverideVisualDev(ModuleId)] + [OverideVisualDev(ModuleConsts.MODULE_WMSCARRYREPLACE_ID)] public class WmsCarryService : BaseWareHouseService, IWmsCarryService { - private const string ModuleId = "26188532491557";//26188532491557 private readonly ISqlSugarClient _db; private readonly IUserManager _userManager; private readonly IBillRullService _billRullService; - public OverideVisualDevFunc OverideFuncs { get; } = new OverideVisualDevFunc(); public WmsCarryService(ISqlSugarRepository repository, IUserManager userManager, IBillRullService billRullService) { _db = repository.AsSugarClient(); @@ -52,8 +50,7 @@ namespace Tnb.WarehouseMgr /// /// /// - [HttpPost] - public async Task ExchangeCarry(VisualDevModelDataCrInput input) + private async Task ExchangeCarry(VisualDevModelDataCrInput input) { var isOk = false; try diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryReplaceService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryReplaceService.cs index 1a3c8042..f1808cc5 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryReplaceService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryReplaceService.cs @@ -28,11 +28,9 @@ namespace Tnb.WarehouseMgr [OverideVisualDev(ModuleConsts.MODULE_WMSCARRYREPLACEPDA_ID)] public class WmsPDACarryReplaceService : BaseWareHouseService, IWmsCarryService, IPdaStroage { - //private const string ModuleId = "26188532491557"; private readonly ISqlSugarClient _db; private readonly IUserManager _userManager; private readonly IBillRullService _billRullService; - public OverideVisualDevFunc OverideFuncs { get; } = new OverideVisualDevFunc(); public WmsPDACarryReplaceService(ISqlSugarRepository repository, IUserManager userManager, IBillRullService billRullService) { _db = repository.AsSugarClient(); diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs index 308843c9..0d61614c 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs @@ -34,7 +34,6 @@ namespace Tnb.WarehouseMgr private readonly IBillRullService _billRullService; private readonly WmsCarryService _wmsCarryService; private static Dictionary dicMaterial = new Dictionary(); - public OverideVisualDevFunc OverideFuncs { get; } = new OverideVisualDevFunc(); public WmsPDAFeedingService(ISqlSugarRepository repository, IUserManager userManager, IBillRullService billRullService,WmsCarryService wmsCarryService) { _db = repository.AsSugarClient(); From f8fbee4b076a5394cff5946077fb6223ae786d75 Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 20 Jun 2023 16:59:40 +0800 Subject: [PATCH 11/14] 1 --- WarehouseMgr/Tnb.WarehouseMgr/Tnb.WarehouseMgr.csproj | 8 -------- .../Tnb.WarehouseMgr/WmsPDACarryReplaceService.cs | 4 ++-- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/WarehouseMgr/Tnb.WarehouseMgr/Tnb.WarehouseMgr.csproj b/WarehouseMgr/Tnb.WarehouseMgr/Tnb.WarehouseMgr.csproj index 47e61861..b70c9cce 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/Tnb.WarehouseMgr.csproj +++ b/WarehouseMgr/Tnb.WarehouseMgr/Tnb.WarehouseMgr.csproj @@ -8,14 +8,6 @@ True - - - - - - - - diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryReplaceService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryReplaceService.cs index f1808cc5..b7ae0e01 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryReplaceService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryReplaceService.cs @@ -51,8 +51,8 @@ namespace Tnb.WarehouseMgr /// /// /// - [HttpPost] - public async Task PDACarryReplace(VisualDevModelDataCrInput input) + + private async Task PDACarryReplace(VisualDevModelDataCrInput input) { var isOk = false; try From 38cfe56f107f724fb74e7b7580ea308ddf9b4567 Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 20 Jun 2023 17:27:02 +0800 Subject: [PATCH 12/14] 1 --- WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs index 0d61614c..1c57c58e 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs @@ -25,7 +25,7 @@ namespace Tnb.WarehouseMgr /// /// 载具服务 /// - //[OverideVisualDev(ModuleId)] + [OverideVisualDev(ModuleId)] public class WmsPDAFeedingService : BaseWareHouseService, IWmsCarryService, IWmsFeedingService { private const string ModuleId = "26496913096981"; From ee2d6f7c6fd7258e49ca9ecde41386589d4aeaec Mon Sep 17 00:00:00 2001 From: FanLian Date: Tue, 20 Jun 2023 17:29:27 +0800 Subject: [PATCH 13/14] 1 --- WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/ModuleConsts.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/ModuleConsts.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/ModuleConsts.cs index 1a1a144f..82585ecd 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/ModuleConsts.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/ModuleConsts.cs @@ -95,11 +95,11 @@ public class ModuleConsts public const string MODULE_WMSINSTOCK_ID = "26191326300453"; /// /// 模块标识-载具解绑 - public const string MODULE_WMSCARRYUNBIND_ID = "26479624280613"; + public const string MODULE_WMSCARRYUNBIND_ID = "26106270092325"; /// /// 模块标识-载具绑定 /// - public const string MODULE_WMSCARRYBIND_ID = "26479495084837"; + public const string MODULE_WMSCARRYBIND_ID = "26105163614501"; /// /// 模块标识-载具更换 /// From 0968abf3f0be2198e3d6902eb79920db35aa2830 Mon Sep 17 00:00:00 2001 From: FanLian Date: Tue, 20 Jun 2023 17:34:40 +0800 Subject: [PATCH 14/14] =?UTF-8?q?=E5=A2=9E=E5=8A=A0PDA=E8=BD=BD=E5=85=B7?= =?UTF-8?q?=E7=BB=91=E5=AE=9A=E5=92=8C=E8=A7=A3=E7=BB=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WmsPDACarryBindService.cs | 132 ++++++++++++++++++ .../WmsPDACarryUnbindService .cs | 108 ++++++++++++++ 2 files changed, 240 insertions(+) create mode 100644 WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryBindService.cs create mode 100644 WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryUnbindService .cs diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryBindService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryBindService.cs new file mode 100644 index 00000000..983dbb47 --- /dev/null +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryBindService.cs @@ -0,0 +1,132 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using JNPF.Common.Core.Manager; +using JNPF.Common.Dtos.VisualDev; +using JNPF.Common.Enums; +using JNPF.Common.Extension; +using JNPF.Common.Security; +using JNPF.FriendlyException; +using JNPF.Systems.Interfaces.System; +using JNPF.VisualDev; +using JNPF.VisualDev.Entitys; +using JNPF.VisualDev.Interfaces; +using Mapster; +using Microsoft.AspNetCore.Mvc; +using NPOI.SS.Formula; +using SqlSugar; +using Tnb.BasicData.Entities; +using Tnb.WarehouseMgr.Entities; +using Tnb.WarehouseMgr.Entities.Attributes; +using Tnb.WarehouseMgr.Entities.Consts; +using Tnb.WarehouseMgr.Entities.Dto; +using Tnb.WarehouseMgr.Interfaces; + +namespace Tnb.WarehouseMgr +{ + /// + /// 载具绑定 + /// + [OverideVisualDev(ModuleConsts.MODULE_WMSCARRYBINDPDA_ID)] + public class WmsPDACarryBindService : BaseWareHouseService + { + private readonly ISqlSugarClient _db; + private readonly IRunService _runService; + private readonly IVisualDevService _visualDevService; + private readonly IUserManager _userManager; + private readonly IBillRullService _billRullService; + public WmsPDACarryBindService( + ISqlSugarRepository repository, + IRunService runService, + IVisualDevService visualDevService, + IUserManager userManager, + IBillRullService billRullService) + { + _db = repository.AsSugarClient(); + _runService = runService; + _visualDevService = visualDevService; + _userManager = userManager; + _billRullService = billRullService; + OverideFuncs.CreateAsync = PDACarryBind; + } + + private async Task PDACarryBind(VisualDevModelDataCrInput input) + { + var isOk = false; + try + { + await _db.Ado.BeginTranAsync(); + + VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleConsts.MODULE_WMSCARRYMOOUTSTK_ID, true); + await _runService.Create(templateEntity, input); + + if (input == null) throw new ArgumentNullException(nameof(input)); + var carryId = input.data.ContainsKey("carry_id") ? input.data["carry_id"]?.ToString() : ""; + var subCarryId = input.data.ContainsKey("newcarry_id") ? input.data["newcarry_id"]?.ToString() : ""; + var carry = await _db.Queryable().SingleAsync(it => it.id == carryId); + var subCarry = await _db.Queryable().SingleAsync(it => it.id == subCarryId); + WmsCarrybindH wmsCarrybindH = carry.Adapt(); + if (carry != null && subCarry != null) + { + wmsCarrybindH.id = SnowflakeIdHelper.NextId(); + wmsCarrybindH.org_id = carry.org_id; + wmsCarrybindH.carry_id = carry.id; + wmsCarrybindH.membercarry_id = subCarry.id; + wmsCarrybindH.membercarry_code = subCarry.carry_code; + wmsCarrybindH.loc = input.data[nameof(WmsCarrybindH.loc)].ParseToInt(1); + wmsCarrybindH.create_id = _userManager.UserId; + wmsCarrybindH.create_time = DateTime.Now; + var row = await _db.Insertable(wmsCarrybindH).ExecuteCommandAsync(); + carry.carry_status = "1"; + row = await _db.Updateable(carry).ExecuteCommandAsync(); + subCarry.carry_status = "1"; + row = await _db.Updateable(subCarry).ExecuteCommandAsync(); + var items = await _db.Queryable().Where(it => it.carry_id == subCarryId).ToListAsync(); + for (int i = 0; i < items.Count; i++) + { + WmsCarrybindCode wmsCarrybindCode = new(); + wmsCarrybindCode.id = SnowflakeIdHelper.NextId(); + wmsCarrybindCode.org_id = subCarry.id; + wmsCarrybindCode.carrybind_id = wmsCarrybindH.id; + wmsCarrybindCode.material_id = items[i].material_id; + wmsCarrybindCode.material_code = items[i].material_code; + wmsCarrybindCode.barcode = items[i].barcode; + wmsCarrybindCode.code_batch = items[i].code_batch; + wmsCarrybindCode.codeqty = items[i].codeqty; + wmsCarrybindCode.membercarry_id = subCarry.id; + wmsCarrybindCode.membercarry_code = subCarry.carry_code; + wmsCarrybindCode.unit_id = items[i].unit_id; + wmsCarrybindCode.unit_code = items[i].unit_code; + wmsCarrybindCode.create_id = _userManager.UserId; + wmsCarrybindCode.create_time = DateTime.Now; + row = await _db.Insertable(wmsCarrybindCode).ExecuteCommandAsync(); + } + isOk = (row > 0); + if (!isOk) throw Oops.Oh(ErrorCode.COM1001); + } + else + { + if (carry == null || subCarry == null) + { + throw new AppFriendlyException("没有可用的主载具", 500); + } + } + await _db.Ado.CommitTranAsync(); + } + catch (Exception ex) + { + await _db.Ado.RollbackTranAsync(); + throw; + } + return Task.FromResult(true); + } + /* public override async Task ModifyAsync(WareHouseUpInput input) + { + if (input == null) throw new ArgumentNullException(nameof(input)); + var isOk = await _db.Updateable().SetColumns(it => new WmsCarryReplaceH { status = input.bizTypeId }).Where(it => it.id == input.requireId).ExecuteCommandHasChangeAsync(); + if (!isOk) throw Oops.Oh(ErrorCode.COM1001); + }*/ + } +} diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryUnbindService .cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryUnbindService .cs new file mode 100644 index 00000000..d1128ff6 --- /dev/null +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryUnbindService .cs @@ -0,0 +1,108 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using JNPF.Common.Core.Manager; +using JNPF.Common.Dtos.VisualDev; +using JNPF.Common.Enums; +using JNPF.Common.Extension; +using JNPF.Common.Security; +using JNPF.FriendlyException; +using JNPF.Systems.Interfaces.System; +using JNPF.VisualDev; +using JNPF.VisualDev.Entitys; +using JNPF.VisualDev.Interfaces; +using Mapster; +using Microsoft.AspNetCore.Mvc; +using NPOI.SS.Formula; +using SqlSugar; +using Tnb.BasicData.Entities; +using Tnb.WarehouseMgr.Entities; +using Tnb.WarehouseMgr.Entities.Attributes; +using Tnb.WarehouseMgr.Entities.Consts; +using Tnb.WarehouseMgr.Entities.Dto; +using Tnb.WarehouseMgr.Interfaces; + +namespace Tnb.WarehouseMgr +{ + /// + /// 载具解绑 + /// + [OverideVisualDev(ModuleConsts.MODULE_WMSCARRYUNBINDPDA_ID)] + public class WmsPDACarryUnbindService : BaseWareHouseService + { + private readonly ISqlSugarClient _db; + private readonly IRunService _runService; + private readonly IVisualDevService _visualDevService; + private readonly IUserManager _userManager; + private readonly IWareHouseService _wareHouseService; + public WmsPDACarryUnbindService( + ISqlSugarRepository repository, + IRunService runService, + IVisualDevService visualDevService, + IWareHouseService wareHouseService, + IUserManager userManager) + { + _db = repository.AsSugarClient(); + _runService = runService; + _visualDevService = visualDevService; + _userManager = userManager; + _wareHouseService = wareHouseService; + OverideFuncs.CreateAsync = PDACarryUnbind; + } + private async Task PDACarryUnbind(VisualDevModelDataCrInput input) + { + var isOk = false; + try + { + await _db.Ado.BeginTranAsync(); + + VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleConsts.MODULE_WMSCARRYMOOUTSTK_ID, true); + await _runService.Create(templateEntity, input); + + if (input == null) throw new ArgumentNullException(nameof(input)); + var carryId = input.data.ContainsKey("carry_id") ? input.data["carry_id"]?.ToString() : ""; + var subCarryId = input.data.ContainsKey("newcarry_id") ? input.data["newcarry_id"]?.ToString() : ""; + var carry = await _db.Queryable().FirstAsync(it => it.id == carryId); + var subCarry = await _db.Queryable().FirstAsync(it => it.id == subCarryId); + //WmsCarryunbindH wmsCarryUnbindH = carry.Adapt(); + if (carry != null && subCarry != null) + { + var row = await _db.Deleteable().Where(it => it.carry_id == subCarry.id).ExecuteCommandAsync(); + carry.carry_status = "0"; + row = await _db.Updateable(carry).ExecuteCommandAsync(); + subCarry.carry_status = "0"; + row = await _db.Updateable(subCarry).ExecuteCommandAsync(); + isOk = (row > 0); + if (!isOk) throw Oops.Oh(ErrorCode.COM1001); + } + else + { + if (carry == null) + { + throw new AppFriendlyException("没有可用的主载具", 500); + } + if (subCarry == null) + { + throw new AppFriendlyException("没有可用的子载具", 500); + } + } + + await _db.Ado.CommitTranAsync(); + } + catch (Exception ex) + { + await _db.Ado.RollbackTranAsync(); + throw; + } + return Task.FromResult(true); + } + /* public override async Task ModifyAsync(WareHouseUpInput input) + { + if (input == null) throw new ArgumentNullException(nameof(input)); + var isOk = await _db.Updateable().SetColumns(it => new WmsCarryReplaceH { status = input.bizTypeId }).Where(it => it.id == input.requireId).ExecuteCommandHasChangeAsync(); + if (!isOk) throw Oops.Oh(ErrorCode.COM1001); + }*/ + } +}