From 1a309b8f237f28fcd5d3d5fb7d75a4b71b958341 Mon Sep 17 00:00:00 2001
From: zrg <z1873@LAPTOP-EAVL132E>
Date: 星期四, 18 九月 2025 08:35:37 +0800
Subject: [PATCH] 插件增加备注

---
 WFormSynchronizeData_SMR/WFormReadData_SMR/ReadyDataForm.cs |  294 ++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 190 insertions(+), 104 deletions(-)

diff --git a/WFormSynchronizeData_SMR/WFormReadData_SMR/ReadyDataForm.cs b/WFormSynchronizeData_SMR/WFormReadData_SMR/ReadyDataForm.cs
index cf790b0..9cbd363 100644
--- a/WFormSynchronizeData_SMR/WFormReadData_SMR/ReadyDataForm.cs
+++ b/WFormSynchronizeData_SMR/WFormReadData_SMR/ReadyDataForm.cs
@@ -23,7 +23,12 @@
         {
             InitializeComponent();
         }
-         public static int num = 0;
+        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)
@@ -40,6 +45,7 @@
                     this.btnReadData.Text = "鏆傚仠";
                     this.timer1.Enabled = true;
                     num = 1;
+                    SelectTime = -4;
                 }
                 else if (num == 1)
                 {
@@ -53,7 +59,8 @@
         //鍛樺伐缂栫爜鍥炶溅
         private void HEmpCode_KeyDown(object sender, KeyEventArgs e)
         {
-            if (e.KeyCode == Keys.Enter) {
+            if (e.KeyCode == Keys.Enter)
+            {
                 SelectHEmpCode(this.HEmpCode.Text);
             }
         }
@@ -63,7 +70,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("鏌ユ棤鏁版嵁!");
@@ -111,9 +118,11 @@
             }
         }
 
+        public static List<string> listData = new List<string>();
 
         //鏂囨湰璇诲彇鏁版嵁
-        public void Read_Txt() {
+        public void Read_Txt()
+        {
 
             int year = DateTime.Now.Year;
             string month = DateTime.Now.Month.ToString();
@@ -122,12 +131,12 @@
             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)\20241128.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)\20241128.txt", Encoding.GetEncoding("gb2312"));
+                //StreamReader stream = new StreamReader($@"C:\Users\admin\Desktop\鏂板缓鏂囦欢澶� (2)\20250403T鎷嶇収.txt", Encoding.GetEncoding("gb2312"));
 
                 string FileData = stream.ReadToEnd();
                 stream.Close();
@@ -164,7 +173,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("鏌ユ棤鏁版嵁!");
@@ -184,8 +193,14 @@
             }
         }
 
+        public static string AllBeginWork = "-1";  //鏄惁寮�宸� 
+        public static string AllProcessExchange = "-1";   //娴佽浆鍗¢」鐩彿
+        public static string AllProcessExchangeHProcExchBillNo = "";  //娴佽浆鍗″彿
+        public static string AllProcessExchangeHProcExchInterID = ""; //娴佽浆鍗′富鐮�
+
         public void Xt_ReadText(string FileData)
         {
+            //鑾峰彇鏂囨湰鎵�鏈夋暟鎹�
             FileData = FileData.Substring(0, FileData.Length - 1);
             FileData = "[" + FileData + "]";
             //JSON搴忓垪鍖栬浆鎹㈠瓧鍏搁泦鍚�
@@ -201,47 +216,73 @@
                 list.Add(dic);
             }
             //鑾峰彇褰撳墠鏃堕棿
-            DateTime ActionTime = DateTime.Parse(DateTime.Now.AddMinutes(-2).ToString("yyyy-MM-dd  HH:mm:ss"));
+            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() != "")
+                if (NowTime >= ActionTime && NowTime < EndTime && list[i]["HBadCodeSN"].ToString() != "" && listData.Contains(HBarCode) == false)
                 {
                     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");
 
-                    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)
+                    if (true)
                     {
-                        string HProjectNum = HBarCode.Substring(18, 8);
-                        DataSet dataSet = oCN.RunProcReturn("select HBillNo from Sc_ProcessExchangeBillMain where HProjectNum='" + HProjectNum + "-1'", "Sc_ProcessExchangeBillMain");
-                        if (dataSet.Tables[0].Rows.Count > 0)
-                        {
-                            string HBillNo = dataSet.Tables[0].Rows[0]["HBillNo"].ToString();
-                            dataSet = oCN.RunProcReturn("select  * from Sc_ICMOBillStatus_Tmp where HSourceBillNo='" + HBillNo + "' and HICMOStatus='1'", "Sc_ICMOBillStatus_Tmp");
+                        DataSet dataSet;
 
+                        string HProjectNum = HBarCode.Substring(18, 8);
+                        //閫氳繃鎴彇椤圭洰鍙� 濡傛灉绗竴鏉℃暟鎹殑椤圭洰鍙疯窡鍚庨潰鐨勪竴鏍� 灏变笉杩涜鍒ゆ柇
+                        if (HBarCode.Contains(AllProcessExchange) == false)
+                        {
+
+                            //鍒ゆ柇娴佽浆鍗℃槸鍚﹀瓨鍦�
+                            dataSet = oCN.RunProcReturn("select HInterID,HBillNo from Sc_ProcessExchangeBillMain where HProjectNum='" + HProjectNum + "-1'", "Sc_ProcessExchangeBillMain");
                             if (dataSet.Tables[0].Rows.Count > 0)
                             {
-                                if (Get_AllowLoadData(HBarCode, HProcNumber, flag_1, out flag_2))
+                                AllProcessExchangeHProcExchBillNo = dataSet.Tables[0].Rows[0]["HBillNo"].ToString();
+                                AllProcessExchangeHProcExchInterID = dataSet.Tables[0].Rows[0]["HInterID"].ToString();
+                                AllProcessExchange = HProjectNum;
+                            }
+                        }
+                        //鍒ゆ柇鎴彇鐨勯」鐩彿 璺熻祴鍊肩殑椤圭洰鍙锋槸鍚︿竴鏍� 闇�瑕佸厛婊¤冻涓婇潰鐨勬潯浠�
+                        if (AllProcessExchange == HProjectNum)
+                        {
+                            //閫氳繃鎴彇椤圭洰鍙� 濡傛灉绗竴鏉℃暟鎹殑椤圭洰鍙疯窡鍚庨潰鐨勪竴鏍� 灏变笉杩涜鍒ゆ柇
+                            if (HBarCode.Contains(AllBeginWork) == false)
+                            {
+                                //鍒ゆ柇褰撳墠娴佽浆鍗″搴旂殑宸ュ簭鏁版嵁鏄惁寮�宸�
+                                dataSet = oCN.RunProcReturn("select  HICMOStatus 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}')";
+                                    values('{HSourceCode}','{HEmpCode}','{HType}','{HBarCode}','{HCount}','{HCreateTime}',GETDATE(),'{HResult}','{HProcNumber}','{HFlag}')";
                                     oCN.RunProc(sql);
-                                    ListSelect.Items.Add("鏉$爜:" + HBarCode + ",鏃ユ湡:" + HCreateTime + ",缁撴灉:" + HResult);
+                                    ListSelect.Items.Add("鏉$爜:" + HBarCode + ",褰撳墠鏃ユ湡;" + DateTime.Now.ToString() + ",鏃ユ湡:" + HCreateTime + ",缁撴灉:" + HResult);
+                                    listData.Add(HBarCode);
                                 }
                                 else
                                 {
@@ -250,18 +291,20 @@
                             }
                             else
                             {
-                                if (!flag_1)
+                                if (!flag_1 && (DateTime.Now - time).Minutes > hqty)
                                 {
-                                    MessageBox.Show(new Form { TopMost = true }, "鏉$爜:" + HBarCode + ",瀵瑰簲鐨勬祦杞崱:" + HBillNo + ",娴佽浆鍗℃湭寮�宸�!");
+                                    time = DateTime.Now;
+                                    MessageBox.Show(new Form { TopMost = true }, "鏉$爜:" + HBarCode + ",瀵瑰簲鐨勬祦杞崱:" + AllProcessExchangeHProcExchBillNo + ",娴佽浆鍗℃湭寮�宸�!");
                                 }
-                                DBHelper.CustomWriteLog("鏉$爜:" + HBarCode + ",瀵瑰簲鐨勬祦杞崱:" + HBillNo + ",娴佽浆鍗℃湭寮�宸�!", DateTime.Now.ToString("yyyy-MM-dd"));
+                                DBHelper.CustomWriteLog("鏉$爜:" + HBarCode + ",瀵瑰簲鐨勬祦杞崱:" + AllProcessExchangeHProcExchBillNo + ",娴佽浆鍗℃湭寮�宸�!", DateTime.Now.ToString("yyyy-MM-dd"));
                                 flag_1 = true;
                             }
                         }
                         else
                         {
-                            if (!flag_1)
+                            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"));
@@ -314,12 +357,12 @@
                     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");
+                    DataSet ds = oCN.RunProcReturn(@"select HItemID from Sb_EquipMentCollectionTechParam_SN where HBarCode='" + HBarCode + "' and HCreateTime='" + HCreateTime + "'", "Sb_EquipMentCollectionTechParam_SN");
 
                     if (ds.Tables[0].Rows.Count == 0)
                     {
                         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}')";
+                        values('{HSourceCode}','{HEmpCode}','{HType}','{HBarCode}','{HCount}','{HCreateTime}',GETDATE(),'{HResult}','{HProcNumber}','{HFlag}')";
                         oCN.RunProc(sql);
                         //ListSelect.Items.Add("鏉$爜:" + HBarCode + ",鏃ユ湡:" + HCreateTime + ",缁撴灉:" + HResult);
                     }
@@ -332,9 +375,15 @@
 
         }
 
+        public static string AllSNBarcodeProcCtrl = "";  //娴佽浆鍗�+宸ュ簭鐨勬嫾鍐�
+        public static string AllHProcID = "0";           //宸ュ簭id
+        public static string AllHProName = "";           //宸ュ簭鍚嶅瓧
+        public static double AllHQty = 0;               //榛樿娴佽浆鍗℃暟閲� 濡傛灉鍑虹珯鍗曟湁鏁版嵁浼氭洿鏂版垚鍑虹珯鍗曟暟閲�
+
         //鏍规嵁鏉$爜 鍒ゆ柇鏄惁淇濆瓨
-        public bool Get_AllowLoadData(string HBarCode, string HProcNumber, bool flag_1, out bool flag_2)
+        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;
@@ -342,36 +391,15 @@
             }
 
             //鍒ゆ柇闀垮害鏄惁涓�29浣� 鏃犲皹杞﹂棿
-            string HProcExchBillNo = "";
-            string HProcExchInterID = "";
             if (HBarCode.Length == 29)
             {
-                string str1 = HBarCode.Substring(18, 8);
-                string str2 = HBarCode.Substring(23, 3);
 
-                DataSet ds = oCN.RunProcReturn("select  HInterID,HBillNo from Sc_ProcessExchangeBillMain where HProjectNum like'" + str1 + "-1%' or HProjectNum like'" + str2 + "-1%' order by HMakeDate desc", "Sc_ProcessExchangeBillMain");
-                //鍒ゆ柇鏄惁鑳芥壘鍒板搴旂殑娴佽浆鍗�
-                if (ds.Tables[0].Rows.Count > 0)
-                {
-                    HProcExchBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
-                    HProcExchInterID = ds.Tables[0].Rows[0]["HInterID"].ToString();
-                }
-                else
-                {
-                    if (!flag_1)
-                    {
-                        MessageBox.Show(new Form { TopMost = true }, "鏉$爜:" + HBarCode + ",娴佽浆鍗′笉瀛樺湪!");
-                    }
-                    DBHelper.CustomWriteLog("鏉$爜:" + HBarCode + ",娴佽浆鍗′笉瀛樺湪!", DateTime.Now.ToString("yyyy-MM-dd"));
-                    flag_2 = true;
-                    return false;
-                }
             }
             //鍒ゆ柇闀垮害鏄惁涓�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");
+                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)
                 {
@@ -379,8 +407,10 @@
                 }
                 else
                 {
-                    if (!flag_1)
+                    //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"));
@@ -389,55 +419,84 @@
                     return false;
                 }
             }
+            DataSet ds1;
 
-
-            //杩囩珯鎺у埗
-            DataSet ds1 = oCN.RunProcReturn(@"select   b.HProcNo,b.HProcID,p.HName from Sc_ProcessExchangeBillMain a WITH(NOLOCK)
-inner join Sc_ProcessExchangeBillSub b WITH(NOLOCK) on a.HInterID=b.HInterID
-left join Gy_Process p WITH(NOLOCK) on  b.HProcID=p.HItemID 
-where a.HBillNo='" + HProcExchBillNo + "'  and p.HNumber='" + HProcNumber + "'", "Sc_ProcessExchangeBillMain");
-            string HProcID = "0";
-            if (ds1.Tables[0].Rows.Count > 0)
+            //绗竴娆℃祦杞崱+宸ュ簭鍜屽悗闈㈢殑鍋氬姣� 濡傛灉鏄悓涓�涓祦杞崱灏变笉杩涜鍒ゆ柇
+            if ((HProcExchBillNo + HProcNumber) != AllSNBarcodeProcCtrl)
             {
-                HProcID = ds1.Tables[0].Rows[0]["HProcID"].ToString();
-                string HProName = ds1.Tables[0].Rows[0]["HName"].ToString();
 
-                ds1 = oCN.RunProcReturn("exec h_p_Sc_SNBarcodeProcCtrl_S '" + HBarCode + "'," + HProcID, "h_v_Gy_QualifiedRecordsList");
-
-                if (ds1.Tables[0].Rows.Count == 0)
+                //鏌ヨ宸ュ簭
+                ds1 = oCN.RunProcReturn(@"SELECT  HItemID,HName FROM Gy_Process  WITH(NOLOCK) WHERE HNumber='" + HProcNumber + "'", "Gy_Process");
+                if (ds1.Tables[0].Rows.Count > 0)
                 {
-                    if (!flag_1)
-                    {
-                        MessageBox.Show("鏉$爜:" + HBarCode + "宸ュ簭:" + HProName + ",宸ュ簭鎺у埗鏌ユ棤鏁版嵁!");
-                    }
-                    DBHelper.CustomWriteLog("鏉$爜:" + HBarCode + "宸ュ簭:" + HProName + ",宸ュ簭鎺у埗鏌ユ棤鏁版嵁!", DateTime.Now.ToString("yyyy-MM-dd"));
-
-                    flag_2 = true;
-                    return false;
+                    AllHProcID = ds1.Tables[0].Rows[0]["HItemID"].ToString();
+                    AllHProName = ds1.Tables[0].Rows[0]["HName"].ToString();
                 }
-                else if (ds1.Tables[0].Rows[0]["HBack"].ToString() == "2")
+
+                //鏌ヨ娴佽浆鍗℃暟閲�
+                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)
                 {
-                    if (!flag_1)
-                    {
-                        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;
+                    AllHQty = double.Parse(ds1.Tables[0].Rows[0]["HQty"].ToString());
                 }
+
+                AllSNBarcodeProcCtrl = HProcExchBillNo + HProcNumber;
             }
 
-            //鏌ヨ鍑虹珯鏁伴噺鏄惁瓒呰繃娴佽浆鍗℃暟閲�
-            ds1 = oCN.RunProcReturn($@"select (b.HQty -sum(isnull(ou.HQty,0))-sum(isnull(ou.HBadCount,0))) HQty from Sc_ProcessExchangeBillSub b WITH(NOLOCK)
-left join Sc_StationOutBillMain ou WITH(NOLOCK) on b.HInterID=ou.HProcExchInterID and b.HEntryID=ou.HProcExchEntryID
-where b.HInterID={HProcExchInterID} and b.HProcID={HProcID}
-group by b.HInterID,b.HEntryID,b.HQty", "Sc_ProcessExchangeBill_Out");
+            ////绗竴娆℃祦杞崱+宸ュ簭鍜屽悗闈㈢殑鍋氬姣� 濡傛灉鏄悓涓�涓祦杞崱灏变笉杩涜鍒ゆ柇
+            //if ((HProcExchBillNo + HProcNumber) == AllSNBarcodeProcCtrl)
+            //{
+            //杩囩珯鎺у埗
+            //鍒ゆ柇褰撳墠宸ュ簭瀵瑰簲鐨勬潯鐮佹槸鍚︿笂閬撳伐搴忚繃绔�
+            ds1 = oCN.RunProcReturn("exec h_p_Sc_SNBarcodeProcCtrl_S '" + HBarCode + "'," + AllHProcID, "h_p_Sc_SNBarcodeProcCtrl_S");
 
-            if (double.Parse(ds1.Tables[0].Rows[0][0].ToString()) < 0)
+            if (ds1.Tables[0].Rows.Count == 0)
             {
-                if (!flag_1)
+                //flag_1=鍙湁绗竴娆¤繘鏉ユ墠浼氬脊鍑� 閿欒淇℃伅寮瑰嚭妗� 瀹氭椂瓒呰繃2鍒嗛挓寮逛竴娆�
+                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")
+            {
+                //flag_1=鍙湁绗竴娆¤繘鏉ユ墠浼氬脊鍑� 閿欒淇℃伅寮瑰嚭妗� 瀹氭椂瓒呰繃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());
+            }
+            //娴佽浆鍗℃暟閲�-鍑虹珯鍗曟暟閲忓ぇ浜�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"));
@@ -445,35 +504,44 @@
                 return false;
             }
 
-            //澧炲姞浜х嚎缁勮杩芥函鍗�
-            DataSet dataSet = oCN.RunProcReturn("exec h_p_Gy_BarCodeBillBomList '" + HProcExchBillNo + "'," + HProcID, "h_p_Gy_BarCodeBillBomList");
-            if (dataSet.Tables[0].Rows.Count > 0)
+            //鎷嶇収宸ュ簭闄ゅ
+            if (HProcNumber != "013")
             {
-                //鍒ら厤浠舵暟閲忔槸鍚︾瓑浜�0
-                for (int i = 0; i < dataSet.Tables[0].Rows.Count; i++)
+                //澧炲姞浜х嚎缁勮杩芥函鍗�
+                //鏌ヨ褰撳墠娴佽浆鍗″搴旂殑宸ュ簭鏈夋病鏈夐厤浠朵俊鎭�,濡傛灉鏈� 鍒欏垽鏂厤浠跺崟鐨勬暟閲忔槸鍚︿负0
+                DataSet dataSet = oCN.RunProcReturn("exec h_p_Gy_BarCodeBillBomList '" + HProcExchBillNo + "'," + AllHProcID, "h_p_Gy_BarCodeBillBomList");
+                if (dataSet.Tables[0].Rows.Count > 0)
                 {
-                    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)
+                    //鍒ら厤浠舵暟閲忔槸鍚︾瓑浜�0
+                    for (int i = 0; i < dataSet.Tables[0].Rows.Count; i++)
                     {
-                        if (!flag_1)
+                        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)
                         {
-                            MessageBox.Show("娴佽浆鍗�:" + HProcExchBillNo + ",閰嶄欢鏉$爜:" + HMaterBarCode + ",閰嶄欢浠g爜:" + HMaterNamePJ + ",鏁伴噺涓�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;
                         }
-                        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) {
+            if (num == 1)
+            {
                 MessageBox.Show("褰撳墠鎸夐挳鏈殏鍋�,涓嶅厑璁稿叧闂�!");
                 e.Cancel = true;
             }
@@ -482,5 +550,23 @@
                 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