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/EmptyPalletStation.cs | 106 ++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 76 insertions(+), 30 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyPalletStation.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyPalletStation.cs"
index 7a954ea..8cc07c3 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyPalletStation.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyPalletStation.cs"
@@ -11,7 +11,7 @@
using WIDESEA_WMS.Repositories;
using static System.Collections.Specialized.BitVector32;
-namespace WIDESEA_WCS.JobsPart.Common
+namespace WIDESEA_WMS.Common
{
public class GetStation
{
@@ -151,50 +151,96 @@
Idt_agvtaskRepository agvtaskService = new dt_agvtaskRepository(Context);
Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(Context);
- #region 鏌ユ壘AB搴撳彲鍏ョ┖鎵樼┖璐т綅
- if (area == "11" && stationinfoRepository.Find(x => x.stationCode == "A01001001" && x.quantity == 5 && x.location_state == LocationStateEnum.Stroge.ToString()).Any())
+ #region 绌烘墭搴撳尯鍗犵敤鍏B搴撳尯
+ if (stationinfoRepository.Find(x => x.area == area && x.enable && x.location_state == LocationStateEnum.Busy.ToString()).Any() || stationinfoRepository.Find(x => x.stationCode == "A01001001" && x.quantity == 5 && x.location_state == LocationStateEnum.Stroge.ToString()).Any())
{
- #region MyRegion
- var EmptyStation = stationinfoRepository.Find(x => x.quantity > 0 && (x.area == "2" || x.area == "3") && x.tray_status == TrayStateEnum.EmptyTray.ToString() && x.enable).OrderByDescending(x => x.area).ThenByDescending(x => x.line).ThenByDescending(x => x.column).FirstOrDefault();
- #endregion
- if (EmptyStation == null)
- EmptyStation = stationinfoRepository.Find(x => x.location_state == LocationStateEnum.Busy.ToString() && (x.area == "2" || x.area == "3") && x.tray_status == TrayStateEnum.EmptyTray.ToString() && x.enable).OrderByDescending(x => x.area).ThenByDescending(x => x.line).ThenByDescending(x => x.column).FirstOrDefault();
-
- #region 鏌ユ壘搴撳尯2鍜屽簱鍖�3鐨勭┖鎵樿揣浣�
- //var EmptyStation = stationinfoRepository.Find(x => x.quantity > 0 && (x.area == "2" || x.area == "3")
- // && x.tray_status == TrayStateEnum.EmptyTray.ToString() && x.enable).OrderByDescending(x => x.lastUpdateTime).FirstOrDefault();
-
- if (EmptyStation != null)
+ #region 鏌ユ壘AB搴撳彲鍏ョ┖鎵樼┖璐т綅
+ if (area == "11")
{
- stationinfo = Station(EmptyStation, stationinfoRepository);
- if (stationinfo != null)
- if (!QueueStation(stationinfo.stationCode)) return stationinfo;
+ #region MyRegion
+ var EmptyStation = stationinfoRepository.Find(x => x.quantity > 0 && (x.area == "2" || x.area == "3") && x.tray_status == TrayStateEnum.EmptyTray.ToString() && x.enable).OrderByDescending(x => x.area).ThenByDescending(x => x.line).ThenByDescending(x => x.column).FirstOrDefault();
+ #endregion
+ if (EmptyStation == null)
+ EmptyStation = stationinfoRepository.Find(x => x.location_state == LocationStateEnum.Busy.ToString() && (x.area == "2" || x.area == "3") && x.tray_status == TrayStateEnum.EmptyTray.ToString() && x.enable).OrderByDescending(x => x.area).ThenByDescending(x => x.line).ThenByDescending(x => x.column).FirstOrDefault();
- EmptyStation = stationinfoRepository.Find(x => x.area == EmptyStation.area && x.line == EmptyStation.line && x.enable).OrderByDescending(x => x.column).FirstOrDefault();
- if (EmptyStation.quantity != 5) return null;
+ #region 鏌ユ壘搴撳尯2鍜屽簱鍖�3鐨勭┖鎵樿揣浣�
+
+ if (EmptyStation != null)
+ {
+ stationinfo = Station(EmptyStation, stationinfoRepository);
+ if (stationinfo != null)
+ if (!QueueStation(stationinfo.stationCode)) return stationinfo;
+
+ EmptyStation = stationinfoRepository.Find(x => x.area == EmptyStation.area && x.line == EmptyStation.line && x.enable).OrderByDescending(x => x.column).FirstOrDefault();
+ if (EmptyStation.quantity != 5) return null;
+ }
+ #endregion
+
+ #region 鏈壘鍒扮┖鎵樿揣浣嶆垨褰撳墠琛屽凡婊�,瀵绘壘鏂扮殑涓�琛�
+ stationinfo = stationinfoRepository.Find(x => x.column == 2 && x.area == "3" && x.location_state == LocationStateEnum.Empty.ToString() && x.enable).OrderByDescending(x => x.line).FirstOrDefault();
+ if (stationinfo == null)
+ stationinfo = stationinfoRepository.Find(x => x.column == 1 && x.area == "2" && x.location_state == LocationStateEnum.Empty.ToString() && x.enable).OrderByDescending(x => x.line).FirstOrDefault();
+ #endregion
}
#endregion
-
- #region 鏈壘鍒扮┖鎵樿揣浣嶆垨褰撳墠琛屽凡婊�,瀵绘壘鏂扮殑涓�琛�
- stationinfo = stationinfoRepository.Find(x => x.column == 2 && x.area == "3" && x.location_state == LocationStateEnum.Empty.ToString() && x.enable).OrderByDescending(x => x.line).FirstOrDefault();
- if (stationinfo == null)
- stationinfo = stationinfoRepository.Find(x => x.column == 1 && x.area == "2" && x.location_state == LocationStateEnum.Empty.ToString() && x.enable).OrderByDescending(x => x.line).FirstOrDefault();
- #endregion
}
- #endregion
-
- #region 鏌ユ壘绌烘墭搴撳尯
else
{
- if (stationinfoRepository.Find(x => x.area == area && x.location_state == LocationStateEnum.Busy.ToString()).Any()) return stationinfo;
stationinfo = stationinfoRepository.Find(x => x.area == area && x.quantity > 0 && x.enable).OrderBy(x => x.column).FirstOrDefault();
if (stationinfo != null)
if (!QueueStation(stationinfo.stationCode) && stationinfo.quantity < 5) return stationinfo;
stationinfo = stationinfoRepository.Find(x => x.area == area && x.location_state == LocationStateEnum.Empty.ToString() && x.enable).OrderByDescending(x => x.column).FirstOrDefault();
-
}
#endregion
+ #region 绌烘墭搴撳尯婊″悗鍏B搴撳尯
+
+ //#region 鏌ユ壘AB搴撳彲鍏ョ┖鎵樼┖璐т綅
+ //if (area == "11" && stationinfoRepository.Find(x => x.stationCode == "A01001001" && x.quantity == 5 && x.location_state == LocationStateEnum.Stroge.ToString()).Any())
+ //{
+ // #region MyRegion
+ // var EmptyStation = stationinfoRepository.Find(x => x.quantity > 0 && (x.area == "2" || x.area == "3") && x.tray_status == TrayStateEnum.EmptyTray.ToString() && x.enable).OrderByDescending(x => x.area).ThenByDescending(x => x.line).ThenByDescending(x => x.column).FirstOrDefault();
+ // #endregion
+ // if (EmptyStation == null)
+ // EmptyStation = stationinfoRepository.Find(x => x.location_state == LocationStateEnum.Busy.ToString() && (x.area == "2" || x.area == "3") && x.tray_status == TrayStateEnum.EmptyTray.ToString() && x.enable).OrderByDescending(x => x.area).ThenByDescending(x => x.line).ThenByDescending(x => x.column).FirstOrDefault();
+
+ // #region 鏌ユ壘搴撳尯2鍜屽簱鍖�3鐨勭┖鎵樿揣浣�
+ // //var EmptyStation = stationinfoRepository.Find(x => x.quantity > 0 && (x.area == "2" || x.area == "3")
+ // // && x.tray_status == TrayStateEnum.EmptyTray.ToString() && x.enable).OrderByDescending(x => x.lastUpdateTime).FirstOrDefault();
+
+ // if (EmptyStation != null)
+ // {
+ // stationinfo = Station(EmptyStation, stationinfoRepository);
+ // if (stationinfo != null)
+ // if (!QueueStation(stationinfo.stationCode)) return stationinfo;
+
+ // EmptyStation = stationinfoRepository.Find(x => x.area == EmptyStation.area && x.line == EmptyStation.line && x.enable).OrderByDescending(x => x.column).FirstOrDefault();
+ // if (EmptyStation.quantity != 5) return null;
+ // }
+ // #endregion
+
+ // #region 鏈壘鍒扮┖鎵樿揣浣嶆垨褰撳墠琛屽凡婊�,瀵绘壘鏂扮殑涓�琛�
+ // stationinfo = stationinfoRepository.Find(x => x.column == 2 && x.area == "3" && x.location_state == LocationStateEnum.Empty.ToString() && x.enable).OrderByDescending(x => x.line).FirstOrDefault();
+ // if (stationinfo == null)
+ // stationinfo = stationinfoRepository.Find(x => x.column == 1 && x.area == "2" && x.location_state == LocationStateEnum.Empty.ToString() && x.enable).OrderByDescending(x => x.line).FirstOrDefault();
+ // #endregion
+ //}
+ //#endregion
+
+ //#region 鏌ユ壘绌烘墭搴撳尯
+ //else
+ //{
+ // if (stationinfoRepository.Find(x => x.area == area && x.enable && x.location_state == LocationStateEnum.Busy.ToString()).Any()) return stationinfo;
+ // stationinfo = stationinfoRepository.Find(x => x.area == area && x.quantity > 0 && x.enable).OrderBy(x => x.column).FirstOrDefault();
+ // if (stationinfo != null)
+ // if (!QueueStation(stationinfo.stationCode) && stationinfo.quantity < 5) return stationinfo;
+ // stationinfo = stationinfoRepository.Find(x => x.area == area && x.location_state == LocationStateEnum.Empty.ToString() && x.enable).OrderByDescending(x => x.column).FirstOrDefault();
+
+ //}
+ //#endregion
+
+ #endregion
+
#region 鏌ョ湅褰撳墠绌鸿揣浣嶅悗鏄惁瀛樺湪鏈夋枡
if (stationinfo != null)
if (GetStation.QueueStation(stationinfo.stationCode)) stationinfo = null;
--
Gitblit v1.9.3