From 9d75314e88f8aac494d57715e3231fe3540cb867 Mon Sep 17 00:00:00 2001 From: wangxinhui <wangxinhui@hnkhzn.com> Date: 星期二, 23 九月 2025 03:03:03 +0800 Subject: [PATCH] 优化更新 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs | 127 ++++++++++++++++++++++-------------------- 1 files changed, 66 insertions(+), 61 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs" index 9780a13..25714e7 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs" @@ -1064,78 +1064,83 @@ } return content; } + private static object emptyBack_inbound = new object(); /// <summary> /// 绌烘鍥炲簱 /// </summary> public WebResponseContent EmptyBackTask(string barCode, string startPoint) { - WebResponseContent content = new WebResponseContent(); - try + lock (emptyBack_inbound) { - string palletCode = @"^C\d{5}$"; // 姝e垯琛ㄨ揪寮� - bool isValid = Regex.IsMatch(barCode, palletCode); - if (!isValid) + WebResponseContent content = new WebResponseContent(); + try { - return content.Error($"妗嗙爜鏍煎紡閿欒{barCode}"); + string palletCode = @"^C\d{5}$"; // 姝e垯琛ㄨ揪寮� + bool isValid = Regex.IsMatch(barCode, palletCode); + if (!isValid) + { + return content.Error($"妗嗙爜鏍煎紡閿欒{barCode}"); + } + if (!OutStartPonits.Contains(startPoint)) + { + return content.Error($"璧风偣閿欒{startPoint}"); + } + //鍒ゆ柇褰撳墠鐐逛綅鏄惁閲嶅 + Dt_Task taskOldPoint = BaseDal.QueryFirst(x => x.SourceAddress == startPoint && (x.TaskStatus == TaskStatusEnum.New.ObjToInt() || x.TaskStatus == TaskStatusEnum.Line_Execute.ObjToInt() || x.TaskStatus == TaskStatusEnum.Line_Executing.ObjToInt())); + //if (taskOldPoint != null) + //{ + // return content.Error($"绔欑偣{startPoint}宸插瓨鍦ㄤ换鍔�"); + //} + Dt_Task taskOld = BaseDal.QueryFirst(x => x.PalletCode == barCode); + if (taskOld != null) + { + return content.Error($"鑳舵{barCode}浠诲姟宸插瓨鍦�"); + } + //if (_stockRepository.ProStockInfoRepository.QueryFirst(x => x.PalletCode == barCode) != null) + //{ + // return content.Error($"鑳舵{barCode}搴撳瓨淇℃伅宸插瓨鍦�"); + //} + //todo:涓存椂瑙g粦 + Dt_ProStockInfo proStockInfo = _stockRepository.ProStockInfoRepository.QueryFirst(x => x.PalletCode == barCode && x.StockStatus == StockStatusEmun.鍑哄簱瀹屾垚.ObjToInt()); + if (_stockRepository.ProStockInfoRepository.QueryFirst(x => x.PalletCode == barCode) != null) + { + proStockInfo.PalletCode = proStockInfo.PalletCode + ":" + DateTime.Now.ToString("MM/dd"); + } + //鑾峰彇鎴愬搧骞冲簱 + Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA101.ToString()); + Dt_Task newTask = new Dt_Task() + { + CurrentAddress = startPoint, + Grade = 0, + NextAddress = "", + PalletCode = barCode, + Roadway = "CL01_CP", + SourceAddress = startPoint, + TargetAddress = "", + TaskType = TaskTypeEnum.EmptyProductBack.ObjToInt(), + TaskStatus = TaskStatusEnum.New.ObjToInt(), + WarehouseId = warehouse.WarehouseId, + PalletType = 1 + }; + _unitOfWorkManage.BeginTran(); + int taskId = BaseDal.AddData(newTask); + if (proStockInfo != null) + { + _stockRepository.ProStockInfoRepository.UpdateData(proStockInfo); + } + newTask.TaskId = taskId; + _unitOfWorkManage.CommitTran(); + //鎺ㄩ�佷换鍔� + PushTasksToWCS(new List<Dt_Task> { newTask }); + content.OK("鍙戦�佹垚鍔�"); } - if (!OutStartPonits.Contains(startPoint)) + catch (Exception ex) { - return content.Error($"璧风偣閿欒{startPoint}"); + content.Error(ex.Message); } - //鍒ゆ柇褰撳墠鐐逛綅鏄惁閲嶅 - Dt_Task taskOldPoint = BaseDal.QueryFirst(x => x.SourceAddress == startPoint && (x.TaskStatus == TaskStatusEnum.New.ObjToInt() || x.TaskStatus == TaskStatusEnum.Line_Execute.ObjToInt() || x.TaskStatus == TaskStatusEnum.Line_Executing.ObjToInt())); - //if (taskOldPoint != null) - //{ - // return content.Error($"绔欑偣{startPoint}宸插瓨鍦ㄤ换鍔�"); - //} - Dt_Task taskOld = BaseDal.QueryFirst(x => x.PalletCode == barCode); - if (taskOld != null) - { - return content.Error($"鑳舵{barCode}浠诲姟宸插瓨鍦�"); - } - //if (_stockRepository.ProStockInfoRepository.QueryFirst(x => x.PalletCode == barCode) != null) - //{ - // return content.Error($"鑳舵{barCode}搴撳瓨淇℃伅宸插瓨鍦�"); - //} - //todo:涓存椂瑙g粦 - Dt_ProStockInfo proStockInfo = _stockRepository.ProStockInfoRepository.QueryFirst(x => x.PalletCode == barCode); - if (_stockRepository.ProStockInfoRepository.QueryFirst(x => x.PalletCode == barCode) != null) - { - proStockInfo.PalletCode = proStockInfo.PalletCode + ":" + DateTime.Now.ToString("MM/dd"); - } - //鑾峰彇鎴愬搧骞冲簱 - Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA101.ToString()); - Dt_Task newTask = new Dt_Task() - { - CurrentAddress = startPoint, - Grade = 0, - NextAddress = "", - PalletCode = barCode, - Roadway = "CL01_CP", - SourceAddress = startPoint, - TargetAddress = "", - TaskType = TaskTypeEnum.EmptyProductBack.ObjToInt(), - TaskStatus = TaskStatusEnum.New.ObjToInt(), - WarehouseId = warehouse.WarehouseId, - PalletType = 1 - }; - _unitOfWorkManage.BeginTran(); - int taskId = BaseDal.AddData(newTask); - if (proStockInfo!=null) - { - _stockRepository.ProStockInfoRepository.UpdateData(proStockInfo); - } - newTask.TaskId = taskId; - _unitOfWorkManage.CommitTran(); - //鎺ㄩ�佷换鍔� - PushTasksToWCS(new List<Dt_Task> { newTask }); - content.OK("鍙戦�佹垚鍔�"); + return content; } - catch (Exception ex) - { - content.Error(ex.Message); - } - return content; + } } } -- Gitblit v1.9.3