From db825ff9bb1352e79c3e018a647b3c88713d6f69 Mon Sep 17 00:00:00 2001
From: pulg <plg@Haninfo>
Date: 星期六, 05 七月 2025 14:07:29 +0800
Subject: [PATCH] Merge branch 'master' of http://121.37.118.194:8000/r/WMSPrjInstance/HH-0014_NongFu_QingXi

---
 HH.WCS.QingXiNongfu/process/DeviceProcess.cs |  143 ++++++++++++++++++++++++++++++++---------------
 1 files changed, 98 insertions(+), 45 deletions(-)

diff --git a/HH.WCS.QingXiNongfu/process/DeviceProcess.cs b/HH.WCS.QingXiNongfu/process/DeviceProcess.cs
index 65482f3..65da30a 100644
--- a/HH.WCS.QingXiNongfu/process/DeviceProcess.cs
+++ b/HH.WCS.QingXiNongfu/process/DeviceProcess.cs
@@ -1,28 +1,14 @@
-锘縰sing HH.WCS.QingXigongchang.core;
-using HH.WCS.QingXigongchang.device;
+锘縰sing HH.WCS.QingXigongchang.device;
 using HH.WCS.QingXigongchang.dispatch;
 using HH.WCS.QingXigongchang.util;
 using HH.WCS.QingXigongchang.wms;
-using Microsoft.SqlServer.Server;
 using Newtonsoft.Json;
-using NLog.Time;
 using SqlSugar;
 using System;
-using System.Collections;
 using System.Collections.Generic;
 using System.Data;
-using System.Diagnostics.Eventing.Reader;
 using System.Linq;
-using System.Reflection;
-using System.Runtime.InteropServices;
-using System.Security.Cryptography;
 using System.Threading;
-using System.Threading.Tasks;
-using System.Timers;
-using System.Web.Http.Results;
-using System.Web.Security;
-using System.Web.UI.WebControls;
-using static HH.WCS.QingXigongchang.dispatch.NDC;
 using static HH.WCS.QingXigongchang.util.Settings;
 
 namespace HH.WCS.QingXigongchang.process
@@ -158,7 +144,6 @@
             }
 
         }
-
         private static void Analysis13(string data, deviceInfo plc)
         {
             //鐢ㄤ簬  鍑哄簱鏃�鏄惁鍙互鐩磋揪 鎻愬崌鏈恒�  00 鍚庨潰杩橀渶澧炲姞閫�枡宸ュ崟澶勭悊銆�
@@ -286,6 +271,7 @@
                         if (!string.IsNullOrEmpty(od.S_ROW))
                             list.Add(od.S_ROW);
                         ma = string.Join(",", list);
+
                         List<LocCntrRel> lcrl = new List<LocCntrRel>
                         {
                             new LocCntrRel
@@ -326,7 +312,7 @@
                     si = "0";
 
                 }
-                else if (data.Contains("11"))// && (ods.Find(x => x.SQL_PLineNo.Contains("绾哥")) != null || plc.deviceName.Contains("T1"))
+                if (data.Contains("11"))// && (ods.Find(x => x.SQL_PLineNo.Contains("绾哥")) != null || plc.deviceName.Contains("T1"))
                 {
                     //if (!ods.Any())
                     //    return;
@@ -334,16 +320,28 @@
                     if (_cl.N_CURRENT_NUM > 0 || _clrel.Any())
                     {
                         LogHelper.Info($" time锛歿_clrel0?.T_CREATE} = s_type锛歿_clrel0.S_TYPE}");
+                        //if (DateTime.Now.Subtract(_clrel0.T_CREATE).TotalSeconds < 10 || !string.IsNullOrEmpty(_clrel0.S_TYPE))
+                        //    goto ballll;
+                        //plg 2025骞�鏈�3鏃� 鍘婚櫎10绉掓椂闂撮檺鍒�                         if (_clrel.Any())
-                            if (DateTime.Now.Subtract(_clrel0.T_CREATE).TotalSeconds < 10 || !string.IsNullOrEmpty(_clrel0.S_TYPE))
-                                goto ballll;
-
-                        LocationHelper.DoAction(db =>
                         {
-                            db.Deleteable(_clrel).ExecuteCommand();
-                            _cl.N_CURRENT_NUM = 0;
-                            return db.Updateable(_cl).UpdateColumns(x => new { x.N_CURRENT_NUM }).ExecuteCommand() > 0;
-                        });
+                            if (od?.SQL_PLineNo == "T1鎻愬崌鏈�)
+                            {
+                                if (!string.IsNullOrEmpty(_clrel0.S_TYPE))
+                                    goto ballll;
+                            }
+                            else
+                            {
+                                if (DateTime.Now.Subtract(_clrel0.T_CREATE).TotalSeconds < 3 || !string.IsNullOrEmpty(_clrel0.S_TYPE))
+                                    goto ballll;
+                            }
+                        }
+                        LocationHelper.DoAction(db =>
+                            {
+                                db.Deleteable(_clrel).ExecuteCommand();
+                                _cl.N_CURRENT_NUM = 0;
+                                return db.Updateable(_cl).UpdateColumns(x => new { x.N_CURRENT_NUM }).ExecuteCommand() > 0;
+                            });
                     }
                     if (!plc.deviceName.Contains("T1"))
                         goto ballll;
@@ -378,8 +376,10 @@
                         if (sBit != null)
                         {
                             var sign = Settings.GetTimeStamp();
-                            var res = TaskProcess.CreateTransport(sign, sBit.S_LOC_CODE, _cl.S_LOC_CODE, "鍘熺墿鏂欐惉杩�绾哥", new List<string> { _clrel.FirstOrDefault().S_CNTR_CODE }, sBit.N_CURRENT_NUM, 1, 1, 50);///, EdnRarea == "YWLYLTKQ" ? _clrel0.S_TYPE : "");
+                            var res = TaskProcess.CreateTransport(sign, sBit.S_LOC_CODE, _cl.S_LOC_CODE, "鍘熺墿鏂欐惉杩�绾哥", new List<string> { _clrel.FirstOrDefault().S_CNTR_CODE }, sBit.N_CURRENT_NUM, 1, 1, 60);///, EdnRarea == "YWLYLTKQ" ? _clrel0.S_TYPE : "");
                             LogHelper.Info($"鍘熺墿鏂欐惉杩�涓婃彁鍗囨満銆�{sign} 浠诲姟 锛屽垱寤簕res} ");
+                            //var res = TaskProcess.CreateTransport(sign, sBit.S_LOC_CODE, _cl.S_LOC_CODE, "鍘熺墿鏂欐惉杩�绾哥", new List<string> { _clrel.FirstOrDefault().S_CNTR_CODE }, sBit.N_CURRENT_NUM, 1, 1, 50);///, EdnRarea == "YWLYLTKQ" ? _clrel0.S_TYPE : "");
+                            //LogHelper.Info($"鍘熺墿鏂欐惉杩�涓婃彁鍗囨満銆�{sign} 浠诲姟 锛屽垱寤簕res} ");
                         }
                     }
                 }
@@ -1733,9 +1733,42 @@
                鐘舵�2	閫佺┖瀹屾垚涔嬪悗涓虹姸鎬�
                鐘舵�3	婊℃墭鍙栬蛋锛岄�绌轰箣鍓嶄负鐘舵�3锛屽紑鏈洪粯璁ょ姸鎬佷篃涓虹姸鎬�
            */
+            //3F 00 12 22 0D 0A--鏃犱换鍔′俊鍙�+            //3F 00 11 22 0D 0A--A鍙e伐浣滀俊鍙�+            //3F 00 12 21 0D 0A--B鍙d俊鍙�+            //3F 00 11 21 0D 0A--A銆丅鍙e伐浣滀俊鍙�+
+            //A鍙e浣嶄俊鍙�- 3F 00 10 0D 0A
+            //B鍙e浣嶄俊鍙�- 3F 00 20 0D 0A
 
             if (data.Length == 4)
             {
+                //if (data == "1122")//A鍙e伐浣滀俊鍙�+                //{
+                //    if (BottlePEMInfoFullTwo(plc, plc.location[0]))
+                //    {
+
+                //    }
+                //}
+                //else if (data == "1221")//B鍙e伐浣滀俊鍙�+                //{
+                //    if (BottlePEMInfoFullTwo(plc, plc.location[1]))
+                //    {
+
+                //    }
+                //}
+                //else if (data == "1121")//B鍙e伐浣滀俊鍙�+                //{
+                //    if (BottlePEMInfoFullTwo(plc, plc.location[0]))
+                //    {
+
+                //    }
+                //    if (BottlePEMInfoFullTwo(plc, plc.location[1]))
+                //    {
+
+                //    }
+                //}
+
                 if (data.Substring(1, 1) == "1")
                 {
                     if (BottlePEMInfoFull(plc, plc.location[0]))
@@ -1962,6 +1995,26 @@
                         }
                     }
                 }
+            }
+        }
+        static bool BottlePEMInfoFullTwo(Settings.deviceInfo plc, string location)
+        {
+            try
+            {
+                if (location != "")
+                {
+                    var workOrder = WCSHelper.GetWorkOrder(plc.deviceName);
+                    if (workOrder == null)
+                    {
+                        LogHelper.Info(plc.deviceName + "娌℃湁銆愭墽琛屼腑銆戠殑宸ュ崟");
+                        return false;
+                    }
+                }
+                return false;
+            }
+            catch (Exception ex)
+            {
+                return false;
             }
         }
 
@@ -2720,7 +2773,6 @@
             //灏辨煡鐪嬫湁娌℃湁绌虹殑鎺掍簡銆�
             //if (endBit != null) ///  瀵绘壘鏈弧鎺掞紝 鐩存帴杩斿洖缁撴灉銆�
             return endBit;
-        //LogHelper.Info(" _tempList over锛�);
 
         //杩欓噷寮� 瀵绘壘绌烘帓
         Empty:
@@ -3491,26 +3543,27 @@
                                         }
                                     if (endBit == null && _tempList.Any())
                                     {
-                                        LogHelper.Info(" ar_RplaceRow over锛�);
-                                        var ar_RplaceRows = LocationHelper.GetLocList(x => x.S_AREA_CODE != area1 && x.S_AREA_CODE.Contains(are) && x.S_LOCK_STATE != "鎶ュ簾");//.Select(x => x.N_ROW).Distinct();
-                                                                                                                                                                            //var ar_RplaceRow1 = ar_RplaceRows.FindAll(x => x.S_LOCK_STATE != "鏃�).Select(x => x.N_ROW).Distinct();
-                                        IEnumerable<int> ar_RplaceRow1 = ar_RplaceRows.FindAll(x => "鍏ュ簱閿�鍑哄簱閿�.Contains(x.S_LOCK_STATE?.Trim())).Select(x => x.N_ROW).Distinct();
-                                        LogHelper.Info(" 鏈夐攣鎺�- " + JsonConvert.SerializeObject(ar_RplaceRow1));                                                                                        //LogHelper.Info(" 鏈夐攣鎺�- " + JsonConvert.SerializeObject(ar_RplaceRow1));
-                                        var ar_RplaceRow2 = ar_RplaceRows.FindAll(x => x.N_CURRENT_NUM > 0).Select(x => x.N_ROW).Distinct();
-                                        LogHelper.Info(" 鏈夎揣鎺掞細 - " + JsonConvert.SerializeObject(ar_RplaceRow2));
-                                        var ar_RplaceRow_rowlock = LocationHelper.GetRowLock(x => x.S_AREA_CODE.Contains(are))?.Select(x => x.N_ROW);
+                                        LogHelper.Info(" ar_RplaceRow over锛� + JsonConvert.SerializeObject(_tempList.Select(x => x.N_ROW).Distinct()));
+                                        //var ar_RplaceRows = LocationHelper.GetLocList(x => x.S_AREA_CODE != area1 && x.S_AREA_CODE.Contains(are) && x.S_LOCK_STATE != "鎶ュ簾");//.Select(x => x.N_ROW).Distinct();
+                                        //                                                                                                                                    //var ar_RplaceRow1 = ar_RplaceRows.FindAll(x => x.S_LOCK_STATE != "鏃�).Select(x => x.N_ROW).Distinct();
+                                        //IEnumerable<int> ar_RplaceRow1 = ar_RplaceRows.FindAll(x => "鍏ュ簱閿�鍑哄簱閿�.Contains(x.S_LOCK_STATE?.Trim())).Select(x => x.N_ROW).Distinct();
+                                        //LogHelper.Info(" 鏈夐攣鎺�- " + JsonConvert.SerializeObject(ar_RplaceRow1));                                                                                        //LogHelper.Info(" 鏈夐攣鎺�- " + JsonConvert.SerializeObject(ar_RplaceRow1));
+                                        //var ar_RplaceRow2 = ar_RplaceRows.FindAll(x => x.N_CURRENT_NUM > 0).Select(x => x.N_ROW).Distinct();
+                                        //LogHelper.Info(" 鏈夎揣鎺掞細 - " + JsonConvert.SerializeObject(ar_RplaceRow2));
+                                        //var ar_RplaceRow_rowlock = LocationHelper.GetRowLock(x => x.S_AREA_CODE.Contains(are))?.Select(x => x.N_ROW);
 
-                                        var ar_RplaceRow = ar_RplaceRow1.Concat(ar_RplaceRow2).Concat(ar_RplaceRow_rowlock).Distinct();
+                                        //var ar_RplaceRow = ar_RplaceRow1.Concat(ar_RplaceRow2).Concat(ar_RplaceRow_rowlock).Distinct();
 
-                                        if (ar_RplaceRow.Any())
-                                        {
-                                            LogHelper.Info("鎺掗櫎闈炵┖鎺�- " + JsonConvert.SerializeObject(ar_RplaceRow));
-                                            _tempList.RemoveAll(x => ar_RplaceRow.Contains(x.N_ROW));
-                                        }
-                                        if (_tempList.Any())//涓変釜搴撳尯鐨勪氦闆嗙┖鎺�-                                        {
-                                            endBit = _tempList.OrderBy(x => x.N_ROW).ThenBy(x => x.N_COL).FirstOrDefault();
-                                        }
+                                        //if (ar_RplaceRow.Any())
+                                        //{
+                                        //    LogHelper.Info("鎺掗櫎闈炵┖鎺�- " + JsonConvert.SerializeObject(ar_RplaceRow));
+                                        //    _tempList.RemoveAll(x => ar_RplaceRow.Contains(x.N_ROW));
+                                        //}
+                                        //if (_tempList.Any())//涓変釜搴撳尯鐨勪氦闆嗙┖鎺�+                                        //{
+                                        //    endBit = _tempList.OrderBy(x => x.N_ROW).ThenBy(x => x.N_COL).FirstOrDefault();
+                                        //}
+                                        endBit = _tempList.OrderBy(x => x.N_ROW).ThenBy(x => x.N_COL).FirstOrDefault();
                                     }
 
                                     #endregion

--
Gitblit v1.9.1