From 0a3000811b5d67ca94339af621e1f2ca176763a8 Mon Sep 17 00:00:00 2001
From: zrg <z1873@LAPTOP-EAVL132E>
Date: 星期三, 12 十一月 2025 11:31:39 +0800
Subject: [PATCH] 修改斯莫尔接口采集账户密码

---
 WFormSynchronizeData_SMR/WFormReadData_SMR/ReadCSV.cs |  430 ++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 375 insertions(+), 55 deletions(-)

diff --git a/WFormSynchronizeData_SMR/WFormReadData_SMR/ReadCSV.cs b/WFormSynchronizeData_SMR/WFormReadData_SMR/ReadCSV.cs
index 19b73e0..6928c52 100644
--- a/WFormSynchronizeData_SMR/WFormReadData_SMR/ReadCSV.cs
+++ b/WFormSynchronizeData_SMR/WFormReadData_SMR/ReadCSV.cs
@@ -6,6 +6,7 @@
 using System.Drawing;
 using System.IO;
 using System.Linq;
+using System.Runtime.InteropServices;
 using System.Text;
 using System.Threading.Tasks;
 using System.Windows.Forms;
@@ -21,8 +22,7 @@
             InitializeComponent();
         }
         public static int num = 0;
-
-
+        public static DateTime time = DateTime.Now.AddMinutes(-5);
 
         //鏇存崲鏉″舰鐮�
         private void btnGH_Click(object sender, EventArgs e)
@@ -31,22 +31,32 @@
             this.txtHBath.Text = "";
             this.txtHBardCode.ReadOnly = false;
         }
+        //缁勮宸ュ簭CSV 杩囩珯璇诲彇 鑰佺殑
 
         //鏌ヨ鏉″舰鐮�
         public void SelectHBardCode(string HBillNo)
         {
             try
             {
-                DataSet ds = oCN.RunProcReturn("select  * from Sc_ProcessExchangeBillMain where HBillNo='" + HBillNo + "' ", "Sc_ProcessExchangeBillMain");
+                DataSet ds = oCN.RunProcReturn("select  HProjectNum from Sc_ProcessExchangeBillMain  WITH(NOLOCK) where HBillNo='" + HBillNo + "' ", "Sc_ProcessExchangeBillMain");
                 if (ds.Tables[0].Rows.Count == 0)
                 {
                     MessageBox.Show("鏌ユ棤鏁版嵁!");
                 }
                 else
                 {
-                    string HProjectNum = ds.Tables[0].Rows[0]["HProjectNum"].ToString();
-                    this.txtHBath.Text = HProjectNum.Split('-')[0];
-                    this.txtHBardCode.ReadOnly = true;
+                    DataSet dataSet = oCN.RunProcReturn("select HICMOStatus  HICMOStatus from Sc_ICMOBillStatus_Tmp  WITH(NOLOCK) where HSourceBillNo='" + HBillNo + "' and HICMOStatus<>'0'", "Sc_ICMOBillStatus_Tmp");
+                    if (dataSet.Tables[0].Rows.Count > 0)
+                    {
+                        string HProjectNum = ds.Tables[0].Rows[0]["HProjectNum"].ToString();
+                        this.txtHBath.Text = HProjectNum.Split('-')[0];
+                        this.txtHBardCode.ReadOnly = true;
+                        list.Clear();
+                    }
+                    else
+                    {
+                        MessageBox.Show(HBillNo + ",娴佽浆鍗℃湭寮�宸�!");
+                    }
                 }
             }
             catch (Exception e)
@@ -77,7 +87,7 @@
         {
             try
             {
-                DataSet ds = oCN.RunProcReturn("select  * from Gy_Employee where HNumber='" + HNumber + "' ", "Gy_Employee");
+                DataSet ds = oCN.RunProcReturn("select  HName,HNumber from Gy_Employee  WITH(NOLOCK) where HNumber='" + HNumber + "' ", "Gy_Employee");
                 if (ds.Tables[0].Rows.Count == 0)
                 {
                     MessageBox.Show("鏌ユ棤鏁版嵁!");
@@ -115,12 +125,13 @@
         private void btnReadData_Click(object sender, EventArgs e)
         {
 
-            if (this.HEmpCode.Text == "" || this.txtHBath.Text == ""|| this.HSouceName.Text == "")
+            if (this.HEmpCode.Text == "" || this.txtHBath.Text == "" || this.HSouceName.Text == "")
             {
 
                 MessageBox.Show("璇疯緭鍏ョ敓浜ц祫婧�,鍛樺伐缂栫爜,鑰呮潯褰㈢爜!");
             }
-            else {
+            else
+            {
                 if (num == 0)
                 {
                     this.btnReadData.Text = "鏆傚仠";
@@ -128,6 +139,7 @@
                     this.btnGH.Enabled = false;
                     this.btnSelect.Enabled = false;
                     num = 1;
+                    //ReadCsv();
                 }
                 else if (num == 1)
                 {
@@ -142,7 +154,7 @@
 
         private void timer1_Tick(object sender, EventArgs e)
         {
-            if (this.HEmpCode.Text == ""|| this.txtHBath.Text == "")
+            if (this.HEmpCode.Text == "" || this.txtHBath.Text == "")
             {
                 MessageBox.Show("璇疯緭鍏ュ憳宸ョ紪鐮佹垨鑰呮祦杞崱!");
             }
@@ -151,6 +163,7 @@
                 ReadCsv();
             }
         }
+        public static List<string> list = new List<string>();
 
         //璇诲彇csv鏍煎紡鏂囦欢
         private void ReadCsv()
@@ -158,25 +171,43 @@
             string Date = DateTime.Now.ToString("yyMMdd");
             string HBath = this.txtHBath.Text;
 
+            string Year = DateTime.Now.Year.ToString();
+            Year = Year.Substring(Year.Length - 2, 2);
+            string Month = DateTime.Now.Month.ToString();
+            Month = Month.Length > 1 ? Month : "0" + Month;
+            string Day = DateTime.Now.Day.ToString();
+            Day = Day.Length > 1 ? Day : "0" + Day;
+
             //娉�:鏂帿灏旂粍瑁�3 鍦‥鐩�  _332009
             //鍏朵綑鍦―鐩� _C332001_2M
-            //string csv_file_path = $@"C:\Users\admin\Desktop\鏂板缓鏂囦欢澶� (2)\20231123.csv";
-            //string csv_file_path = $@"D:\THLCR_Data\{HBath}\{HBath}_{Date}_C332001_2M.csv"; //缁勮1 缁勮2璺緞 
-            string csv_file_path = $@"E:\THLCR_Data\{HBath}\{HBath}_{Date}_332009.csv";  //缁勮3璺緞
+            //string csv_file_path = $@"C:\Users\admin\Desktop\鏂板缓鏂囦欢澶� (2)\250933P9_250403_C332001_2M.csv";
+            string csv_file_path = $@"D:\THLCR_Data\{HBath}\{HBath}_{Date}_C332001_2M.csv"; //缁勮1 缁勮2璺緞 
+            //string csv_file_path = $@"E:\THLCR_Data\{HBath}\{HBath}_{Date}_332009.csv";  //缁勮3璺緞
+            //15杞﹂棿缂哄皯璺緞 D:\DATA SAVE\骞碶骞存湀\骞存湀鏃鎵规鍙穃鏁版嵁淇濆瓨.csv
+            //string csv_file_path = $@"D:\DATA SAVE\{Year}\{Year + Month}\{Year + Month + Day}\{HBath}\鏁版嵁淇濆瓨.csv";  
+
 
             bool flag = File.Exists(csv_file_path);
 
             if (flag)
             {
                 DataTable dt = new DataTable();
-                //string csv_file_path_Read = @"C:\Users\admin\Desktop\鏂板缓鏂囦欢澶� (2)\20231123_1.csv";
-                //string csv_file_path_Read = $@"D:\THLCR_Data\{HBath}\{HBath}_{Date}_C332001_2M_Read.csv"; //缁勮1 缁勮2璺緞 
-                string csv_file_path_Read = $@"E:\THLCR_Data\{HBath}\{HBath}_{Date}_332009_Read.csv";  //缁勮3璺緞
+                string HTypeName = "鏃犲皹";
+                //string csv_file_path_Read = @"C:\Users\admin\Desktop\鏂板缓鏂囦欢澶� (2)\250933P9_250403_C332001_2M_1.csv";
+                string csv_file_path_Read = $@"D:\THLCR_Data\{HBath}\{HBath}_{Date}_C332001_2M_Read.csv"; //缁勮1 缁勮2璺緞 
+                //string csv_file_path_Read = $@"E:\THLCR_Data\{HBath}\{HBath}_{Date}_332009_Read.csv";  //缁勮3璺緞
 
+                //string HTypeName = "15";
+                ////15杞﹂棿缂哄皯璺緞 D:\DATA SAVE\骞碶骞存湀\骞存湀鏃鎵规鍙穃鏁版嵁淇濆瓨.csv
+                ////string csv_file_path_Read = $@"C:\Users\admin\Desktop\鏂板缓鏂囦欢澶� (2)\DATA SAVE\鏁版嵁淇濆瓨_MES璇诲彇.csv";
+
+                //string csv_file_path_Read = $@"D:\DATA SAVE\{Year}\{Year + Month}\{Year + Month + Day}\{HBath}\鏁版嵁淇濆瓨_MES璇诲彇.csv";
+
+                //澶嶅埗涓�浠芥枃浠�
                 File.Copy(csv_file_path, csv_file_path_Read, true);
 
                 string contents = File.ReadAllText(csv_file_path_Read, Encoding.GetEncoding("gb2312"));
-               
+
                 TextFieldParser parser = new TextFieldParser(new StringReader(contents));
 
                 parser.HasFieldsEnclosedInQuotes = true;
@@ -203,63 +234,352 @@
                 parser.Close();
 
                 //鑾峰彇褰撳墠鏃堕棿
-                DateTime ActionTime = DateTime.Parse(DateTime.Now.AddMinutes(-1).ToString("yyyy-MM-dd  HH:mm:ss"));
+                DateTime ActionTime = DateTime.Parse(DateTime.Now.AddMinutes(-20).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;
                 foreach (DataRow item in dt.Rows)
                 {
-                    DateTime NowTime = DateTime.Parse(item["娴嬭瘯鏃堕棿"].ToString());
-                    string HBadCodeSN = item["搴忓彿"].ToString();
-
-                    if (((NowTime >= ActionTime && NowTime < EndTime) || dt.Rows.Count <= 20) && HBadCodeSN != "")
+                    if (HTypeName == "鏃犲皹")
                     {
+                        DateTime NowTime = DateTime.Parse(item["娴嬭瘯鏃堕棿"].ToString());
+                        string HBadCodeSN = item["搴忓彿"].ToString();
 
-                        string HSourceCode = this.HSouce.Text; //璁惧缂栧彿 缁勮1 9994 缁勮2 9995 缁勮3 9996
-                        string HEmpCode = this.HEmpCode.Text;
-                        string HBarCode = item["搴忓彿"].ToString();
-                        string HCreateTime = item["娴嬭瘯鏃堕棿"].ToString();
-                        string HDate = DateTime.Parse(item["娴嬭瘯鏃堕棿"].ToString()).ToString("yyyy-MM-dd");
-                        string HResult = item["鍒嗛��"].ToString() == "PASS" ? "OK" : "NG";
-                        string HProcNumber = "005";
-                        int HFlag = 0;
-                        //string HEmpCode = "";
-                        if (HBadCodeSN != "")
+                        if (((NowTime >= ActionTime && NowTime < EndTime) || dt.Rows.Count <= 20) && HBadCodeSN != "" && list.Contains(HBadCodeSN) == false)
                         {
-                            string HType = "";
-                            int HCount = 1;
 
-                            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 HSourceCode = this.HSouce.Text; //璁惧缂栧彿 缁勮1 9994 缁勮2 9995 缁勮3 9996
+                            string HEmpCode = this.HEmpCode.Text;
+                            string HBarCode = item["搴忓彿"].ToString();
+                            string HCreateTime = item["娴嬭瘯鏃堕棿"].ToString();
+                            string HDate = DateTime.Parse(item["娴嬭瘯鏃堕棿"].ToString()).ToString("yyyy-MM-dd");
+                            string HResult = item["鍒嗛��"].ToString() == "PASS" ? "OK" : "NG";
+                            string HProcNumber = "005"; //005
+                            int HFlag = 0;
+                            //string HEmpCode = "";
+                            //鍒ゆ柇鏉$爜涓嶄负绌�
+                            if (HBadCodeSN != "")
                             {
-                                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);
+                                string HType = "";
+                                int HCount = 1;
+
+                                //DataSet ds = oCN.RunProcReturn(@"select * from Sb_EquipMentCollection_SN where HBarCode='" + HBarCode + "' and HCreateTime='" + HCreateTime + "'", "Sb_EquipMentCollection_SN");
+
+                                if (true)
+                                {
+                                    if (Get_AllowLoadData(HBarCode, HProcNumber, flag_1, 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}',GETDATE(),'{HResult}','{HProcNumber}','{HFlag}')";
+                                        oCN.RunProc(sql);
+                                        ListSelect.Items.Add("鏉$爜:" + HBarCode + ",褰撳墠鏃ユ湡:" + DateTime.Now.ToString() + ",鏃ユ湡:" + HCreateTime + ",缁撴灉:" + HResult);
+                                        list.Add(HBarCode);
+
+                                        //鏂板宸ヨ壓鍙傛暟
+                                        for (int i = 0; i < dt.Columns.Count; i++)
+                                        {
+                                            if (dt.Columns[i].ColumnName.Contains("Hz"))
+                                            {
+                                                HType = dt.Columns[i].ColumnName;
+                                                string HCount_1 = item[HType].ToString();
+
+                                                //鏌ヨ褰撳ぉ鏉$爜 瀵瑰簲鐨勫伐鑹哄弬鏁版湁娌℃湁鎻掑叆鍒伴噷闈� 濡傛灉娌℃湁鍒欐柊澧�
+                                                DataSet ds1 = oCN.RunProcReturn(@"select HBarCode from Sb_EquipMentCollectionTechParam_SN  WITH(NOLOCK)  where HBarCode='" + HBarCode + "' and HType='" + HType + "'", "Sb_EquipMentCollectionTechParam_SN");
+
+                                                if (ds1.Tables[0].Rows.Count == 0)
+                                                {
+                                                    string sql1 = $@"insert into Sb_EquipMentCollectionTechParam_SN(HSourceCode,HEmpCode,HType,HBarCode,HCount,HCreateTime,HDate,HResult,HProcNumber,HFlag)
+                                                    values('{HSourceCode}','{HEmpCode}','{HType}','{HBarCode}','{HCount_1}','{HCreateTime}',GETDATE(),'{HResult}','{HProcNumber}','{HFlag}')";
+                                                    oCN.RunProc(sql1);
+                                                    //ListSelect.Items.Add("鏉$爜:" + HBarCode + ",鏃ユ湡:" + HCreateTime + ",缁撴灉:" + HResult);
+                                                }
+                                            }
+                                        }
+                                    }
+                                    else
+                                    {
+                                        flag_1 = flag_2;
+                                    }
+                                }
                             }
                         }
+                    }
 
-                        for (int i = 0; i < dt.Columns.Count; i++)
+                    if (HTypeName == "15")
+                    {
+                        DateTime NowTime = DateTime.Parse(item["CS_鏃堕棿"].ToString());
+                        string HBadCodeSN = item["CS_DM鐮�"].ToString();
+
+                        if (((NowTime >= ActionTime && NowTime < EndTime) || dt.Rows.Count <= 20) && HBadCodeSN != "")
                         {
-                            if (dt.Columns[i].ColumnName.Contains("Hz"))
+
+                            string HSourceCode = this.HSouce.Text; //璁惧缂栧彿 缁勮1 9994 缁勮2 9995 缁勮3 9996
+                            string HEmpCode = this.HEmpCode.Text;
+                            string HBarCode = item["CS_DM鐮�"].ToString();
+                            string HCreateTime = item["CS_鏃堕棿"].ToString();
+                            string HDate = DateTime.Parse(item["CS_鏃堕棿"].ToString()).ToString("yyyy-MM-dd");
+                            string HResult = item["CS_鎬荤粨鏋�"].ToString();
+                            string HProcNumber = "005";
+                            int HFlag = 0;
+
+                            if (HResult != "")
                             {
-                                string HType = dt.Columns[i].ColumnName;
-                                string HCount = item[HType].ToString();
-
-                                DataSet ds = oCN.RunProcReturn(@"select * from Sb_EquipMentCollectionTechParam_SN where HBarCode='" + HBarCode + "' and HType='" + HType + "'", "Sb_EquipMentCollectionTechParam_SN");
-
-                                if (ds.Tables[0].Rows.Count == 0)
+                                if (HBadCodeSN != "")
                                 {
-                                    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);
+                                    string HType = "";
+                                    int HCount = 1;
+
+                                    DataSet ds = oCN.RunProcReturn(@"select HBarCode from Sb_EquipMentCollectionTechParam_SN  WITH(NOLOCK)  where HBarCode='" + HBarCode + "' and HCreateTime='" + HCreateTime + "'", "Sb_EquipMentCollection_SN");
+
+
+                                    if (ds.Tables[0].Rows.Count == 0)
+                                    {
+                                        if (Get_AllowLoadData(HBarCode, HProcNumber, flag_1, 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}',GETDATE(),'{HResult}','{HProcNumber}','{HFlag}')";
+                                            oCN.RunProc(sql);
+                                            ListSelect.Items.Add("鏉$爜:" + HBarCode + ",鏃ユ湡:" + HCreateTime + ",缁撴灉:" + HResult);
+
+                                            for (int i = 0; i < dt.Columns.Count; i++)
+                                            {
+                                                if (dt.Columns[i].ColumnName.Contains("CS_"))
+                                                {
+                                                    HType = dt.Columns[i].ColumnName;
+                                                    string HCount_1 = item[HType].ToString();
+                                                    string HResult_TechParam = "";
+                                                    if (HType != "CS_鏃堕棿" && HType != "CS_DM鐮�" && HType != "CS_鎬荤粨鏋�")
+                                                    {
+                                                        HResult_TechParam = HCount_1;
+                                                        double number = 0;
+                                                        if (!Double.TryParse(HCount_1, out number))
+                                                        {
+                                                            HCount_1 = "0";
+                                                        }
+
+                                                        DataSet ds1 = oCN.RunProcReturn(@"select HBarCode from Sb_EquipMentCollectionTechParam_SN  WITH(NOLOCK)  where HBarCode='" + HBarCode + "' and HType='" + HType + "'", "Sb_EquipMentCollectionTechParam_SN");
+
+                                                        if (ds1.Tables[0].Rows.Count == 0)
+                                                        {
+                                                            string sql1 = $@"insert into Sb_EquipMentCollectionTechParam_SN(HSourceCode,HEmpCode,HType,HBarCode,HCount,HCreateTime,HDate,HResult,HProcNumber,HFlag)
+                                                            values('{HSourceCode}','{HEmpCode}','{HType}','{HBarCode}','{(HCount_1 == "" ? " 0" : HCount_1)}','{HCreateTime}',GETDATE(),'{HResult_TechParam}','{HProcNumber}','{HFlag}')";
+                                                            oCN.RunProc(sql1);
+                                                            //ListSelect.Items.Add("鏉$爜:" + HBarCode + ",鏃ユ湡:" + HCreateTime + ",缁撴灉:" + HResult);
+                                                        }
+                                                    }
+                                                }
+                                            }
+                                        }
+                                        else
+                                        {
+                                            flag_1 = flag_2;
+                                        }
+                                    }
                                 }
                             }
                         }
                     }
                 }
             }
+        }
+
+        public static string AllProcessExchange = "-1";
+        public static string AllProcessExchangeHProcExchBillNo = "";
+        public static string AllProcessExchangeHProcExchInterID = "";
+        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, out bool flag_2)
+        {
+            decimal hqty = 2;
+            if (HBarCode.Length != 29 && HBarCode.Length != 50)
+            {
+                flag_2 = false;
+                return false;
+            }
+
+            //鍒ゆ柇闀垮害鏄惁涓�29浣� 鏃犲皹杞﹂棿
+            string HProcExchBillNo = "";
+            string HProcExchInterID = "";
+            if (HBarCode.Length == 29)
+            {
+                string str1 = HBarCode.Substring(18, 8);
+                //string str2 = HBarCode.Substring(23, 3);
+                if (AllProcessExchange != str1)
+                {
+                    DataSet ds = oCN.RunProcReturn("select  HInterID,HBillNo from Sc_ProcessExchangeBillMain WITH(NOLOCK)  where HProjectNum like'" + str1 + "-1%' order by HMakeDate desc", "Sc_ProcessExchangeBillMain");
+                    //鍒ゆ柇鏄惁鑳芥壘鍒板搴旂殑娴佽浆鍗�
+                    if (ds.Tables[0].Rows.Count > 0)
+                    {
+                        AllProcessExchangeHProcExchBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
+                        AllProcessExchangeHProcExchInterID = ds.Tables[0].Rows[0]["HInterID"].ToString();
+
+                    }
+                    else
+                    {
+                        //閿欒淇℃伅寮瑰嚭妗� 瀹氭椂瓒呰繃2鍒嗛挓寮逛竴娆�
+                        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_2 = true;
+                        return false;
+                    }
+                    AllProcessExchange = str1;
+                }
+            }
+            //鍒ゆ柇闀垮害鏄惁涓�50浣�  15杞﹂棿
+            else if (HBarCode.Length == 50)
+            {
+                string str1 = HBarCode.Substring(42, 8);
+                DataSet ds = oCN.RunProcReturn("select  HBillNo from Sc_ProcessExchangeBillMain WITH(NOLOCK)  where HProjectNum like'" + str1 + "-1%'", "Sc_ProcessExchangeBillMain");
+                //鍒ゆ柇鏄惁鑳芥壘鍒板搴旂殑娴佽浆鍗�
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    AllProcessExchangeHProcExchBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
+                }
+                else
+                {
+                    //flag_1=鍙湁绗竴娆¤繘鏉ユ墠浼氬脊鍑� 閿欒淇℃伅寮瑰嚭妗� 瀹氭椂瓒呰繃2鍒嗛挓寮逛竴娆�
+                    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;
+                }
+            }
+
+            //璧嬪��
+            HProcExchBillNo = AllProcessExchangeHProcExchBillNo;
+            HProcExchInterID = AllProcessExchangeHProcExchInterID;
+
+            DataSet ds1;
+
+            //绗竴娆℃祦杞崱+宸ュ簭鍜屽悗闈㈢殑鍋氬姣� 濡傛灉鏄悓涓�涓祦杞崱灏变笉杩涜鍒ゆ柇
+            if ((HProcExchBillNo + HProcNumber) != AllSNBarcodeProcCtrl)
+            {
+                //鏌ヨ宸ュ簭
+                ds1 = oCN.RunProcReturn(@"SELECT  HItemID,HName FROM Gy_Process WITH(NOLOCK)  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 WITH(NOLOCK)   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;
+            }
+
+            string HProcID = AllHProcID;
+            string HProName = AllHProName;
+            ////绗竴娆℃祦杞崱+宸ュ簭鍜屽悗闈㈢殑鍋氬姣� 濡傛灉鏄悓涓�涓祦杞崱灏变笉杩涜鍒ゆ柇
+            //if ((HProcExchBillNo + HProcNumber) == AllSNBarcodeProcCtrl)
+            //{
+            //鍒ゆ柇 褰撳墠宸ュ簭 鏉$爜 鐨勪笂涓�閬撳伐搴忔湁娌℃湁杩囩珯
+            ds1 = oCN.RunProcReturn("exec h_p_Sc_SNBarcodeProcCtrl_S '" + HBarCode + "'," + HProcID, "h_p_Sc_SNBarcodeProcCtrl_S");
+
+            if (ds1.Tables[0].Rows.Count == 0)
+            {
+                //flag_1=鍙湁绗竴娆¤繘鏉ユ墠浼氬脊鍑� 閿欒淇℃伅寮瑰嚭妗� 瀹氭椂瓒呰繃2鍒嗛挓寮逛竴娆�
+                if (!flag_1 && (DateTime.Now - time).Minutes > hqty)
+                {
+                    time = DateTime.Now;
+                    MessageBox.Show("鏉$爜:" + HBarCode + "宸ュ簭:" + HProName + ",宸ュ簭鎺у埗鏌ユ棤鏁版嵁!");
+                }
+                DBHelper.CustomWriteLog("鏉$爜:" + HBarCode + "宸ュ簭:" + HProName + ",宸ュ簭鎺у埗鏌ユ棤鏁版嵁!", DateTime.Now.ToString("yyyy-MM-dd"));
+
+                flag_2 = true;
+                return false;
+            }
+            else if (ds1.Tables[0].Rows[0]["HBack"].ToString() == "2")
+            {
+                //flag_1=鍙湁绗竴娆¤繘鏉ユ墠浼氬脊鍑� 閿欒淇℃伅寮瑰嚭妗� 瀹氭椂瓒呰繃2鍒嗛挓寮逛竴娆�
+                if (!flag_1 && (DateTime.Now - time).Minutes > hqty)
+                {
+                    time = DateTime.Now;
+                    MessageBox.Show("鏉$爜:" + HBarCode + "宸ュ簭:" + HProcID + "," + ds1.Tables[0].Rows[0]["HBackRemark"].ToString() + "!");
+                }
+                DBHelper.CustomWriteLog("鏉$爜:" + HBarCode + "宸ュ簭:" + HProcID + "," + 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;
+
+            //娴佽浆鍗℃暟閲�-鍑虹珯鍗曟暟閲忓ぇ浜�0 
+            if (ds1.Tables[0].Rows.Count > 0)
+            {
+                hqtyOut = double.Parse(ds1.Tables[0].Rows[0][0].ToString());
+            }
+
+            //濡傛灉鏁伴噺<0 鍒欎唬琛ㄥ嚭绔欏崟鏁伴噺瓒呭嚭娴佽浆鍗℃暟閲� 
+            if (hqtyOut <= 0)
+            {
+                //flag_1=鍙湁绗竴娆¤繘鏉ユ墠浼氬脊鍑� 閿欒淇℃伅寮瑰嚭妗� 瀹氭椂瓒呰繃2鍒嗛挓寮逛竴娆�
+                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")
+            {
+                //澧炲姞浜х嚎缁勮杩芥函鍗�
+                //鏌ヨ褰撳墠娴佽浆鍗″搴旂殑宸ュ簭鏈夋病鏈夐厤浠朵俊鎭�,濡傛灉鏈� 鍒欏垽鏂厤浠跺崟鐨勬暟閲忔槸鍚︿负0
+                DataSet dataSet = oCN.RunProcReturn("exec h_p_Gy_BarCodeBillBomList '" + HProcExchBillNo + "'," + HProcID, "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)
+                        {
+                            //flag_1=鍙湁绗竴娆¤繘鏉ユ墠浼氬脊鍑� 閿欒淇℃伅寮瑰嚭妗� 瀹氭椂瓒呰繃2鍒嗛挓寮逛竴娆�
+                            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;
         }
 
         //鐢熶骇璧勬簮鍥炶溅
@@ -276,7 +596,7 @@
         {
             try
             {
-                DataSet ds = oCN.RunProcReturn("select  * from Gy_Source where HNumber='" + HNumber + "' ", "Gy_Source");
+                DataSet ds = oCN.RunProcReturn("select HName,HNumber from Gy_Source  WITH(NOLOCK) where HNumber='" + HNumber + "' ", "Gy_Source");
                 if (ds.Tables[0].Rows.Count == 0)
                 {
                     MessageBox.Show("鏌ユ棤鏁版嵁!");

--
Gitblit v1.9.1