From 8c7c2c1aec1579a94c7a8368710bb31ff9518d73 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期四, 27 六月 2024 16:03:19 +0800
Subject: [PATCH] 待检库不满足入库条件改为入库外协
---
代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyTrayIn.cs | 39 +++++++++++++++++++++++++++++++++------
1 files changed, 33 insertions(+), 6 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyTrayIn.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyTrayIn.cs"
index f8a976b..27b7e4c 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyTrayIn.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyTrayIn.cs"
@@ -11,7 +11,7 @@
using WIDESEA_WMS.IRepositories;
using WIDESEA_WMS.Repositories;
-namespace WIDESEA_WCS.JobsPart.Common
+namespace WIDESEA_WMS.Common
{
public class EmptyTray
{
@@ -36,6 +36,32 @@
}
}
/// <summary>
+ /// 鑾峰彇鍙叆绌烘墭璐т綅
+ /// </summary>
+ public static dt_stationinfo GetEmptyTrayStation(Idt_stationinfoRepository stationinfoRepository, dt_agvtask agv_task)
+ {
+ dt_stationinfo EmptyStation = null;
+ #region 妫�娴嬩笂鏂欑殑绌烘墭鍙犵洏
+ if (agv_task.agv_fromaddress.Contains("S"))
+ {
+ var EmptyStations = stationinfoRepository.Find(x => x.stationCode.Contains("DD") && x.quantity < 5 && x.enable).ToList();
+ EmptyStation = EmptyStations.Where(x => x.tray_type == agv_task.agv_Traytype && x.quantity < 5 && x.location_state == LocationStateEnum.Stroge.ToString()).FirstOrDefault();
+ if (EmptyStation == null)
+ EmptyStation = EmptyStations.Where(x => x.location_state == LocationStateEnum.Empty.ToString() && x.quantity == 0).FirstOrDefault();
+ if (EmptyStation == null)
+ {
+ var EmptyD = EmptyStations.Where(x => x.location_state == LocationStateEnum.Stroge.ToString() && x.quantity > 0).OrderByDescending(x => x.quantity).FirstOrDefault();
+ if (EmptyD != null) CreateEmptyTrayIn(stationinfoRepository, EmptyD);
+ }
+ }
+ #endregion
+ else
+ {
+ EmptyStation = GetStation.EmptyPalletStation1(agv_task.agv_Traytype == "SmallTray" ? "11" : "10");
+ }
+ return EmptyStation;
+ }
+ /// <summary>
/// 鍒涘缓绌烘墭鍙犵洏鍏ュ簱浠诲姟
/// </summary>
/// <param name="stationinfoRepository"></param>
@@ -48,13 +74,13 @@
{
if (agvtaskRepository.Find(x => x.agv_fromaddress == EmptyStation.stationCode || x.agv_toaddress == EmptyStation.stationCode).Any()) return;
var area = EmptyStation.tray_type == "SmallTray" ? "11" : "10";
- var toEmptyStation = GetStation.EmptyPalletStation(area);
+ var toEmptyStation = GetStation.EmptyPalletStation1(area);
if (toEmptyStation != null)
{
#region 鍚屼竴涓┖鎵樹綅鍙兘鍚屾椂鐢熸垚涓�涓┖鎵樹换鍔�
if (agvtaskRepository.Find(x => x.agv_fromaddress == toEmptyStation.stationCode || x.agv_toaddress == toEmptyStation.stationCode).Any()) return;
#endregion
-
+ var quantity = 5 - toEmptyStation.quantity;
dt_agvtask agvtask = new dt_agvtask()
{
agv_fromaddress = EmptyStation.stationCode,
@@ -63,9 +89,9 @@
agv_grade = 3,
agv_createtime = DateTime.Now,
agv_taskstate = "Create",
- //agv_materielid = station.stationType,
- agv_qty = EmptyStation.quantity - toEmptyStation.quantity,
- StarQuantity = toEmptyStation.quantity,
+ agv_qty = EmptyStation.quantity <= quantity ? EmptyStation.quantity : quantity,
+ //agv_qty = EmptyStation.quantity - toEmptyStation.quantity,
+ StarQuantity = EmptyStation.quantity <= quantity ? 0 : EmptyStation.quantity - quantity,
EndQuantity = toEmptyStation.quantity,
agv_tasktype = "TaskType_EmptyPallet",
agv_toaddress = toEmptyStation.stationCode,
@@ -77,6 +103,7 @@
EmptyStation.location_state = LocationStateEnum.Busy.ToString();
stationinfoRepository.Update(EmptyStation, true);
toEmptyStation.location_state = LocationStateEnum.Busy.ToString();
+ toEmptyStation.tray_status = TrayStateEnum.EmptyTray.ToString();
stationinfoRepository.Update(toEmptyStation, true);
WriteDBLog.Success("鍒涘缓鍙犵洏浣嶇┖鎵樺叆搴撲换鍔�", $"浠诲姟缂栧彿锛歿agvtask.agv_tasknum}", "PCS");
}
--
Gitblit v1.9.3