分支自 SuZhouGuanHong/TaiYuanTaiZhong

dengjunjie
2024-05-06 85094861794e433f1c99a0f571b0e2785f9d671c
出库任务限制一次一条
已修改2个文件
24 ■■■■■ 文件已修改
代码管理/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/GetStation/EmptyPalletStation.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/RestockHCJ.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/GetStation/EmptyPalletStation.cs
@@ -19,6 +19,27 @@
    public class GetStation
    {
        /// <summary>
        /// å½“前库位外边的货位是否都为空
        /// </summary>
        /// <param name="StationCode"></param>
        /// <returns></returns>
        public static bool QueueStation(string StationCode)
        {
            bool OK = false;
            try
            {
                VOLContext Context = new VOLContext();
                Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(Context);
                var station = stationinfoRepository.Find(x => x.stationCode == StationCode).FirstOrDefault();
                OK = stationinfoRepository.Find(x => x.area == station.area && x.line == station.line && x.column > station.column && x.location_state != LocationStateEnum.Empty.ToString()).Any();
            }
            catch (Exception ex)
            {
            }
            return OK;
        }
        /// <summary>
        /// æ‰¾å¯å…¥åº“空托位
        /// </summary>
        public static void EmptyStation()
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/RestockHCJ.cs
@@ -200,6 +200,8 @@
                {
                    if (agvtask.agv_toaddress == "")
                    {
                        if (agvtask.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString())
                            if (GetStation.QueueStation(agvtask.agv_fromaddress)) return;//限制一行一次只能出一个任务
                        var EmptyStations = stationinfoRepository.Find(x => x.stationCode.Contains("S01001") && (x.tray_status == TrayStateEnum.EmptyTray.ToString() || x.location_state == LocationStateEnum.Empty.ToString()) && x.enable).ToList();
                        foreach (var EmptyStation in EmptyStations)
                        {
@@ -218,6 +220,7 @@
                {
                    if (agvtask.agv_toaddress == "")
                    {
                        if (GetStation.QueueStation(agvtask.agv_fromaddress)) return;//限制一行一次只能出一个任务
                        var TargetLocation = StationTask.GetEmptyLocation(stationinfoRepository);
                        if (TargetLocation != null)
                        {