From 4f39dcc195f28fa275fc2d065fbf1bf6a46c21b7 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期二, 17 六月 2025 00:41:18 +0800
Subject: [PATCH] 优化出入库逻辑
---
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_AGV.cs | 25 ++++++++++++++++++-------
1 files changed, 18 insertions(+), 7 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_AGV.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_AGV.cs"
index e780012..38b8cf7 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_AGV.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_AGV.cs"
@@ -22,17 +22,21 @@
public WebResponseContent ShelfOutboundCarry(Dt_Task outTask)
{
//鍒ゆ柇鏄惁涓虹數鑺簱锛岃緟鏂欏簱浜哄伐澶勭悊(绔嬪簱鐩爣鍦板潃杞崲鎴怉GV绔欑偣鍦板潃)
- Dt_CachePoint cachePoint = GetCachePointByStartPoint(outTask.TargetAddress);
+ if (!outTask.Roadway.Contains("CP")) return WebResponseContent.Instance.OK();
+ Dt_RoadwayInfo dt_RoadwayInfo = _basicService.RoadwayInfoService.Repository.QueryFirst(x => x.OutSCStationCode == outTask.TargetAddress);
+ if (dt_RoadwayInfo == null) return WebResponseContent.Instance.OK();
+ Dt_CachePoint startcachePoint = new Dt_CachePoint();
+ Dt_CachePoint cachePoint = GetCachePointByStartPoint(dt_RoadwayInfo.OutStationCode, ref startcachePoint);
Dt_Task task = new()
{
- CurrentAddress = outTask.TargetAddress,
+ CurrentAddress = startcachePoint.PointCode,
Grade = 0,
NextAddress = cachePoint.PointCode,
OrderNo = outTask.OrderNo,
PalletCode = outTask.PalletCode + "-AGV",
Roadway = "",
- SourceAddress = outTask.TargetAddress,
+ SourceAddress = startcachePoint.PointCode,
TargetAddress = cachePoint.PointCode,
SourceKey = outTask.TaskId,
TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
@@ -42,9 +46,12 @@
Creater = App.User.UserId > 0 ? App.User.UserName : "System",
};
cachePoint.PointStatus = LocationStatusEnum.Lock.ObjToInt();
+ startcachePoint.PointStatus = LocationStatusEnum.Lock.ObjToInt();
_basicService.CachePointService.Repository.UpdateData(cachePoint);
+ _basicService.CachePointService.Repository.UpdateData(startcachePoint);
Repository.AddData(task);
+ SendAGVTask(task, cachePoint);
return WebResponseContent.Instance.OK();
}
@@ -169,8 +176,8 @@
x.TaskStatus < AGVTaskStatusEnum.DoneFetch.ObjToInt() ||
x.TargetAddress == startPoint) != null)
throw new Exception($"绔欑偣銆恵startPoint}銆戝瓨鍦ㄤ换鍔★紒");
-
- Dt_CachePoint cachePoint = GetCachePointByStartPoint(startPoint);
+ Dt_CachePoint startcachePoint = new Dt_CachePoint();
+ Dt_CachePoint cachePoint = GetCachePointByStartPoint(startPoint, ref startcachePoint);
Dt_Task task = new()
{
@@ -213,12 +220,12 @@
/// <param name="startPoint"></param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
- private Dt_CachePoint GetCachePointByStartPoint(string startPoint)
+ private Dt_CachePoint GetCachePointByStartPoint(string startPoint, ref Dt_CachePoint startcachePoint)
{
#region MyRegion
Dt_CachePoint? StartcachePoint = _basicService.CachePointService.Repository.QueryFirst(x => x.PointCode == startPoint);
if (StartcachePoint == null) throw new Exception("鏈壘鍒扮紦瀛樼偣!");
-
+ startcachePoint = StartcachePoint;
Dt_AreaRouter areaRouter = _basicService.AreaRouterService.Repository.QueryFirst(x => x.StartArea == StartcachePoint.AreaId.ToString());
if (areaRouter == null) throw new Exception("鏈壘鍒拌矾鐢变俊鎭�!");
@@ -318,6 +325,10 @@
if (qty > 0) startCachePoint.PointStatus = LocationStatusEnum.InStock.ObjToInt();
startCachePoint.Remark = qty.ToString();
}
+ else if (startCachePoint.AreaId == 1)
+ {
+ startCachePoint.PointStatus = LocationStatusEnum.PalletLock.ObjToInt();
+ }
_basicService.CachePointService.Repository.UpdateData(startCachePoint);
}
}
--
Gitblit v1.9.3