From cb62fe00ff0c80bce983b0aa7a2b320fdc26f85f Mon Sep 17 00:00:00 2001
From: huanghongfeng <huanghongfeng@hnkhzn.com>
Date: 星期一, 20 五月 2024 08:51:03 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/SuZhouGuanHong/TaiYuanTaiZhong

---
 代码管理/PCS/WCS_Server/WIDESEA_WCS/Common/Pipeline.cs |  172 +++++++++++++++++++++++++++++++++------------------------
 1 files changed, 100 insertions(+), 72 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/Pipeline.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/Pipeline.cs"
index 22961fb..bff502d 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/Pipeline.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/Pipeline.cs"
@@ -16,6 +16,7 @@
 using WIDESEA_Comm.TaskNo;
 using WIDESEA_WCS.JobsPart.Common;
 using System.Xml.Linq;
+using WIDESEA_Common;
 
 namespace WIDESEA_WCS
 {
@@ -84,9 +85,9 @@
                         {
 
                             #region 鍒ゆ柇鍖哄煙鍙锋槸鍚︿竴鑷�
-                            var area = Gantry_client.ReadByOrder<Int16>("place_prog", number);//鏀炬枡瀹屾垚鐨勫尯鍩熷彿
+                            //var area = Gantry_client.ReadByOrder<Int16>("place_prog", number);//鏀炬枡瀹屾垚鐨勫尯鍩熷彿
 
-                            WriteLog.Write_Log(number + "鍙栨枡瀹屾垚鍑洪敊", bindSNS[bindSNS.Length - 1], "鍒ゆ柇鍖哄煙鍙锋槸鍚︿竴鑷�", $"PCS鍖哄煙鍙凤細{AreaNr}锛沑n妗佹灦鍖哄煙鍙凤細{area}\n閿欒淇℃伅锛歅CS鍖哄煙鍙蜂笌妗佹灦鍖哄煙鍙蜂笉涓�鑷达紒");
+                            //WriteLog.Write_Log(number + "鍙栨枡瀹屾垚鍑洪敊", bindSNS[bindSNS.Length - 1], "鍒ゆ柇鍖哄煙鍙锋槸鍚︿竴鑷�", $"PCS鍖哄煙鍙凤細{AreaNr}锛沑n妗佹灦鍖哄煙鍙凤細{area}\n閿欒淇℃伅锛歅CS鍖哄煙鍙蜂笌妗佹灦鍖哄煙鍙蜂笉涓�鑷达紒");
                             //if (AreaNr != area)
                             //{
                             //    client.WriteByOrder("W_AlarmSignal", (Int16)2, number);//鎶ヨ
@@ -97,9 +98,9 @@
                             #endregion
 
                             #region 鍒ゆ柇杞﹁疆鏁伴噺鏄惁涓�鑷�
-                            var quantity = Gantry_client.ReadByOrder<Int16>("pos_prog", number);//妗佹灦璁板綍鐨勮溅杞暟閲�
+                            //var quantity = Gantry_client.ReadByOrder<Int16>("pos_prog", number);//妗佹灦璁板綍鐨勮溅杞暟閲�
 
-                            WriteLog.Write_Log(number + "鍙栨枡瀹屾垚鍑洪敊", bindSNS[bindSNS.Length - 1], "鍒ゆ柇杞﹁疆鏁伴噺鏄惁涓�鑷�", $"鍖哄煙鍙凤細{AreaNr}锛沑n妗佹灦杞﹁疆鏁帮細{quantity}\nPCS杞﹁疆鏁帮細{station.quantity}\n閿欒淇℃伅锛歅CS鍖哄煙鍙蜂笌妗佹灦鍖哄煙鍙蜂笉涓�鑷达紒");
+                            //WriteLog.Write_Log(number + "鍙栨枡瀹屾垚鍑洪敊", bindSNS[bindSNS.Length - 1], "鍒ゆ柇杞﹁疆鏁伴噺鏄惁涓�鑷�", $"鍖哄煙鍙凤細{AreaNr}锛沑n妗佹灦杞﹁疆鏁帮細{quantity}\nPCS杞﹁疆鏁帮細{station.quantity}\n閿欒淇℃伅锛歅CS鍖哄煙鍙蜂笌妗佹灦鍖哄煙鍙蜂笉涓�鑷达紒");
                             //if (quantity != station.quantity)
                             //{
                             //    client.WriteByOrder("W_AlarmSignal", (Int16)2, number);//鎶ヨ
@@ -196,18 +197,18 @@
                         }
 
                         #region 鏇存柊涓�涓娴嬩笂鏂欎换鍔�
-                        Idt_agvtaskRepository agvtaskService = new dt_agvtaskRepository(Context);
-                        if (!agvtaskService.Find(x => x.agv_toaddress == Station.stationCode).Any())
-                        {
-                            var task = agvtaskService.Find(x => x.agv_taskstate == "Queue" && (x.agv_tasktype == "TaskType_OutsourceOutbound" || x.agv_tasktype == "TaskType_Outbound") && x.agv_toaddress == "").OrderByDescending(x => x.agv_grade).ThenBy(x => x.agv_createtime).FirstOrDefault();
-                            if (task != null)
-                            {
-                                task.agv_taskstate = "Create";
-                                task.agv_toaddress = Station.stationCode;
-                                agvtaskService.Update(task, true);
-                                WriteDBLog.Success("鏇存柊涓�涓娴嬩笂鏂欎换鍔�", $"浠诲姟缂栧彿锛歿task.agv_tasknum}", "PCS");
-                            }
-                        }
+                        //Idt_agvtaskRepository agvtaskService = new dt_agvtaskRepository(Context);
+                        //if (!agvtaskService.Find(x => x.agv_toaddress == Station.stationCode).Any())
+                        //{
+                        //    var task = agvtaskService.Find(x => x.agv_taskstate == "Queue" && (x.agv_tasktype == "TaskType_OutsourceOutbound" || x.agv_tasktype == "TaskType_Outbound") && x.agv_toaddress == "").OrderByDescending(x => x.agv_grade).ThenBy(x => x.agv_createtime).FirstOrDefault();
+                        //    if (task != null)
+                        //    {
+                        //        task.agv_taskstate = "Create";
+                        //        task.agv_toaddress = Station.stationCode;
+                        //        agvtaskService.Update(task, true);
+                        //        WriteDBLog.Success("鏇存柊涓�涓娴嬩笂鏂欎换鍔�", $"浠诲姟缂栧彿锛歿task.agv_tasknum}", "PCS");
+                        //    }
+                        //}
                         #endregion
                     }
                 }
@@ -411,78 +412,105 @@
                                 agvtaskService.Update(task, true);
                                 station.location_state = LocationStateEnum.Busy.ToString();
                                 stationinfoRepository.Update(station, true);
-                                WriteDBLog.Success("鏇存柊绌烘墭闃熷垪浠诲姟", $"浠诲姟缂栧彿锛歿task.agv_tasknum}锛屾墭鐩樹俊鍙�:{PalletSignal},璐х墿淇″彿:{MaterialSignal}", "PCS");
+                                WriteDBLog.Success("鏇存柊琛ョ┖鎵橀槦鍒椾换鍔�", $"浠诲姟缂栧彿锛歿task.agv_tasknum}锛屾墭鐩樹俊鍙�:{PalletSignal},璐х墿淇″彿:{MaterialSignal}", "PCS");
                                 continue;
                             }
-                            remark = "鏌ヨ绌烘墭鍙犵洏浣�";
-                            #region 绌烘墭鍙犵洏
-                            if (stationCode.Contains("S"))
-                            {
-                                var EmptyStations = stationinfoRepository.Find(x => x.stationCode.Contains("DD") && x.quantity < 5 && x.enable).ToList();
-                                EmptyStation = EmptyStations.Where(x => x.tray_type == station.tray_type && x.location_state == LocationStateEnum.Stroge.ToString()).FirstOrDefault();
-                                if (EmptyStation == null)
-                                    EmptyStation = EmptyStations.Where(x => x.location_state == LocationStateEnum.Empty.ToString() && x.quantity == 0 && x.enable).FirstOrDefault();
-                                if (EmptyStation == null)
-                                {
-                                    EmptyStation = EmptyStations.Where(x => x.location_state == LocationStateEnum.Stroge.ToString() && x.quantity > 0 && x.enable).OrderByDescending(x => x.quantity).FirstOrDefault();
-                                    if (EmptyStation != null) EmptyTray.CreateEmptyTrayIn(stationinfoRepository, EmptyStation);
-                                }
-                            }
+                            #region 妫�娴嬩笂鏂欑殑绌烘墭鍙犵洏
+                            //remark = "鏌ヨ绌烘墭鍙犵洏浣�";
+                            //var EmptyStations = stationinfoRepository.Find(x => x.stationCode.Contains("DD") && x.enable).ToList();
+                            //if (stationCode.Contains("S"))
+                            //{
+                            //    //var EmptyStations = stationinfoRepository.Find(x => x.stationCode.Contains("DD") && x.quantity < 5 && x.enable).ToList();
+                            //    EmptyStation = EmptyStations.Where(x => x.tray_type == station.tray_type && 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)
+                            //    {
+                            //        EmptyStation = EmptyStations.Where(x => x.location_state == LocationStateEnum.Stroge.ToString() && x.quantity > 0).OrderByDescending(x => x.quantity).FirstOrDefault();
+                            //        if (EmptyStation != null) EmptyTray.CreateEmptyTrayIn(stationinfoRepository, EmptyStation);
+                            //    }
+                            //}
+                            //EmptyStation = EmptyStations.Where(x => x.location_state == LocationStateEnum.Stroge.ToString() && x.quantity == 5).FirstOrDefault();
+                            //if (EmptyStation != null) EmptyTray.CreateEmptyTrayIn(stationinfoRepository, EmptyStation);
                             #endregion
-                            else
+
+                            #region 鍒涘缓鍙栫┖鎵橀槦鍒椾换鍔�
+                            dt_agvtask agvtask = new dt_agvtask()
                             {
-                                remark = "鏌ユ壘搴撳唴绌烘墭浣�";
-                                EmptyStation = GetStation.EmptyPalletStation(area);
-                                if (EmptyStation != null)
-                                    if (agvtaskService.Find(x => x.agv_fromaddress == EmptyStation.stationCode || x.agv_toaddress == EmptyStation.stationCode).Any()) return;
-                            }
+                                agv_fromaddress = station.stationCode,
+                                agv_id = Guid.NewGuid(),
+                                agv_tasknum = IdenxManager.GetTaskNo("KH-", "WMS"),
+                                agv_grade = station.stationCode.Contains("S0100100") ? 3 : 1,
+                                agv_createtime = DateTime.Now,
+                                agv_taskstate = AGVTaskStateEnum.Queue.ToString(),
+                                //agv_materielid = station.stationType,
+                                agv_qty = 1,
+                                StarQuantity = 0,
+                                EndQuantity = 0,//EmptyStation.quantity,
+                                agv_tasktype = AGVTaskTypeEnum.TaskType_EmptyPallet.ToString(),
+                                agv_toaddress = "",//EmptyStation.stationCode,
+                                agv_userid = "绯荤粺",
+                                agv_TrayStatus = "EmptyTray",//station.tray_status,
+                                agv_Traytype = station.tray_type,
+                            };
+                            agvtaskService.Add(agvtask, true);
+                            station.location_state = LocationStateEnum.Busy.ToString();
+                            stationinfoRepository.Update(station, true);
+                            //EmptyStation.location_state = LocationStateEnum.Busy.ToString();
+                            //stationinfoRepository.Update(EmptyStation, true);
+                            WriteDBLog.Success("鍒涘缓鑷姩鍙栫┖鎵橀槦鍒椾换鍔�", $"浠诲姟缂栧彿锛歿agvtask.agv_tasknum}锛屾墭鐩樹俊鍙�:{PalletSignal},璐х墿淇″彿:{MaterialSignal}", "PCS");
+                            #endregion
+
+                            #region 鍒涘缓鍙栫┖鎵樻柊寤轰换鍔�
+                            //else
+                            //{
+                            //    remark = "鏌ユ壘搴撳唴绌烘墭浣�";
+                            //    EmptyStation = GetStation.EmptyPalletStation(area);
+                            //    if (EmptyStation != null)
+                            //        if (agvtaskService.Find(x => x.agv_fromaddress == EmptyStation.stationCode || x.agv_toaddress == EmptyStation.stationCode).Any()) return;
+                            //}
 
 
-                            if (EmptyStation != null)
-                            {
-                                #region 鍚屼竴涓┖鎵樹綅鍙兘鍚屾椂鐢熸垚涓�涓┖鎵樹换鍔�
-                                //remark = "鏌ヨ绌烘墭浣嶆槸鍚﹀瓨鍦ㄤ换鍔�";
-                                //if (agvtaskService.Find(x => x.agv_fromaddress == EmptyStation.stationCode || x.agv_toaddress == EmptyStation.stationCode).Any())
-                                //    return;
-                                #endregion
-                                dt_agvtask agvtask = new dt_agvtask()
-                                {
-                                    agv_fromaddress = station.stationCode,
-                                    agv_id = Guid.NewGuid(),
-                                    agv_tasknum = IdenxManager.GetTaskNo("KH-", "WMS"),
-                                    agv_grade = station.stationCode.Contains("S0100100") ? 3 : 1,
-                                    agv_createtime = DateTime.Now,
-                                    agv_taskstate = "Create",
-                                    //agv_materielid = station.stationType,
-                                    agv_qty = 1,
-                                    StarQuantity = 0,
-                                    EndQuantity = EmptyStation.quantity,
-                                    agv_tasktype = "TaskType_EmptyPallet",
-                                    agv_toaddress = EmptyStation.stationCode,
-                                    agv_userid = "绯荤粺",
-                                    agv_TrayStatus = "EmptyTray",//station.tray_status,
-                                    agv_Traytype = station.tray_type,
-                                };
-                                agvtaskService.Add(agvtask, true);
-                                station.location_state = LocationStateEnum.Busy.ToString();
-                                stationinfoRepository.Update(station, true);
-                                EmptyStation.location_state = LocationStateEnum.Busy.ToString();
-                                stationinfoRepository.Update(EmptyStation, true);
-                                WriteDBLog.Success("鍒涘缓鑷姩鍙栫┖鎵樹换鍔�", $"浠诲姟缂栧彿锛歿agvtask.agv_tasknum}锛屾墭鐩樹俊鍙�:{PalletSignal},璐х墿淇″彿:{MaterialSignal}", "PCS");
-                            }
+                            //if (EmptyStation != null)
+                            //{
+                            //    dt_agvtask agvtask = new dt_agvtask()
+                            //    {
+                            //        agv_fromaddress = station.stationCode,
+                            //        agv_id = Guid.NewGuid(),
+                            //        agv_tasknum = IdenxManager.GetTaskNo("KH-", "WMS"),
+                            //        agv_grade = station.stationCode.Contains("S0100100") ? 3 : 1,
+                            //        agv_createtime = DateTime.Now,
+                            //        agv_taskstate = AGVTaskStateEnum.Create.ToString(),
+                            //        //agv_materielid = station.stationType,
+                            //        agv_qty = 1,
+                            //        StarQuantity = 0,
+                            //        EndQuantity = EmptyStation.quantity,
+                            //        agv_tasktype = "TaskType_EmptyPallet",
+                            //        agv_toaddress = EmptyStation.stationCode,
+                            //        agv_userid = "绯荤粺",
+                            //        agv_TrayStatus = "EmptyTray",//station.tray_status,
+                            //        agv_Traytype = station.tray_type,
+                            //    };
+                            //    agvtaskService.Add(agvtask, true);
+                            //    station.location_state = LocationStateEnum.Busy.ToString();
+                            //    stationinfoRepository.Update(station, true);
+                            //    EmptyStation.location_state = LocationStateEnum.Busy.ToString();
+                            //    stationinfoRepository.Update(EmptyStation, true);
+                            //    WriteDBLog.Success("鍒涘缓鑷姩鍙栫┖鎵樹换鍔�", $"浠诲姟缂栧彿锛歿agvtask.agv_tasknum}锛屾墭鐩樹俊鍙�:{PalletSignal},璐х墿淇″彿:{MaterialSignal}", "PCS");
+                            //}
+                            #endregion
                         }
                     }
                     catch (Exception ex)
                     {
-                        //WriteDBLog.Error("鍒涘缓鑷姩鍙栫┖鎵樹换鍔�", $"{stationCode}锛歿remark}閿欒淇℃伅锛歿ex.Message}", "PCS");
-                        WriteLog.Write_Log("鎶ラ敊鏃ュ織", "鍒涘缓鑷姩鍙栫┖鎵樹换鍔�", "閿欒淇℃伅锛�", $"{stationCode}锛歿remark}閿欒淇℃伅锛歿ex.Message}");
+                        WriteLog.Write_Log("鎶ラ敊鏃ュ織", "鍒涘缓鑷姩鍙栫┖鎵橀槦鍒椾换鍔�", "閿欒淇℃伅锛�", $"{stationCode}锛歿remark}閿欒淇℃伅锛歿ex.Message}");
                     }
                 }
             }
             catch (Exception ex)
             {
                 //WriteDBLog.Error("鍒涘缓鑷姩鍙栫┖鎵樹换鍔�", $"閿欒淇℃伅锛歿ex.Message}", "PCS");
-                WriteLog.Write_Log("鎶ラ敊鏃ュ織", "鍒涘缓鑷姩鍙栫┖鎵樹换鍔�", "閿欒淇℃伅锛�", $"閿欒淇℃伅锛歿ex.Message}");
+                WriteLog.Write_Log("鎶ラ敊鏃ュ織", "鍒涘缓鑷姩鍙栫┖鎵橀槦鍒椾换鍔�", "閿欒淇℃伅锛�", $"閿欒淇℃伅锛歿ex.Message}");
             }
         }
 

--
Gitblit v1.9.3