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 | 163 ++++++++++++++++++++++++++++-------------------------- 1 files changed, 84 insertions(+), 79 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 c1b9d98..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" @@ -276,7 +276,7 @@ _stockRepository.StockInfoRepository.AddData(stockInfo); _unitOfWorkManage.CommitTran(); PushTasksToWCS(new List<Dt_Task> { newTask }); - PutFinish(address, newTask.PalletCode, newTask.TaskNum.ToString()); + //PutFinish(address, newTask.PalletCode, newTask.TaskNum.ToString()); return WebResponseContent.Instance.OK(); } catch (Exception ex) @@ -538,7 +538,7 @@ WMSTaskDTO wMSTaskDTO = _mapper.Map<WMSTaskDTO>(newTask); PushTasksToWCS(new List<Dt_Task> { newTask }); - if (newTask.WarehouseId == 5) PutFinish(stationCode.ToString(),newTask.PalletCode, newTask.TaskNum.ToString()); + //if (newTask.WarehouseId == 5) PutFinish(stationCode.ToString(),newTask.PalletCode, newTask.TaskNum.ToString()); return WebResponseContent.Instance.OK(data: wMSTaskDTO); } catch (Exception ex) @@ -641,7 +641,7 @@ WMSTaskDTO wMSTaskDTO = _mapper.Map<WMSTaskDTO>(newTask); PushTasksToWCS(new List<Dt_Task> { newTask }); - if (newTask.WarehouseId == 5) PutFinish(stationCode, newTask.PalletCode, newTask.TaskNum.ToString()); + //if (newTask.WarehouseId == 5) PutFinish(stationCode, newTask.PalletCode, newTask.TaskNum.ToString()); return WebResponseContent.Instance.OK(data: wMSTaskDTO); } catch (Exception ex) @@ -853,7 +853,7 @@ WebResponseContent content = new WebResponseContent(); try { - //鑾峰彇娴嬭瘯鏋跺師搴撳瓨淇℃伅 + //鑾峰彇闃荤剨搴撳瓨淇℃伅 Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA154.ToString()); //鑾峰彇搴撳瓨璁板綍 List<Dt_StockInfo> stockInfos = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => @@ -872,21 +872,21 @@ { return content.Error($"鎵樼洏绫诲瀷淇℃伅涓嶅瓨鍦�"); } - ////鑾峰彇闃荤剨鎵规 - //WebResponseContent requestLotInfo = GetZHMesMaterialLot(materialLot); - //if (!requestLotInfo.Status) - //{ - // return content.Error($"璇锋眰闃荤剨鎵规淇℃伅澶辫触,{requestLotInfo.Message}"); - //} - //MesLotInfoModel mesLotInfo = JsonConvert.DeserializeObject<MesLotInfoModel>(requestLotInfo.Data.ToString()); - MesLotInfoModel mesLotInfo = new MesLotInfoModel() + //鑾峰彇闃荤剨鎵规 + WebResponseContent requestLotInfo = GetZHMesMaterialLot(materialLot); + if (!requestLotInfo.Status) { - Product="FH001", - ProductVersion="A1", - Qty=20, - LotNo= materialLot, - IsFullNumber=true - }; + return content.Error($"璇锋眰闃荤剨鎵规淇℃伅澶辫触,{requestLotInfo.Message}"); + } + MesLotInfoModel mesLotInfo = JsonConvert.DeserializeObject<MesLotInfoModel>(requestLotInfo.Data.ToString()); + //MesLotInfoModel mesLotInfo = new MesLotInfoModel() + //{ + // Product="FH001", + // ProductVersion="A1", + // Qty=20, + // LotNo= materialLot, + // IsFullNumber=true + //}; Dt_StockInfoDetail stockInfoDetail = new Dt_StockInfoDetail() { MaterielSpec = mesLotInfo.ProductVersion, @@ -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