From 0d59b3fd8050b0f0766be47ed5527d96bd4bf2f7 Mon Sep 17 00:00:00 2001
From: yangle <admin@YINMOU>
Date: 星期一, 07 四月 2025 09:38:43 +0800
Subject: [PATCH] 斯莫尔插件优化

---
 WFormSynchronizeData_SMR/WFormReadData_SMR/ReadyDataForm.cs |  610 ++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 399 insertions(+), 211 deletions(-)

diff --git a/WFormSynchronizeData_SMR/WFormReadData_SMR/ReadyDataForm.cs b/WFormSynchronizeData_SMR/WFormReadData_SMR/ReadyDataForm.cs
index 16d2f9b..5b24226 100644
--- a/WFormSynchronizeData_SMR/WFormReadData_SMR/ReadyDataForm.cs
+++ b/WFormSynchronizeData_SMR/WFormReadData_SMR/ReadyDataForm.cs
@@ -1,4 +1,7 @@
-锘縰sing Newtonsoft.Json;
+锘縰sing HslCommunication;
+using HslCommunication.Profinet.Melsec;
+using Microsoft.VisualBasic.FileIO;
+using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
@@ -21,101 +24,33 @@
             InitializeComponent();
         }
          public static int num = 0;
-
+        public static int SelectTime = 0;
+        public static DateTime time = DateTime.Now.AddMinutes(-5);
+        public static decimal hqty = 2;
         //璇诲彇鏁版嵁
         private void btnReadData_Click(object sender, EventArgs e)
         {
-            if (num == 0) {
-                this.btnReadData.Text = "鏆傚仠";
-                this.timer1.Enabled = true;
-                num = 1;
-            }else if (num == 1)
+            if (this.HEmpCode.Text == "")
             {
-                this.btnReadData.Text = "鍚姩";
-                this.timer1.Enabled = false;
-                num = 0;
+
+                MessageBox.Show("璇疯緭鍏ュ憳宸ョ紪鐮�");
             }
-
-
-
-            //if (this.HEmpCode.Text == "")
-            //{
-
-            //    MessageBox.Show("璇疯緭鍏ュ憳宸ョ紪鐮�");
-            //}
-            //else
-            //{
-            //    int year = DateTime.Now.Year;
-            //    string month = DateTime.Now.Month.ToString();
-            //    string day = DateTime.Now.Day.ToString();
-
-            //    string dataTime = DateTime.Now.ToString("yyyyMMdd");
-            //    ////鍒ゆ柇鏄惁鏈夎繖涓枃浠�
-            //    //bool flag = File.Exists($@"D:\{year}\{month}\{day}\{dataTime}.txt");
-            //    bool flag = File.Exists($@"C:\Users\admin\Desktop\鏂板缓鏂囦欢澶� (2)\20231123.txt");
-
-            //    if (flag)
-            //    {
-            //        //StreamReader stream = new StreamReader($@"D:\{year}\{month}\{day}\{dataTime}.txt", Encoding.GetEncoding("gb2312"));
-            //        StreamReader stream = new StreamReader($@"C:\Users\admin\Desktop\鏂板缓鏂囦欢澶� (2)\20231123.txt", Encoding.GetEncoding("gb2312"));
-
-            //        string FileData = stream.ReadToEnd();
-            //        stream.Close();
-            //        FileData = FileData.Substring(0, FileData.Length - 1);
-            //        FileData = "[" + FileData + "]";
-            //        //JSON搴忓垪鍖栬浆鎹㈠瓧鍏搁泦鍚�
-            //        List<Dictionary<string, string>> list = new List<Dictionary<string, string>>();
-            //        List<object> DataList = JsonConvert.DeserializeObject<List<object>>(FileData);
-            //        foreach (JObject item in DataList)
-            //        {
-            //            Dictionary<string, string> dic = new Dictionary<string, string>();
-            //            foreach (var itm in item.Properties())
-            //            {
-            //                dic.Add(itm.Name, itm.Value.ToString());
-            //            }
-            //            list.Add(dic);
-            //        }
-            //        //鑾峰彇褰撳墠鏃堕棿
-            //        DateTime ActionTime = DateTime.Parse(DateTime.Now.AddMinutes(-1).ToString("yyyy-MM-dd  HH:mm:ss"));
-            //        DateTime EndTime = DateTime.Parse(DateTime.Now.AddMinutes(1).ToString("yyyy-MM-dd  HH:mm:00"));
-
-            //        Xt_Gy_RoutBill();
-
-            //        //寰幆闆嗗悎
-            //        for (int i = 0; i < list.Count; i++)
-            //        {
-            //            DateTime NowTime = DateTime.Parse(list[i]["HDate"].ToString());
-            //            if (NowTime >= ActionTime && NowTime < EndTime)
-            //            {
-            //                string HSourceCode = list[i]["HSouceNumber"].ToString();
-            //                string HEmpCode = this.HEmpCode.Text;
-            //                //string HEmpCode = "";
-            //                string HType = list[i]["HBadReason"].ToString();
-            //                string HBarCode = list[i]["HBadCodeSN"].ToString();
-            //                int HCount = 1;
-            //                string HCreateTime = list[i]["HDate"].ToString();
-            //                string HDate = DateTime.Parse(list[i]["HDate"].ToString()).ToString("yyyy-MM-dd");
-            //                string HResult = list[i]["HResult"].ToString();
-            //                string HProcNumber = list[i]["HProcNumber"].ToString();
-            //                int HFlag = 0;
-
-            //                DataSet ds = oCN.RunProcReturn(@"select * from Sb_EquipMentCollection_SN where HBarCode='" + HBarCode + "' and HCreateTime='" + HCreateTime + "'", "Sb_EquipMentCollection_SN");
-
-            //                if (ds.Tables[0].Rows.Count == 0)
-            //                {
-            //                    string sql = $@"insert into Sb_EquipMentCollection_SN(HSourceCode,HEmpCode,HType,HBarCode,HCount,HCreateTime,HDate,HResult,HProcNumber,HFlag)
-            //values('{HSourceCode}','{HEmpCode}','{HType}','{HBarCode}','{HCount}','{HCreateTime}','{HDate}','{HResult}','{HProcNumber}','{HFlag}')";
-            //                    oCN.RunProc(sql);
-            //                    ListSelect.Items.Add("鏉$爜:" + HBarCode + ",鏃ユ湡:" + HCreateTime + ",缁撴灉:" + HResult);
-            //                }
-            //            }
-            //            else
-            //            {
-            //                //CustomWriteLog("鏃堕棿涓嶅湪淇濆瓨鑼冨洿鍐�", DateTime.Now.ToString("yyyy-MM-dd"));
-            //            }
-            //        }
-            //    }
-            //}
+            else
+            {
+                if (num == 0)
+                {
+                    this.btnReadData.Text = "鏆傚仠";
+                    this.timer1.Enabled = true;
+                    num = 1;
+                    SelectTime = -4;
+                }
+                else if (num == 1)
+                {
+                    this.btnReadData.Text = "鍚姩";
+                    this.timer1.Enabled = false;
+                    num = 0;
+                }
+            }
         }
 
         //鍛樺伐缂栫爜鍥炶溅
@@ -174,79 +109,50 @@
             }
             else
             {
-                int year = DateTime.Now.Year;
-                string month = DateTime.Now.Month.ToString();
-                string day = DateTime.Now.Day.ToString();
+                Read_Txt();
 
-                string dataTime = DateTime.Now.ToString("yyyyMMdd");
-                ////鍒ゆ柇鏄惁鏈夎繖涓枃浠�
-                bool flag = File.Exists($@"D:\{year}\{month}\{day}\{dataTime}.txt");
-                //bool flag = File.Exists($@"C:\Users\admin\Desktop\鏂板缓鏂囦欢澶� (2)\20231123.txt");
+            }
+        }
 
-                if (flag)
+        public static List<string> listData = new List<string>();
+
+        //鏂囨湰璇诲彇鏁版嵁
+        public void Read_Txt() {
+
+            int year = DateTime.Now.Year;
+            string month = DateTime.Now.Month.ToString();
+            string day = DateTime.Now.Day.ToString();
+
+            string dataTime = DateTime.Now.ToString("yyyyMMdd");
+            ////鍒ゆ柇鏄惁鏈夎繖涓枃浠�
+            bool flag = File.Exists($@"D:\{year}\{month}\{day}\{dataTime}.txt");
+            //bool flag = File.Exists($@"C:\Users\admin\Desktop\鏂板缓鏂囦欢澶� (2)\20250403T鎷嶇収.txt");
+
+            if (flag)
+            {
+                StreamReader stream = new StreamReader($@"D:\{year}\{month}\{day}\{dataTime}.txt", Encoding.GetEncoding("gb2312"));
+                //StreamReader stream = new StreamReader($@"C:\Users\admin\Desktop\鏂板缓鏂囦欢澶� (2)\20250403T鎷嶇収.txt", Encoding.GetEncoding("gb2312"));
+
+                string FileData = stream.ReadToEnd();
+                stream.Close();
+
+                //鑾峰彇鏉$爜淇℃伅
+                Xt_ReadText(FileData);
+
+                bool flag2 = File.Exists($@"D:\{year}\{month}\{day}\{dataTime}gy.txt");
+                //bool flag2 = File.Exists($@"C:\Users\admin\Desktop\鏂板缓鏂囦欢澶� (2)\20231123gy.txt");
+
+                if (flag2)
                 {
-                    StreamReader stream = new StreamReader($@"D:\{year}\{month}\{day}\{dataTime}.txt", Encoding.GetEncoding("gb2312"));
-                    //StreamReader stream = new StreamReader($@"C:\Users\admin\Desktop\鏂板缓鏂囦欢澶� (2)\20231123.txt", Encoding.GetEncoding("gb2312"));
-
-                    string FileData = stream.ReadToEnd();
-                    stream.Close();
-                    FileData = FileData.Substring(0, FileData.Length - 1);
-                    FileData = "[" + FileData + "]";
-                    //JSON搴忓垪鍖栬浆鎹㈠瓧鍏搁泦鍚�
-                    List<Dictionary<string, string>> list = new List<Dictionary<string, string>>();
-                    List<object> DataList = JsonConvert.DeserializeObject<List<object>>(FileData);
-                    foreach (JObject item in DataList)
-                    {
-                        Dictionary<string, string> dic = new Dictionary<string, string>();
-                        foreach (var itm in item.Properties())
-                        {
-                            dic.Add(itm.Name, itm.Value.ToString());
-                        }
-                        list.Add(dic);
-                    }
-                    //鑾峰彇褰撳墠鏃堕棿
-                    DateTime ActionTime = DateTime.Parse(DateTime.Now.AddMinutes(-1).ToString("yyyy-MM-dd  HH:mm:ss"));
-                    DateTime EndTime = DateTime.Parse(DateTime.Now.AddMinutes(1).ToString("yyyy-MM-dd  HH:mm:00"));
-
+                    stream = new StreamReader($@"D:\{year}\{month}\{day}\{dataTime}gy.txt", Encoding.GetEncoding("gb2312"));
+                    //stream = new StreamReader($@"C:\Users\admin\Desktop\鏂板缓鏂囦欢澶� (2)\20231123gy.txt", Encoding.GetEncoding("gb2312"));
+                    FileData = stream.ReadToEnd();
                     //鑾峰彇绯荤粺鍙傛暟
-                    Xt_Gy_RoutBill();
-
-                    //寰幆闆嗗悎
-                    for (int i = 0; i < list.Count; i++)
-                    {
-                        DateTime NowTime = DateTime.Parse(list[i]["HDate"].ToString());
-                        if (NowTime >= ActionTime && NowTime < EndTime)
-                        {
-                            string HSourceCode = list[i]["HSouceNumber"].ToString();
-                            string HEmpCode = this.HEmpCode.Text;
-                            //string HEmpCode = "";
-                            string HType = list[i]["HBadReason"].ToString();
-                            string HBarCode = list[i]["HBadCodeSN"].ToString();
-                            int HCount = 1;
-                            string HCreateTime = list[i]["HDate"].ToString();
-                            string HDate = DateTime.Parse(list[i]["HDate"].ToString()).ToString("yyyy-MM-dd");
-                            string HResult = list[i]["HResult"].ToString();
-                            string HProcNumber = list[i]["HProcNumber"].ToString();
-                            int HFlag = 0;
-
-                            DataSet ds = oCN.RunProcReturn(@"select * from Sb_EquipMentCollection_SN where HBarCode='" + HBarCode + "' and HCreateTime='" + HCreateTime + "'", "Sb_EquipMentCollection_SN");
-
-                            if (ds.Tables[0].Rows.Count == 0)
-                            {
-                                string sql = $@"insert into Sb_EquipMentCollection_SN(HSourceCode,HEmpCode,HType,HBarCode,HCount,HCreateTime,HDate,HResult,HProcNumber,HFlag)
-values('{HSourceCode}','{HEmpCode}','{HType}','{HBarCode}','{HCount}','{HCreateTime}','{HDate}','{HResult}','{HProcNumber}','{HFlag}')";
-                                oCN.RunProc(sql);
-                                ListSelect.Items.Add("鏉$爜:" + HBarCode + ",鏃ユ湡:" + HCreateTime + ",缁撴灉:" + HResult);
-                            }
-                        }
-                        else
-                        {
-                            //CustomWriteLog("鏃堕棿涓嶅湪淇濆瓨鑼冨洿鍐�", DateTime.Now.ToString("yyyy-MM-dd"));
-                        }
-                    }
+                    Xt_Gy_RoutBill(FileData);
                 }
             }
         }
+
 
         //鐢熶骇璧勬簮鍥炶溅
         private void HSouce_KeyDown(object sender, KeyEventArgs e)
@@ -282,75 +188,357 @@
             }
         }
 
-        //璇诲彇绯荤粺鍙傛暟
-        public void Xt_Gy_RoutBill() {
-            int year = DateTime.Now.Year;
-            string month = DateTime.Now.Month.ToString();
-            string day = DateTime.Now.Day.ToString();
+        public static string AllBeginWork = "-1";
+        public static string AllProcessExchange = "-1";
+        public static string AllProcessExchangeHProcExchBillNo = "";
+        public static string AllProcessExchangeHProcExchInterID = "";
 
-            string dataTime = DateTime.Now.ToString("yyyyMMdd");
-            ////鍒ゆ柇鏄惁鏈夎繖涓枃浠�
-            bool flag = File.Exists($@"D:\{year}\{month}\{day}\{dataTime}.txt");
-            //bool flag = File.Exists($@"C:\Users\admin\Desktop\鏂板缓鏂囦欢澶� (2)\20231123.txt");
-
-            if (flag)
+        public void Xt_ReadText(string FileData)
+        {
+            FileData = FileData.Substring(0, FileData.Length - 1);
+            FileData = "[" + FileData + "]";
+            //JSON搴忓垪鍖栬浆鎹㈠瓧鍏搁泦鍚�
+            List<Dictionary<string, string>> list = new List<Dictionary<string, string>>();
+            List<object> DataList = JsonConvert.DeserializeObject<List<object>>(FileData);
+            foreach (JObject item in DataList)
             {
-                StreamReader stream = new StreamReader($@"D:\{year}\{month}\{day}\{dataTime}.txt", Encoding.GetEncoding("gb2312"));
-                //StreamReader stream = new StreamReader($@"C:\Users\admin\Desktop\鏂板缓鏂囦欢澶� (2)\20231123.txt", Encoding.GetEncoding("gb2312"));
-
-                string FileData = stream.ReadToEnd();
-                stream.Close();
-                FileData = FileData.Substring(0, FileData.Length - 1);
-                FileData = "[" + FileData + "]";
-                //JSON搴忓垪鍖栬浆鎹㈠瓧鍏搁泦鍚�
-                List<Dictionary<string, string>> list = new List<Dictionary<string, string>>();
-                List<object> DataList = JsonConvert.DeserializeObject<List<object>>(FileData);
-                foreach (JObject item in DataList)
+                Dictionary<string, string> dic = new Dictionary<string, string>();
+                foreach (var itm in item.Properties())
                 {
-                    Dictionary<string, string> dic = new Dictionary<string, string>();
-                    foreach (var itm in item.Properties())
-                    {
-                        dic.Add(itm.Name, itm.Value.ToString());
-                    }
-                    list.Add(dic);
+                    dic.Add(itm.Name, itm.Value.ToString());
                 }
-                //鑾峰彇褰撳墠鏃堕棿
-                DateTime ActionTime = DateTime.Parse(DateTime.Now.AddMinutes(-1).ToString("yyyy-MM-dd  HH:mm:ss"));
-                DateTime EndTime = DateTime.Parse(DateTime.Now.AddMinutes(1).ToString("yyyy-MM-dd  HH:mm:00"));
-                //寰幆闆嗗悎
-                for (int i = 0; i < list.Count; i++)
+                list.Add(dic);
+            }
+            //鑾峰彇褰撳墠鏃堕棿
+            DateTime ActionTime = DateTime.Parse(DateTime.Now.AddMinutes(SelectTime).ToString("yyyy-MM-dd  HH:mm:ss"));
+            DateTime EndTime = DateTime.Parse(DateTime.Now.AddMinutes(1).ToString("yyyy-MM-dd  HH:mm:00"));
+            bool flag_1 = false;
+            bool flag_2 = false;
+            //寰幆闆嗗悎
+            for (int i = 0; i < list.Count; i++)
+            {
+                string HBarCode = list[i]["HBadCodeSN"].ToString();
+                DateTime NowTime = DateTime.Parse(list[i]["HDate"].ToString());
+                if (NowTime >= ActionTime && NowTime < EndTime && list[i]["HBadCodeSN"].ToString() != "" && listData.Contains(HBarCode)==false)
                 {
-                    DateTime NowTime = DateTime.Parse(list[i]["HDate"].ToString());
-                    if (NowTime >= ActionTime && NowTime < EndTime)
+                    string HSourceCode = list[i]["HSouceNumber"].ToString();
+                    string HEmpCode = this.HEmpCode.Text;
+                    //string HEmpCode = "";
+                    string HType = list[i]["HBadReason"].ToString();
+                    int HCount = 1;
+                    string HCreateTime = list[i]["HDate"].ToString();
+                    string HDate = DateTime.Parse(list[i]["HDate"].ToString()).ToString("yyyy-MM-dd");
+                    string HResult = list[i]["HResult"].ToString();
+                    string HProcNumber = list[i]["HProcNumber"].ToString();
+                    int HFlag = 0;
+
+                    //DataSet ds = oCN.RunProcReturn(@"select * from Sb_EquipMentCollection_SN where HBarCode='" + HBarCode + "' and HCreateTime='" + HCreateTime + "'", "Sb_EquipMentCollection_SN");
+
+                    if (true)
                     {
-                        string HSourceCode = list[i]["HSouceNumber"].ToString();
-                        string HEmpCode = this.HEmpCode.Text;
-                        //string HEmpCode = "";
-                        string HType = list[i]["HBadReason"].ToString();
-                        string HBarCode = list[i]["HBadCodeSN"].ToString();
-                        int HCount = 1;
-                        string HCreateTime = list[i]["HDate"].ToString();
-                        string HDate = DateTime.Parse(list[i]["HDate"].ToString()).ToString("yyyy-MM-dd");
-                        string HResult = list[i]["HResult"].ToString();
-                        string HProcNumber = list[i]["HProcNumber"].ToString();
-                        int HFlag = 0;
+                        DataSet dataSet;
+                       
+                        string HProjectNum = HBarCode.Substring(18, 8);
+                        if (HBarCode.Contains(AllProcessExchange)==false) {
 
-                        DataSet ds = oCN.RunProcReturn(@"select * from Sb_EquipMentCollectionTechParam_SN where HBarCode='" + HBarCode + "' and HCreateTime='" + HCreateTime + "'", "Sb_EquipMentCollectionTechParam_SN");
-
-                        if (ds.Tables[0].Rows.Count == 0)
+                            dataSet = oCN.RunProcReturn("select HInterID,HBillNo from Sc_ProcessExchangeBillMain where HProjectNum='" + HProjectNum + "-1'", "Sc_ProcessExchangeBillMain");
+                            if (dataSet.Tables[0].Rows.Count > 0) {
+                                AllProcessExchangeHProcExchBillNo = dataSet.Tables[0].Rows[0]["HBillNo"].ToString();
+                                AllProcessExchangeHProcExchInterID = dataSet.Tables[0].Rows[0]["HInterID"].ToString();
+                                AllProcessExchange = HProjectNum;
+                            }
+                        }
+                      
+                        if (AllProcessExchange == HProjectNum)
                         {
-                            string sql = $@"insert into Sb_EquipMentCollectionTechParam_SN(HSourceCode,HEmpCode,HType,HBarCode,HCount,HCreateTime,HDate,HResult,HProcNumber,HFlag)
+                            if (HBarCode.Contains(AllBeginWork) == false) {
+                                dataSet = oCN.RunProcReturn("select  * from Sc_ICMOBillStatus_Tmp where HSourceBillNo='" + AllProcessExchangeHProcExchBillNo + "' and HICMOStatus<>'0'", "Sc_ICMOBillStatus_Tmp");
+
+                                if (dataSet.Tables[0].Rows.Count > 0)
+                                {
+                                    AllBeginWork = HProjectNum;
+                                }
+                            }
+
+                            if (AllBeginWork == HProjectNum)
+                            {
+                                if (Get_AllowLoadData(HBarCode, HProcNumber, flag_1, AllProcessExchangeHProcExchBillNo, AllProcessExchangeHProcExchInterID, out flag_2))
+                                {
+                                    string sql = $@"insert into Sb_EquipMentCollection_SN(HSourceCode,HEmpCode,HType,HBarCode,HCount,HCreateTime,HDate,HResult,HProcNumber,HFlag)
 values('{HSourceCode}','{HEmpCode}','{HType}','{HBarCode}','{HCount}','{HCreateTime}','{HDate}','{HResult}','{HProcNumber}','{HFlag}')";
-                            oCN.RunProc(sql);
-                            //ListSelect.Items.Add("鏉$爜:" + HBarCode + ",鏃ユ湡:" + HCreateTime + ",缁撴灉:" + HResult);
+                                    oCN.RunProc(sql);
+                                    ListSelect.Items.Add("鏉$爜:" + HBarCode + ",褰撳墠鏃ユ湡;"+DateTime.Now.ToString()+",鏃ユ湡:" + HCreateTime + ",缁撴灉:" + HResult);
+                                    listData.Add(HBarCode);
+                                }
+                                else
+                                {
+                                    flag_1 = flag_2;
+                                }
+                            }
+                            else
+                            {
+                                if (!flag_1 && (DateTime.Now - time).Minutes > hqty)
+                                {
+                                    time = DateTime.Now;
+                                    MessageBox.Show(new Form { TopMost = true }, "鏉$爜:" + HBarCode + ",瀵瑰簲鐨勬祦杞崱:" + AllProcessExchangeHProcExchBillNo + ",娴佽浆鍗℃湭寮�宸�!");
+                                }
+                                DBHelper.CustomWriteLog("鏉$爜:" + HBarCode + ",瀵瑰簲鐨勬祦杞崱:" + AllProcessExchangeHProcExchBillNo + ",娴佽浆鍗℃湭寮�宸�!", DateTime.Now.ToString("yyyy-MM-dd"));
+                                flag_1 = true;
+                            }
+                        }
+                        else
+                        {
+                            if (!flag_1 && (DateTime.Now - time).Minutes > hqty)
+                            {
+                                time = DateTime.Now;
+                                MessageBox.Show(new Form { TopMost = true }, "鏉$爜:" + HBarCode + ",娴佽浆鍗′笉瀛樺湪!");
+                            }
+                            DBHelper.CustomWriteLog("鏉$爜:" + HBarCode + ",娴佽浆鍗′笉瀛樺湪!", DateTime.Now.ToString("yyyy-MM-dd"));
+                            flag_1 = true;
                         }
                     }
-                    else
+                }
+                else
+                {
+                    //CustomWriteLog("鏃堕棿涓嶅湪淇濆瓨鑼冨洿鍐�", DateTime.Now.ToString("yyyy-MM-dd"));
+                }
+            }
+        }
+
+        //璇诲彇绯荤粺鍙傛暟
+        public void Xt_Gy_RoutBill(string FileData)
+        {
+            FileData = FileData.Substring(0, FileData.Length - 1);
+            FileData = "[" + FileData + "]";
+            //JSON搴忓垪鍖栬浆鎹㈠瓧鍏搁泦鍚�
+            List<Dictionary<string, string>> list = new List<Dictionary<string, string>>();
+            List<object> DataList = JsonConvert.DeserializeObject<List<object>>(FileData);
+            foreach (JObject item in DataList)
+            {
+                Dictionary<string, string> dic = new Dictionary<string, string>();
+                foreach (var itm in item.Properties())
+                {
+                    dic.Add(itm.Name, itm.Value.ToString());
+                }
+                list.Add(dic);
+            }
+            //鑾峰彇褰撳墠鏃堕棿
+            DateTime ActionTime = DateTime.Parse(DateTime.Now.AddMinutes(-1).ToString("yyyy-MM-dd  HH:mm:ss"));
+            DateTime EndTime = DateTime.Parse(DateTime.Now.AddMinutes(1).ToString("yyyy-MM-dd  HH:mm:00"));
+            //寰幆闆嗗悎
+            for (int i = 0; i < list.Count; i++)
+            {
+                DateTime NowTime = DateTime.Parse(list[i]["HDate"].ToString());
+                if (NowTime >= ActionTime && NowTime < EndTime)
+                {
+                    string HSourceCode = list[i]["HSouceNumber"].ToString();
+                    string HEmpCode = this.HEmpCode.Text;
+                    //string HEmpCode = "";
+                    string HType = list[i]["HType"].ToString();
+                    string HBarCode = list[i]["HBadCodeSN"].ToString();
+                    double HCount = double.Parse(list[i]["HCount"].ToString());
+                    string HCreateTime = list[i]["HDate"].ToString();
+                    string HDate = DateTime.Parse(list[i]["HDate"].ToString()).ToString("yyyy-MM-dd");
+                    string HResult = list[i]["HResult"].ToString();
+                    string HProcNumber = list[i]["HProcNumber"].ToString();
+                    int HFlag = 0;
+
+                    DataSet ds = oCN.RunProcReturn(@"select * from Sb_EquipMentCollectionTechParam_SN where HBarCode='" + HBarCode + "' and HCreateTime='" + HCreateTime + "'", "Sb_EquipMentCollectionTechParam_SN");
+
+                    if (ds.Tables[0].Rows.Count == 0)
                     {
-                        //CustomWriteLog("鏃堕棿涓嶅湪淇濆瓨鑼冨洿鍐�", DateTime.Now.ToString("yyyy-MM-dd"));
+                        string sql = $@"insert into Sb_EquipMentCollectionTechParam_SN(HSourceCode,HEmpCode,HType,HBarCode,HCount,HCreateTime,HDate,HResult,HProcNumber,HFlag)
+values('{HSourceCode}','{HEmpCode}','{HType}','{HBarCode}','{HCount}','{HCreateTime}','{HDate}','{HResult}','{HProcNumber}','{HFlag}')";
+                        oCN.RunProc(sql);
+                        //ListSelect.Items.Add("鏉$爜:" + HBarCode + ",鏃ユ湡:" + HCreateTime + ",缁撴灉:" + HResult);
+                    }
+                }
+                else
+                {
+                    //CustomWriteLog("鏃堕棿涓嶅湪淇濆瓨鑼冨洿鍐�", DateTime.Now.ToString("yyyy-MM-dd"));
+                }
+            }
+
+        }
+
+        public static string AllSNBarcodeProcCtrl = "";
+        public static string AllHProcID = "0";
+        public static string AllHProName = "";
+        public static double AllHQty = 0;
+      
+        //鏍规嵁鏉$爜 鍒ゆ柇鏄惁淇濆瓨
+        public bool Get_AllowLoadData(string HBarCode, string HProcNumber, bool flag_1,string HProcExchBillNo,string HProcExchInterID, out bool flag_2)
+        {
+            if (HBarCode.Length != 29 && HBarCode.Length != 50)
+            {
+                flag_2 = false;
+                return false;
+            }
+
+            //鍒ゆ柇闀垮害鏄惁涓�29浣� 鏃犲皹杞﹂棿
+            if (HBarCode.Length == 29)
+            {
+               
+            }
+            //鍒ゆ柇闀垮害鏄惁涓�50浣�  15杞﹂棿
+            else if (HBarCode.Length == 50)
+            {
+                string str1 = HBarCode.Substring(42, 8);
+                DataSet ds = oCN.RunProcReturn("select  HBillNo from Sc_ProcessExchangeBillMain where HProjectNum like'" + str1 + "-1%'", "Sc_ProcessExchangeBillMain");
+                //鍒ゆ柇鏄惁鑳芥壘鍒板搴旂殑娴佽浆鍗�
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    HProcExchBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
+                }
+                else
+                {
+                    if (!flag_1 && (DateTime.Now - time).Minutes > hqty)
+                    {
+                        time = DateTime.Now;
+                        MessageBox.Show("鏉$爜:" + HBarCode + ",娴佽浆鍗′笉瀛樺湪!");
+                    }
+                    DBHelper.CustomWriteLog("鏉$爜:" + HBarCode + ",娴佽浆鍗′笉瀛樺湪!", DateTime.Now.ToString("yyyy-MM-dd"));
+
+                    flag_2 = true;
+                    return false;
+                }
+            }
+            DataSet ds1;
+            
+            if ((HProcExchBillNo + HProcNumber) != AllSNBarcodeProcCtrl) {
+                
+                //鏌ヨ宸ュ簭
+                ds1 = oCN.RunProcReturn(@"SELECT  HItemID,HName FROM Gy_Process WHERE HNumber='" + HProcNumber + "'", "Gy_Process");
+                if (ds1.Tables[0].Rows.Count > 0)
+                {
+                    AllHProcID = ds1.Tables[0].Rows[0]["HItemID"].ToString();
+                    AllHProName = ds1.Tables[0].Rows[0]["HName"].ToString();
+                }
+
+                //鏌ヨ娴佽浆鍗℃暟閲�
+                ds1 = oCN.RunProcReturn(@"SELECT  HQty FROM Sc_ProcessExchangeBillSub  where HInterID=" + HProcExchInterID + " and HProcID=" + AllHProcID, "Sc_ProcessExchangeBillSub");
+                if (ds1.Tables[0].Rows.Count > 0)
+                {
+                    AllHQty = double.Parse(ds1.Tables[0].Rows[0]["HQty"].ToString());
+                }
+
+                AllSNBarcodeProcCtrl = HProcExchBillNo + HProcNumber;
+            }
+
+
+            if ((HProcExchBillNo + HProcNumber) == AllSNBarcodeProcCtrl)
+            {
+                //杩囩珯鎺у埗
+                ds1 = oCN.RunProcReturn("exec h_p_Sc_SNBarcodeProcCtrl_S '" + HBarCode + "'," + AllHProcID, "h_p_Sc_SNBarcodeProcCtrl_S");
+
+                if (ds1.Tables[0].Rows.Count == 0)
+                {
+                    if (!flag_1 && (DateTime.Now - time).Minutes > hqty)
+                    {
+                        time = DateTime.Now;
+                        MessageBox.Show("鏉$爜:" + HBarCode + "宸ュ簭:" + AllHProName + ",宸ュ簭鎺у埗鏌ユ棤鏁版嵁!");
+                    }
+                    DBHelper.CustomWriteLog("鏉$爜:" + HBarCode + "宸ュ簭:" + AllHProName + ",宸ュ簭鎺у埗鏌ユ棤鏁版嵁!", DateTime.Now.ToString("yyyy-MM-dd"));
+
+                    flag_2 = true;
+                    return false;
+                }
+                else if (ds1.Tables[0].Rows[0]["HBack"].ToString() == "2")
+                {
+                    if (!flag_1 && (DateTime.Now - time).Minutes > hqty)
+                    {
+                        time = DateTime.Now;
+                        MessageBox.Show("鏉$爜:" + HBarCode + "宸ュ簭:" + AllHProcID + "," + ds1.Tables[0].Rows[0]["HBackRemark"].ToString() + "!");
+                    }
+                    DBHelper.CustomWriteLog("鏉$爜:" + HBarCode + "宸ュ簭:" + AllHProcID + "," + ds1.Tables[0].Rows[0]["HBackRemark"].ToString() + "!", DateTime.Now.ToString("yyyy-MM-dd"));
+
+                    flag_2 = true;
+                    return false;
+                }
+            }
+
+                //鏌ヨ鍑虹珯鏁伴噺鏄惁瓒呰繃娴佽浆鍗℃暟閲�
+                ds1 = oCN.RunProcReturn($@"select ({AllHQty}-sum(isnull(ou.HQty,0))-sum(isnull(ou.HBadCount,0))) HQty from Sc_StationOutBillMain ou WITH(NOLOCK)
+where ou.HProcExchInterID={HProcExchInterID} and ou.HProcID={AllHProcID}
+group by  ou.HProcExchInterID,ou.HProcExchEntryID,ou.HQty", "Sc_StationOutBillMain");
+            double hqtyOut = AllHQty;
+
+            if (ds1.Tables[0].Rows.Count > 0) {
+                hqtyOut = double.Parse(ds1.Tables[0].Rows[0][0].ToString());
+            }
+
+            if (hqtyOut <= 0)
+            {
+                if (!flag_1 && (DateTime.Now - time).Minutes > hqty)
+                {
+                    time = DateTime.Now;
+                    MessageBox.Show("娴佽浆鍗�:" + HProcExchBillNo + ",鍑虹珯鏁伴噺瓒呰繃娴佽浆鍗℃暟閲�!");
+                }
+                DBHelper.CustomWriteLog("娴佽浆鍗�:" + HProcExchBillNo + ",鍑虹珯鏁伴噺瓒呰繃娴佽浆鍗℃暟閲�!", DateTime.Now.ToString("yyyy-MM-dd"));
+                flag_2 = true;
+                return false;
+            }
+
+            //鎷嶇収宸ュ簭闄ゅ
+            if (HProcNumber != "013")
+            {
+                //澧炲姞浜х嚎缁勮杩芥函鍗�
+                DataSet dataSet = oCN.RunProcReturn("exec h_p_Gy_BarCodeBillBomList '" + HProcExchBillNo + "'," + AllHProcID, "h_p_Gy_BarCodeBillBomList");
+                if (dataSet.Tables[0].Rows.Count > 0)
+                {
+                    //鍒ら厤浠舵暟閲忔槸鍚︾瓑浜�0
+                    for (int i = 0; i < dataSet.Tables[0].Rows.Count; i++)
+                    {
+                        double SYHQty = double.Parse(dataSet.Tables[0].Rows[i]["閰嶄欢鏁伴噺"].ToString());
+                        string HMaterNamePJ = dataSet.Tables[0].Rows[i]["閰嶄欢浠g爜"].ToString();
+                        string HMaterBarCode = dataSet.Tables[0].Rows[i]["HBarCode"].ToString();
+                        if (SYHQty == 0)
+                        {
+                            if (!flag_1 && (DateTime.Now - time).Minutes > hqty)
+                            {
+                                time = DateTime.Now;
+                                MessageBox.Show("娴佽浆鍗�:" + HProcExchBillNo + ",閰嶄欢鏉$爜:" + HMaterBarCode + ",閰嶄欢浠g爜:" + HMaterNamePJ + ",鏁伴噺涓�0!");
+                            }
+                            DBHelper.CustomWriteLog("娴佽浆鍗�:" + HProcExchBillNo + ",閰嶄欢鏉$爜:" + HMaterBarCode + ",閰嶄欢浠g爜:" + HMaterNamePJ + ",鏁伴噺涓�0!", DateTime.Now.ToString("yyyy-MM-dd"));
+                            flag_2 = true;
+                            return false;
+                        }
                     }
                 }
             }
+
+            flag_2 = false;
+            return true;
+        }
+
+        private void ReadyDataForm_FormClosing(object sender, FormClosingEventArgs e)
+        {
+            if (num == 1) {
+                MessageBox.Show("褰撳墠鎸夐挳鏈殏鍋�,涓嶅厑璁稿叧闂�!");
+                e.Cancel = true;
+            }
+            else if (MessageBox.Show("纭畾瑕佸叧闂悧锛�", "纭", MessageBoxButtons.YesNo) == DialogResult.No)
+            {
+                e.Cancel = true;
+            }
+        }
+
+        private void btnSelectAll_Click(object sender, EventArgs e)
+        {
+            if (num == 0)
+            {
+                if (MessageBox.Show("鏄惁鍚敤妫�绱㈣ˉ婕忥紵", "纭", MessageBoxButtons.YesNo) == DialogResult.Yes)
+                {
+                    SelectTime = -90;
+                    Read_Txt();
+                }
+            }
+            else if (num == 1)
+            {
+                MessageBox.Show("璇峰厛鐐瑰嚮鏆傚仠鎸夐挳!");
+            }
+
+           
         }
     }
 }

--
Gitblit v1.9.1