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