From 2a32dfbf5fe3b484d1ef6849cd8e322faa70ce14 Mon Sep 17 00:00:00 2001
From: wankeda <Administrator@DESKTOP-HAU3ST3>
Date: 星期六, 20 九月 2025 16:58:20 +0800
Subject: [PATCH] 入库流程

---
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs |   47 ++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 44 insertions(+), 3 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs"
index b7c8f5b..f44e941 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs"
@@ -40,7 +40,46 @@
                     PushTasksToWCS(new List<Dt_Task> { task });
                     return WebResponseContent.Instance.OK($"璇ユ墭鐩樺凡鐢熸垚浠诲姟", _mapper.Map<WMSTaskDTO>(task));
                 }
+                if (Repository.QueryFirst(x => x.SourceAddress == stationCode && x.TaskStatus == TaskStatusEnum.New.ObjToInt()) != null)
+                {
+                    return WebResponseContent.Instance.Error($"璇ョ珯鐐瑰凡鏈夋湭鎵ц鐨勪换鍔�");
+                }
+                //Dt_StockInfo stockInfo = _stockRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletCode == palletCode).Includes(x => x.Details).First();
 
+                //if (stockInfo == null)
+                //{
+                //    return WebResponseContent.Instance.Error($"鏈壘鍒扮粍鐩樹俊鎭�");
+                //}
+                //var details = stockInfo.Details.FirstOrDefault();
+                //if (!string.IsNullOrEmpty(stockInfo.LocationCode))
+                //{
+                //    return WebResponseContent.Instance.Error($"璇ユ墭鐩樺凡缁戝畾璐т綅");
+                //}
+                Dt_RoadwayInfo roadwayInfo = _roadwayInforepository.QueryFirst(x => x.InStationCode == stationCode);
+                if (roadwayInfo == null)
+                {
+                    return WebResponseContent.Instance.Error($"鏈壘鍒板垰鍏ュ簱绔欏彴鍦板潃");
+                }
+                Dt_Warehouse warehouse = _warehouseRepository.QueryFirst(x => x.WarehouseCode == roadwayInfo.RoadwayNo);
+                if (warehouse == null)
+                {
+                    return WebResponseContent.Instance.Error("鏈壘鍒版敼浠撳簱");
+                }
+                Dt_LocationInfo? locationInfo = _basicService.LocationInfoService.AssignLocation(roadwayInfo.RoadwayNo, warehouse.WarehouseId, "");//
+                if (locationInfo == null)
+                {
+                    return WebResponseContent.Instance.Error($"璐т綅鍒嗛厤澶辫触,鏈壘鍒板彲鍒嗛厤璐т綅");
+                }
+                var dt_Stock = new Dt_StockInfo
+                {
+                    PalletCode = palletCode,
+                    PalletType = 1,
+                    LocationCode = locationInfo.LocationCode,
+                    StockStatus = (int)StockStatusEmun.缁勭洏鏆傚瓨,
+                    Creater = "WMS",
+                    CreateDate = DateTime.Now,
+                    WarehouseId = warehouse.WarehouseId,
+                };
                 Dt_Task newTask = new Dt_Task()
                 {
                     CurrentAddress = stationCode,
@@ -50,7 +89,7 @@
                     OrderNo = "1",
                     Roadway = "1",
                     SourceAddress = "",
-                    TargetAddress = "2-20-1",
+                    TargetAddress = locationInfo.LocationCode,
                     TaskType = TaskTypeEnum.Inbound.ObjToInt(),
                     TaskStatus = TaskStatusEnum.New.ObjToInt(),
                     WarehouseId = 1,
@@ -60,14 +99,16 @@
                 };
 
                 _unitOfWorkManage.BeginTran();
+                locationInfo.LocationStatus = LocationStatusEnum.Lock.ObjToInt();
                 int taskId = BaseDal.AddData(newTask);
                 newTask.TaskId = taskId;
+                _stockRepository.AddData(dt_Stock);
                 //_stockRepository.UpdateData(stockInfo);
-                //_locationInfoRepository.UpdateData(locationInfo);
+                _locationInfoRepository.UpdateData(locationInfo);
                 _unitOfWorkManage.CommitTran();
                 WMSTaskDTO wMSTaskDTO = _mapper.Map<WMSTaskDTO>(newTask);
 
-                //PushTasksToWCS(new List<Dt_Task> { newTask });
+                PushTasksToWCS(new List<Dt_Task> { newTask });
                 return WebResponseContent.Instance.OK(data: wMSTaskDTO);
             }
             catch (Exception ex)

--
Gitblit v1.9.3