From 3c781a56bfb0c84362324d56f1b465139be71aeb Mon Sep 17 00:00:00 2001 From: FanLian Date: Tue, 20 Jun 2023 20:10:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9PDA=E6=8A=95=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Tnb.WarehouseMgr/WmsPDAFeedingService.cs | 85 ++++++++++--------- 1 file changed, 46 insertions(+), 39 deletions(-) diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs index 7c510ba2..8541d41e 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs @@ -11,6 +11,7 @@ using JNPF.Systems.Interfaces.System; using JNPF.VisualDev; using Mapster; using Microsoft.AspNetCore.Mvc; +using Senparc.Weixin.Work.AdvancedAPIs.OaDataOpen; using SqlSugar; using Tnb.BasicData.Entities; using Tnb.Common.Utils; @@ -34,7 +35,7 @@ namespace Tnb.WarehouseMgr private readonly IBillRullService _billRullService; private readonly WmsCarryService _wmsCarryService; private static Dictionary dicMaterial = new Dictionary(); - public WmsPDAFeedingService(ISqlSugarRepository repository, IUserManager userManager, IBillRullService billRullService,WmsCarryService wmsCarryService) + public WmsPDAFeedingService(ISqlSugarRepository repository, IUserManager userManager, IBillRullService billRullService, WmsCarryService wmsCarryService) { _db = repository.AsSugarClient(); _userManager = userManager; @@ -42,60 +43,66 @@ namespace Tnb.WarehouseMgr _wmsCarryService = wmsCarryService; OverideFuncs.CreateAsync = WmsPDAFeeding; } - + private async Task WmsPDAFeeding(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) + var carryId = input.data.ContainsKey("carry_id") ? input.data["carry_id"]?.ToString() : ""; + var feedBoxCode = input.data.ContainsKey("feedbox_code") ? input.data["feedbox_code"]?.ToString() : ""; + var carry = await _db.Queryable().FirstAsync(it => it.id == carryId); + var feedBox = await _db.Queryable().FirstAsync(it => it.feedbox_code == feedBoxCode); + var citem = await _db.Queryable().FirstAsync(it => it.carry_id == carryId); + if (carry != null && feedBox != 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); - + feedBox.material_id = citem.material_id; + feedBox.material_code = citem.material_code; + feedBox.qty = citem.qty; + feedBox.batch = citem?.code_batch!; + var row = await _db.Updateable(feedBox).UpdateColumns(it => new + { + it.material_id, + it.material_code, + it.qty, + it.batch + }).ExecuteCommandAsync(); + /* var row = await _db.Updateable(feedBox).SetColumns(it => new + { + it.material_id == item.material_id,it.material_code + } + )*/ - 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); + var items = await _db.Queryable().Where(it => it.carry_id == carryId).ToListAsync(); + foreach (var item in items) + { + WmsFeedingrecordCode wmsFeedingRecordCode = new(); + wmsFeedingRecordCode.id = SnowflakeIdHelper.NextId(); + wmsFeedingRecordCode.org_id = carry?.org_id!; + wmsFeedingRecordCode.record_id = input.data["ReturnIdentity"]?.ToString()!; + wmsFeedingRecordCode.material_id = item.material_id; + wmsFeedingRecordCode.material_code = item.material_code; + wmsFeedingRecordCode.barcode = item.barcode; + wmsFeedingRecordCode.code_batch = item.code_batch; + wmsFeedingRecordCode.codeqty = item.codeqty; + wmsFeedingRecordCode.unit_id = item.unit_id; + wmsFeedingRecordCode.unit_code = item.unit_code; + wmsFeedingRecordCode.create_id = _userManager.UserId; + wmsFeedingRecordCode.create_time = DateTime.Now; + row = await _db.Insertable(wmsFeedingRecordCode).ExecuteCommandAsync(); + } + row = await UpdateNullCarry(carry); isOk = (row > 0); if (!isOk) throw Oops.Oh(ErrorCode.COM1001); } else { - if (oldCarry == null) + if (carry == null) { throw new AppFriendlyException("没有可用的旧载具", 500); } - if (newCarry == null) + if (feedBox == null) { throw new AppFriendlyException("没有可用的新载具", 500); }