From cd7025a07f30a87cc90a09f9345d6d1e6ae41e44 Mon Sep 17 00:00:00 2001 From: zrg <z18737863051@163.com> Date: 星期四, 08 五月 2025 15:59:10 +0800 Subject: [PATCH] 1 --- WFormSynchronizeData_SMR/WFormReadData_SMR/ReadCSV.cs | 183 ++++++++++++++++++++++++++++++--------------- 1 files changed, 123 insertions(+), 60 deletions(-) diff --git a/WFormSynchronizeData_SMR/WFormReadData_SMR/ReadCSV.cs b/WFormSynchronizeData_SMR/WFormReadData_SMR/ReadCSV.cs index 97122ca..457a52d 100644 --- a/WFormSynchronizeData_SMR/WFormReadData_SMR/ReadCSV.cs +++ b/WFormSynchronizeData_SMR/WFormReadData_SMR/ReadCSV.cs @@ -22,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) @@ -51,6 +50,7 @@ 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 + ",娴佽浆鍗℃湭寮�宸�!"); @@ -160,6 +160,7 @@ ReadCsv(); } } + public static List<string> list = new List<string>(); //璇诲彇csv鏍煎紡鏂囦欢 private void ReadCsv() @@ -176,7 +177,7 @@ //娉�:鏂帿灏旂粍瑁�3 鍦‥鐩� _332009 //鍏朵綑鍦―鐩� _C332001_2M - //string csv_file_path = $@"C:\Users\admin\Desktop\鏂板缓鏂囦欢澶� (2)\20231123.csv"; + //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 @@ -189,7 +190,7 @@ { DataTable dt = new DataTable(); string HTypeName = "鏃犲皹"; - //string csv_file_path_Read = @"C:\Users\admin\Desktop\鏂板缓鏂囦欢澶� (2)\20231123_1.csv"; + //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璺緞 @@ -199,6 +200,7 @@ //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")); @@ -229,7 +231,7 @@ parser.Close(); //鑾峰彇褰撳墠鏃堕棿 - DateTime ActionTime = DateTime.Parse(DateTime.Now.AddMinutes(-120).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; @@ -240,7 +242,7 @@ DateTime NowTime = DateTime.Parse(item["娴嬭瘯鏃堕棿"].ToString()); string HBadCodeSN = item["搴忓彿"].ToString(); - if (((NowTime >= ActionTime && NowTime < EndTime) || dt.Rows.Count <= 20) && HBadCodeSN != "") + if (((NowTime >= ActionTime && NowTime < EndTime) || dt.Rows.Count <= 20) && HBadCodeSN != "" && list.Contains(HBadCodeSN)==false) { string HSourceCode = this.HSouce.Text; //璁惧缂栧彿 缁勮1 9994 缁勮2 9995 缁勮3 9996 @@ -252,14 +254,15 @@ string HProcNumber = "005"; //005 int HFlag = 0; //string HEmpCode = ""; + //鍒ゆ柇鏉$爜涓嶄负绌� if (HBadCodeSN != "") { string HType = ""; int HCount = 1; - 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) { if (Get_AllowLoadData(HBarCode, HProcNumber, flag_1,out flag_2)) { @@ -267,7 +270,9 @@ values('{HSourceCode}','{HEmpCode}','{HType}','{HBarCode}','{HCount}','{HCreateTime}','{HDate}','{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")) @@ -275,6 +280,7 @@ HType = dt.Columns[i].ColumnName; string HCount_1 = item[HType].ToString(); + //鏌ヨ褰撳ぉ鏉$爜 瀵瑰簲鐨勫伐鑹哄弬鏁版湁娌℃湁鎻掑叆鍒伴噷闈� 濡傛灉娌℃湁鍒欐柊澧� DataSet ds1 = oCN.RunProcReturn(@"select * from Sb_EquipMentCollectionTechParam_SN where HBarCode='" + HBarCode + "' and HType='" + HType + "'", "Sb_EquipMentCollectionTechParam_SN"); if (ds1.Tables[0].Rows.Count == 0) @@ -372,10 +378,17 @@ } } - + 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; @@ -388,23 +401,29 @@ 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) + //string str2 = HBarCode.Substring(23, 3); + if (AllProcessExchange != str1) { + DataSet ds = oCN.RunProcReturn("select HInterID,HBillNo from Sc_ProcessExchangeBillMain where HProjectNum like'" + str1 + "-1%' order by HMakeDate desc", "Sc_ProcessExchangeBillMain"); + //鍒ゆ柇鏄惁鑳芥壘鍒板搴旂殑娴佽浆鍗� + if (ds.Tables[0].Rows.Count > 0) { - MessageBox.Show(new Form { TopMost = true }, "鏉$爜:" + HBarCode + ",娴佽浆鍗′笉瀛樺湪!"); + AllProcessExchangeHProcExchBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString(); + AllProcessExchangeHProcExchInterID = ds.Tables[0].Rows[0]["HInterID"].ToString(); + } - DBHelper.CustomWriteLog("鏉$爜:" + HBarCode + ",娴佽浆鍗′笉瀛樺湪!", DateTime.Now.ToString("yyyy-MM-dd")); - flag_2 = true; - return false; + 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杞﹂棿 @@ -415,11 +434,13 @@ //鍒ゆ柇鏄惁鑳芥壘鍒板搴旂殑娴佽浆鍗� if (ds.Tables[0].Rows.Count > 0) { - HProcExchBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString(); + AllProcessExchangeHProcExchBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString(); } 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")); @@ -429,24 +450,46 @@ } } + //璧嬪�� + HProcExchBillNo = AllProcessExchangeHProcExchBillNo; + HProcExchInterID = AllProcessExchangeHProcExchInterID; - //杩囩珯鎺у埗 - 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) - { - HProcID = ds1.Tables[0].Rows[0]["HProcID"].ToString(); - string HProName = ds1.Tables[0].Rows[0]["HName"].ToString(); + 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; + } + + string HProcID = AllHProcID; + string HProName = AllHProName; + ////绗竴娆℃祦杞崱+宸ュ簭鍜屽悗闈㈢殑鍋氬姣� 濡傛灉鏄悓涓�涓祦杞崱灏变笉杩涜鍒ゆ柇 + //if ((HProcExchBillNo + HProcNumber) == AllSNBarcodeProcCtrl) + //{ + //鍒ゆ柇 褰撳墠宸ュ簭 鏉$爜 鐨勪笂涓�閬撳伐搴忔湁娌℃湁杩囩珯 ds1 = oCN.RunProcReturn("exec h_p_Sc_SNBarcodeProcCtrl_S '" + HBarCode + "'," + HProcID, "h_v_Gy_QualifiedRecordsList"); 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 + "宸ュ簭:" + HProName + ",宸ュ簭鎺у埗鏌ユ棤鏁版嵁!"); } DBHelper.CustomWriteLog("鏉$爜:" + HBarCode + "宸ュ簭:" + HProName + ",宸ュ簭鎺у埗鏌ユ棤鏁版嵁!", DateTime.Now.ToString("yyyy-MM-dd")); @@ -456,8 +499,10 @@ } else if (ds1.Tables[0].Rows[0]["HBack"].ToString() == "2") { - if (!flag_1) + //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")); @@ -465,18 +510,29 @@ flag_2 = true; return false; } - } + //} //鏌ヨ鍑虹珯鏁伴噺鏄惁瓒呰繃娴佽浆鍗℃暟閲� - 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"); + 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"); - if (double.Parse(ds1.Tables[0].Rows[0][0].ToString()) < 0) + //鑾峰彇娴佽浆鍗℃暟閲� + double hqtyOut = AllHQty; + + //娴佽浆鍗℃暟閲�-鍑虹珯鍗曟暟閲忓ぇ浜�0 + if (ds1.Tables[0].Rows.Count > 0) { - if (!flag_1) + 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")); @@ -484,28 +540,35 @@ return false; } - //澧炲姞浜х嚎缁勮杩芥函鍗� - 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++) + //鎷嶇収宸ュ簭闄ゅ + 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) { - 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; } -- Gitblit v1.9.1