From 3ecd03b3a0a30a57153468beaed3199bfe906772 Mon Sep 17 00:00:00 2001 From: huanghongfeng <huanghongfeng@hnkhzn.com> Date: 星期一, 11 十一月 2024 16:58:37 +0800 Subject: [PATCH] 1 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs | 94 ++++++++++++++++++++++++++++++----------------- 1 files changed, 60 insertions(+), 34 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs" index cb7a77a..3c8135a 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs" @@ -11,6 +11,7 @@ using Microsoft.Extensions.Logging; using MailKit.Search; using System.Reflection.Metadata; +using static WIDESEA_ITaskInfoService.ITaskService; namespace WIDESEA_TaskInfoService { @@ -212,26 +213,27 @@ /// </summary> /// <param name="PalletCode"></param> /// <returns></returns> - public WebResponseContent GenerateInventoryInformation(string SourceAddress, string PalletCode) + public WebResponseContent GenerateInventoryInformation(GenerateInv generate) { + WebResponseContent content = new WebResponseContent(); try { - Dt_Task task = BaseDal.QueryFirst(x => x.PalletCode == PalletCode); + Dt_Task task = BaseDal.QueryFirst(x => x.PalletCode == generate.PalletCode); if (task != null) { return content = WebResponseContent.Instance.Error($"宸叉湁璇ユ墭鐩樼殑鍏ュ簱浠诲姟锛屾墭鐩樺彿锛歿task.PalletCode}"); } else { - Dt_StockInfo dt_StockInfo = _stockService.StockInfoService.Repository.QueryFirst(x => x.PalletCode == PalletCode); - if (dt_StockInfo == null) + Dt_StockInfo dt_StockInfo = _stockService.StockInfoService.Repository.QueryFirst(x => x.PalletCode == generate.PalletCode); + if (dt_StockInfo != null) { Dt_LocationInfo newLocation; Dt_LocationInfo newSourceAddress; - newSourceAddress = _basicService.LocationInfoService.GetLocationplatform(SourceAddress); + newSourceAddress = _basicService.LocationInfoService.GetLocationplatform(generate.SourceAddress); newLocation = _basicService.LocationInfoService.GetLocation(newSourceAddress.RoadwayNo); - string[] Pallet = PalletCode.Split("-"); + //string[] Pallet = PalletCode.Split("-"); if (newLocation != null && newSourceAddress != null) { @@ -239,7 +241,7 @@ //鐢熸垚鍏ュ簱浠诲姟 Dt_Task dt_Task = new() { - PalletCode = PalletCode, + PalletCode = generate.PalletCode, TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)), Roadway = newLocation.RoadwayNo, TaskType = newSourceAddress.LocationType == (int)LocationTypeEnum.EmptyOut ? TaskTypeEnum.PalletInbound.ObjToInt() : TaskTypeEnum.Inbound.ObjToInt(), @@ -253,20 +255,6 @@ Depth = newLocation.Depth, CreateDate = DateTime.Now, }; - Dt_StockInfo dt_Stock = new() - { - PalletCode = PalletCode, - LocationCode = newLocation.LocationCode, - IsFull = true, - StockStatus = (int)StockStatusEmun.缁勭洏鏆傚瓨, - Creater = "WMS", - CreateDate = DateTime.Now, - MaterialType = newSourceAddress.LocationType == (int)LocationTypeEnum.EmptyIn ? (int)InventoryMaterialType.绌烘墭: - (newSourceAddress.LocationType == (int)LocationTypeEnum.FinishedIn ? (int)InventoryMaterialType.鎴愬搧: (int)InventoryMaterialType.鍘熸潗鏂�), - Materialweight = float.Parse(Pallet[3]), - }; - - _unitOfWorkManage.BeginTran(); if (newLocation.LocationStatus == LocationStatusEnum.Free.ObjToInt()) { @@ -274,7 +262,8 @@ } BaseDal.AddData(dt_Task); _basicService.LocationInfoService.UpdateData(newLocation); - _stockService.StockInfoService.Repository.AddData(dt_Stock); + + _unitOfWorkManage.CommitTran(); @@ -282,13 +271,14 @@ } else { - return content = WebResponseContent.Instance.Error($"鏈壘鍒板搴旂殑璧风偣:{SourceAddress},鎴栫粓鐐箋newSourceAddress.RoadwayNo}锛屼俊鎭�"); + return content = WebResponseContent.Instance.Error($"鏈壘鍒板搴旂殑璧风偣:{generate.SourceAddress},鎴栫粓鐐箋newSourceAddress.RoadwayNo}锛屼俊鎭�"); } } else { - return content = WebResponseContent.Instance.Error($"璇ユ墭鐩樺彿宸插叆搴擄紝璇锋牳瀵规墭鐩樺彿:{PalletCode}"); + Queryinventory(generate.PalletCode); + return content = WebResponseContent.Instance.Error($"缁勭洏锛岃鏍稿鎵樼洏鍙�:{generate.PalletCode}"); } } @@ -306,26 +296,62 @@ /// <returns></returns> public WebResponseContent Queryinventory(string palletCode) { - WebResponseContent content = new WebResponseContent(); - string[] targetCodes = palletCode.Split("-"); - if (targetCodes[2] == "2") + + try { - List<Dt_LocationInfo> LocationInfo = _basicService.LocationInfoService.Repository.QueryData(x => x.RoadwayNo == "2" && x.LocationType == (int)LocationStatusEnum.Free).ToList(); - if (LocationInfo.Count < 40) + WebResponseContent content = new WebResponseContent(); + string result = palletCode.Substring(0, 2); + Dt_InboundOrder dt_Inbound = _inboundService.InbounOrderService.Repository.QueryFirst(x => x.UpperOrderNo == result); + if (dt_Inbound != null) { + Dt_StockInfo dt_Stock = new() + { + PalletCode = palletCode, + IsFull = true, + StockStatus = (int)StockStatusEmun.缁勭洏鏆傚瓨, + Creater = "WMS", + CreateDate = DateTime.Now, + MaterialType = (int)InventoryMaterialType.鍘熸潗鏂�, + Materialweight = 0, + }; + + + _unitOfWorkManage.BeginTran(); + _stockService.StockInfoService.Repository.AddData(dt_Stock); + if (dt_Stock.Id != null) + { + string part2 = palletCode.Substring(2, 8); + + string part3 = palletCode.Split('#')[1]; + Dt_StockInfoDetail dt_StockInfoDetail = new() + { + StockId = dt_Stock.Id, + MaterielCode = result, //鐗╂枡缂栧彿 + MaterielName = dt_Inbound.OrderNo, //鏉愯川 + OrderNo = palletCode, //鍗曟嵁锛堟墭鐩樻潯鐮侊級 + BatchNo = part2, //鎵规鍙� + SerialNumber = part3, //搴忓垪鍙� + StockQuantity = 1, //搴忓垪鍙� + OutboundQuantity = 1, //搴忓垪鍙� + Status = (int)StockStatusEmun.缁勭洏鏆傚瓨, + Creater = "WMS", + CreateDate = DateTime.Now, + }; + _stockService.StockInfoDetailService.AddData(dt_StockInfoDetail); + } + _unitOfWorkManage.CommitTran(); return content = WebResponseContent.Instance.OK(); } else { - return content = WebResponseContent.Instance.Error(); + return content = WebResponseContent.Instance.Error("鏈壘鍒拌绫诲瀷鐨勮В鏋�"); } } - else + catch (Exception ex) { - return content = WebResponseContent.Instance.OK(); + + throw; } - - } } } -- Gitblit v1.9.3