From 829eabf256e29392ca63f6da48829dba3b075dfe Mon Sep 17 00:00:00 2001 From: huanghongfeng <huanghongfeng@hnkhzn.com> Date: 星期五, 24 一月 2025 08:59:53 +0800 Subject: [PATCH] 资料,优化程序 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs | 77 +++++++++++++++++++++++--------------- 1 files changed, 46 insertions(+), 31 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" index 3093bdf..60367bd 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" @@ -22,6 +22,7 @@ using Org.BouncyCastle.Asn1.Tsp; using SqlSugar; using System; +using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics.CodeAnalysis; @@ -49,6 +50,7 @@ using WIDESEA_ITaskInfoService; using WIDESEA_Model.Models; using WIDESEA_TaskInfoRepository; +using static WIDESEA_ITaskInfoService.ITaskService; namespace WIDESEA_TaskInfoService { @@ -79,13 +81,13 @@ _taskHtyService = taskHtyService; _locationInfoService = locationInfoService; } - + public string ReceiveWCSTask = WIDESEA_Core.Helper.AppSettings.Configuration["ReceiveWCSTask"]; /// <summary> /// 浠诲姟瀹屾垚 /// </summary> /// <param name="taskNum">浠诲姟鍙�</param> /// <returns>杩斿洖澶勭悊缁撴灉</returns> - public WebResponseContent TaskCompleted(int taskNum) + public WebResponseContent TaskCompleted(int taskNum,int HowWorks) { try { @@ -93,6 +95,10 @@ if (task == null) { return WebResponseContent.Instance.Error("鏈壘鍒颁换鍔′俊鎭�"); + } + if (HowWorks == 1) + { + WebResponseContent webResponseContent = HttpHelper.Post<WebResponseContent>(ReceiveWCSTask, task.TaskNum, "浠诲姟鍒犻櫎"); } MethodInfo? methodInfo = GetType().GetMethod(((TaskTypeEnum)task.TaskType) + "TaskCompleted"); if (methodInfo != null) @@ -125,35 +131,34 @@ Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode); //鏌ヨ揣浣� Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task.TargetAddress); - + Dt_StockInfoDetail dt_StockInfodetail = _stockService.StockInfoDetailService.Repository.QueryFirst(x => x.StockId == stockInfo.Id); CheckCompleted(stockInfo, locationInfo); + if (stockInfo.MaterialType == (int)InventoryMaterialType.绌烘墭) + { + string currentTime = DateTime.Now.ToString("HHmmss"); + stockInfo.PalletCode = "KTP" + currentTime; + } + stockInfo.LocationCode = task.TargetAddress; stockInfo.StockStatus = StockStatusEmun.宸插叆搴�.ObjToInt(); _stockService.StockInfoService.Repository.UpdateData(stockInfo); - if (_stockService.StockInfoService.Repository.UpdateData(stockInfo)) - { - string[] Pallet = stockInfo.PalletCode.Split("-"); - Dt_StockInfoDetail dt_StockInfoDetail = new() - { - StockId = stockInfo.Id, - MaterielCode = Pallet[0], //鐗╂枡缂栧彿 - MaterielName = Pallet[1], //鏉愯川 - OrderNo = stockInfo.PalletCode, //鍗曟嵁锛堟墭鐩樻潯鐮侊級 - BatchNo = Pallet[2], //鎵规鍙� - SerialNumber = Pallet[2], //搴忓垪鍙� - StockQuantity = decimal.Parse(Pallet[3]), //搴忓垪鍙� - OutboundQuantity = decimal.Parse(Pallet[3]), //搴忓垪鍙� - Status = (int)StockStatusEmun.宸插叆搴�, - Creater = "WMS", - CreateDate = DateTime.Now, - }; - _stockService.StockInfoDetailService.AddData(dt_StockInfoDetail); - } + if(dt_StockInfodetail != null) + { + dt_StockInfodetail.Status = StockStatusEmun.宸插叆搴�.ObjToInt(); + _stockService.StockInfoDetailService.Repository.UpdateData(dt_StockInfodetail); + } beforeQuantity = stockInfo.Details.Where(x => x.Id != 0).Sum(x => x.StockQuantity); int beforeStatus = locationInfo.LocationStatus; - locationInfo.LocationStatus = LocationStatusEnum.InStock.ObjToInt(); + if (stockInfo.MaterialType == (int)InventoryMaterialType.绌烘墭) + { + locationInfo.LocationStatus = LocationStatusEnum.Pallet.ObjToInt(); + } + else + { + locationInfo.LocationStatus = LocationStatusEnum.InStock.ObjToInt(); + } _basicService.LocationInfoService.UpdateLocationFree(locationInfo, task.TaskNum, StockChangeType.Inbound.ObjToInt(), false); _basicService.LocationInfoService.Repository.UpdateData(locationInfo); @@ -239,22 +244,30 @@ stockInfo.StockStatus = StockStatusEmun.鍑哄簱瀹屾垚.ObjToInt(); _stockService.StockInfoService.Repository.UpdateData(stockInfo); int beforeStatus = locationInfo.LocationStatus; - if (task.Depth == 1) + /*if (task.Depth == 1) { - if (DepthTask(task)) { } + *//*if (DepthTask(task)) + { + } else { locationInfo.LocationStatus = LocationStatusEnum.Free.ObjToInt(); _basicService.LocationInfoService.UpdateLocationFree(locationInfo, task.TaskNum, StockChangeType.Outbound.ObjToInt(), false); _basicService.LocationInfoService.Repository.UpdateData(locationInfo); - } + }*//* + locationInfo.LocationStatus = LocationStatusEnum.Free.ObjToInt(); + _basicService.LocationInfoService.UpdateLocationFree(locationInfo, task.TaskNum, StockChangeType.Outbound.ObjToInt(), false); + _basicService.LocationInfoService.Repository.UpdateData(locationInfo); } else { locationInfo.LocationStatus = LocationStatusEnum.Free.ObjToInt(); _basicService.LocationInfoService.UpdateLocationFree(locationInfo, task.TaskNum, StockChangeType.Outbound.ObjToInt(), false); _basicService.LocationInfoService.Repository.UpdateData(locationInfo); - } + }*/ + locationInfo.LocationStatus = LocationStatusEnum.Free.ObjToInt(); + _basicService.LocationInfoService.UpdateLocationFree(locationInfo, task.TaskNum, StockChangeType.Outbound.ObjToInt(), false); + _basicService.LocationInfoService.Repository.UpdateData(locationInfo); task.TaskStatus = OutTaskStatusEnum.OutFinish.ObjToInt(); BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateType.鑷姩瀹屾垚 : OperateType.浜哄伐瀹屾垚); @@ -297,12 +310,12 @@ return WebResponseContent.Instance.OK(); } - public WebResponseContent RelocationTaskCompleted(string PalletCode,string SourceAddress, string TargetAddress) + public WebResponseContent RelocationInTaskCompleted(Dt_Task task) { - Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(PalletCode); + Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode); - Dt_LocationInfo locationpoint = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == SourceAddress); - Dt_LocationInfo locationEnd = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == TargetAddress); + Dt_LocationInfo locationpoint = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task.SourceAddress); + Dt_LocationInfo locationEnd = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task.TargetAddress); List<Dt_LocationInfo> loca = new List<Dt_LocationInfo>(); stockInfo.LocationCode = locationEnd.LocationCode; @@ -340,5 +353,7 @@ } return false; } + + } } -- Gitblit v1.9.3