From 1e6a3ce80c38124fe8750f59956528204e696d4e Mon Sep 17 00:00:00 2001
From: zhanghonglin <zhanghonglin@hnkhzn.com>
Date: 星期三, 22 四月 2026 15:13:25 +0800
Subject: [PATCH] 新功能
---
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs | 79 +++++++++++++++++++++++++++++++++------
1 files changed, 66 insertions(+), 13 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
index 0c5dff4..fd72ebd 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
@@ -183,13 +183,14 @@
else
{
stockInfo.StockStatus = (int)StockStatusEmun.鐩存帴鍑哄簱;
+ stockInfo.LocationCode = "2-52-1";
- task.SourceAddress = "1-52-1";
- task.TargetAddress = locations.LocationCode;
+ task.SourceAddress = "2-52-1";
+ task.TargetAddress = "1-52-1";
task.Roadway = "SC01";
task.Grade = 1;
task.TaskType = (int)TaskTypeEnum.OutDirect;
- task.TaskState = (int)TaskStatusEnum.InNew;
+ task.TaskState = (int)TaskStatusEnum.OutNew;
task.TaskNum = TaskNum(DateTime.Now.ToString("mmss").ObjToInt());
}
@@ -440,7 +441,7 @@
//淇敼鍏ュ簱妯″紡
Dt_Outstockinfo outstockinfo = _IOutstockinfoService.QueryFirst(x => x.Id == 1);
- outstockinfo.OutMode = 0;
+ outstockinfo.OutMode = 1;
//寮�濮嬫暟鎹簱浜嬪姟
_unitOfWorkManage.BeginTran();
@@ -481,7 +482,7 @@
Dt_Task tasks = BaseDal.QueryFirst(x => x.Remark == task.Remark);
if (tasks == null)
{
- Dt_OutboundOrder OutboundOrder = _OutboundOrderRepository.QueryFirst(x=>x.MaterielName == stock.MaterielName && x.BoundOrderCode == task.Remark);
+ Dt_OutboundOrder OutboundOrder = _OutboundOrderRepository.QueryFirst(x=>x.MaterielName == stock.MaterielName && x.Id == int.Parse(task.Remark));
//鐢熸垚鍘嗗彶璁㈠崟
Dt_OutboundOrder_Hty OutboundOrder_Hty = new Dt_OutboundOrder_Hty();
OutboundOrder_Hty.MaterielName = OutboundOrder.MaterielName;
@@ -622,12 +623,13 @@
LocationInfo = _LocationInfoRepository.QueryData(x => x.Remark == Types && x.LocationStatus == (int)LocationStatusEnum.EmptyBarrel).Take(Num).ToList();
if (LocationInfo.Count() == Num)
{
- string StationName = "婊℃《鍑�";
+ string StationName = "绌烘《鍑�";
string StationNames = SelectStationManger(StationName);
+ int i = 1;
foreach (var item in LocationInfo)
{
item.LocationStatus = (int)LocationStatusEnum.Lock;
-
+ i++;
//鍒涘缓浠诲姟
Dt_Task task = new Dt_Task();
task.SourceAddress = item.LocationCode;
@@ -636,7 +638,7 @@
task.Grade = 1;
task.TaskType = (int)TaskTypeEnum.OutEmpty;
task.TaskState = (int)TaskStatusEnum.OutNew;
- task.TaskNum = TaskNum(DateTime.Now.ToString("mmss").ObjToInt());
+ task.TaskNum = TaskNum(DateTime.Now.ToString("mmss").ObjToInt()+i);
tasks.Add(task);
}
}
@@ -836,7 +838,7 @@
{
//淇敼鍏ュ簱妯″紡
Dt_Outstockinfo outstockinfo = _IOutstockinfoService.QueryFirst(x => x.Id == 1);
- outstockinfo.OutMode = 1;
+ outstockinfo.OutMode = 0;
OutboundOrder.BoundOrderStatue = (int)OutboundOrderEnum.Execute;
//寮�濮嬫暟鎹簱浜嬪姟
@@ -854,11 +856,62 @@
//鍏朵粬姝e父鍑哄簱
else
{
- content = ArtificialTask(OutboundOrder.num, OutboundOrder.MaterielName, OutboundOrder.BoundOrderCode);
- if (content.Message == null || content.Message.Equals(""))
+ //鎸囧畾浣嶇疆
+ if (OutboundOrder.Location != null && !OutboundOrder.Location.Equals(""))
{
- OutboundOrder.BoundOrderStatue = (int)OutboundOrderEnum.Execute;
- _OutboundOrderRepository.UpdateData(OutboundOrder);
+ //鑾峰彇鍏ㄩ儴褰撳墠璁㈠崟
+ List<Dt_OutboundOrder> OutboundOrders = _OutboundOrderRepository.QueryData(x => x.BoundOrderCode == OutboundOrder.BoundOrderCode);
+ List<Dt_StockInfo> StockInfos = new List<Dt_StockInfo>();
+ List<Dt_Task> tasks = new List<Dt_Task>();
+ List<Dt_LocationInfo> LocationInfos = new List<Dt_LocationInfo>();
+ foreach (var itme in OutboundOrders)
+ {
+ //閿佸畾搴撳瓨
+ Dt_StockInfo StockInfo = _StockInfoRepository.QueryFirst(x=>x.LocationCode == itme.Location);
+ StockInfo.StockStatus = (int)StockStatusEmun.鍑哄簱閿佸畾;
+ //閿佸畾搴撲綅
+ Dt_LocationInfo LocationInfo = _LocationInfoRepository.QueryFirst(x => x.LocationCode == StockInfo.LocationCode);
+ LocationInfo.LocationStatus = (int)LocationStatusEnum.Lock;
+ //鍒涘缓浠诲姟
+ string StationName = "婊℃《鍑�";
+ string StationNames = SelectStationManger(StationName);
+ Dt_Task task = new Dt_Task();
+ task.SourceAddress = StockInfo.LocationCode;
+ task.TargetAddress = StationNames;
+ task.Roadway = "SC01";
+ task.Grade = 1;
+ task.TaskType = (int)TaskTypeEnum.Outfull;
+ task.TaskState = (int)TaskStatusEnum.OutNew;
+ task.TaskNum = TaskNum(DateTime.Now.ToString("mmss").ObjToInt());
+ task.Remark = itme.Id+"";
+
+ StockInfos.Add(StockInfo);
+ tasks.Add(task);
+ LocationInfos.Add(LocationInfo);
+ }
+ //寮�濮嬫暟鎹簱浜嬪姟
+ _unitOfWorkManage.BeginTran();
+ _LocationInfoRepository.UpdateData(LocationInfos);
+ _StockInfoRepository.UpdateData(StockInfos);
+ BaseDal.AddData(tasks);
+ //鍙戦�佺粰WCS
+ string address = AppSettings.Get("WCS");
+ if (!string.IsNullOrEmpty(address))
+ {
+ HttpHelper.Post($"{address}/api/Task/WMSaddListTask/", tasks.Serialize());
+ }
+ //鎻愪氦浜嬪姟
+ _unitOfWorkManage.CommitTran();
+ }
+ //鑷姩鍒嗛厤
+ else
+ {
+ content = ArtificialTask(OutboundOrder.num, OutboundOrder.MaterielName, OutboundOrder.Id+"");
+ if (content.Message == null || content.Message.Equals(""))
+ {
+ OutboundOrder.BoundOrderStatue = (int)OutboundOrderEnum.Execute;
+ _OutboundOrderRepository.UpdateData(OutboundOrder);
+ }
}
}
return content.Message;
--
Gitblit v1.9.3