From 3a3a6c067124964e36c7695f57c536c97fef15d0 Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Mon, 13 Nov 2023 17:17:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml | 9 +++++++-- src/WMS.Web.Domain/Entitys/SerialNumbers.cs | 11 ++++++++-- .../Services/SerialNumberService.cs | 20 +++++++++++++++---- 3 files changed, 32 insertions(+), 8 deletions(-) diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index 9b17d53e..4d989864 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -1157,12 +1157,17 @@ 入库单号/采购单号 - + - 移箱 + 操作(绑定箱信息) 目标箱号 + + + 解绑 + + 出库 diff --git a/src/WMS.Web.Domain/Entitys/SerialNumbers.cs b/src/WMS.Web.Domain/Entitys/SerialNumbers.cs index 01f87500..8ec98788 100644 --- a/src/WMS.Web.Domain/Entitys/SerialNumbers.cs +++ b/src/WMS.Web.Domain/Entitys/SerialNumbers.cs @@ -70,14 +70,21 @@ namespace WMS.Web.Domain.Entitys public string InStockBillNo { get; set; } /// - /// 移箱 + /// 操作(绑定箱信息) /// /// 目标箱号 - public void Operate(int destBoxId) + public void Bind(int destBoxId) { this.BoxId = destBoxId; } /// + /// 解绑 + /// + public void UnBind() + { + this.BoxId = 0; + } + /// /// 出库 /// /// 出库单号 diff --git a/src/WMS.Web.Domain/Services/SerialNumberService.cs b/src/WMS.Web.Domain/Services/SerialNumberService.cs index e555e8e0..9b82ac6e 100644 --- a/src/WMS.Web.Domain/Services/SerialNumberService.cs +++ b/src/WMS.Web.Domain/Services/SerialNumberService.cs @@ -61,7 +61,7 @@ namespace WMS.Web.Domain.Services { var destBox = changeBoxRecords.FirstOrDefault(f => f.SerialNumbers.Contains(entity.SerialNumber)); //修改序列号和箱绑定关系 - entity.Operate(destBox.DestBoxId); + entity.Bind(destBox.DestBoxId); var box = boxList.FirstOrDefault(f => f.Id == destBox.DestBoxId); //记录序列号操作日志 @@ -124,7 +124,7 @@ namespace WMS.Web.Domain.Services foreach (var entity in entityList) { //修改序列号和箱绑定关系 - entity.Operate(moveBoxRecord.BoxId); + entity.Bind(moveBoxRecord.BoxId); //记录序列号操作日志 SerialNumberOperate op = new SerialNumberOperate() @@ -371,10 +371,18 @@ namespace WMS.Web.Domain.Services if (isTransaction) _transaction = _transactionRepositories.GetTransaction(); bool isRollback = false; + bool isSuccess = true; List sList = new List(); foreach (var entity in entityList) { var box = boxList.FirstOrDefault(f => f.Id == entity.BoxId); + var detail = backRecord.Details.FirstOrDefault(w => w.SerialNumbers.Contains(entity.SerialNumber)); + + if (backRecord.Type == BackRecordType.InstockOff) + entity.UnBind(); + else + entity.Bind(detail.BoxId); + //记录序列号操作日志 SerialNumberOperate op = new SerialNumberOperate() @@ -392,22 +400,26 @@ namespace WMS.Web.Domain.Services }; if (backRecord.Type == BackRecordType.OutstockOn) { - var subStockId = backRecord.Details.FirstOrDefault(w => w.SerialNumbers.Contains(entity.SerialNumber))?.SubStockId ?? 0; + var subStockId = detail?.SubStockId ?? 0; var srcSubStock = _singleDataService.GetSingleData(SingleAction.SubStocks, loginInfo.UserInfo.CompanyId, subStockId); op.Remark += "\r\n" + "仓位:" + srcSubStock; } sList.Add(op); } + + isSuccess = await _serialNumbersRepositories.EditEntityList(entityList, false); //序列号操作记录 var res = await this.SerialNumberOperate(sList, false); //提交事务 if (isTransaction) { + if (!isSuccess) isRollback = true; if (!res.Success) isRollback = true; - var isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction); + isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction); if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError); } + if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError); if (!res.Success) return Result.ReFailure(ResultCodes.DateWriteError); return Result.ReSuccess();