using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WFormReadData_SMR { public partial class ReadyDataForm : Form { public DBHelper oCN = new DBHelper(); public ReadyDataForm() { InitializeComponent(); } private void btnReadData_Click(object sender, EventArgs e) { 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> list = new List>(); List DataList = JsonConvert.DeserializeObject>(FileData); foreach (JObject item in DataList) { Dictionary dic = new Dictionary(); 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 = list[i]["HEmpCode"].ToString(); 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); } } else { //CustomWriteLog("时间不在保存范围内", DateTime.Now.ToString("yyyy-MM-dd")); } } } } } }