/// <summary> /// 更新数据方法 /// </summary> /// <param name="lst">列表对象</param> private void UpdateData(NormalizingApp.Model.Record rec, DataOrder dataorder) { if (dataorder == DataOrder.Later) { var result = from buff in recLst where string.IsNullOrEmpty(buff.temperature4) && buff.serialNumber == rec.serialNumber select buff; if (result == null) { return; } if (result.ToList().Count == 0) { recLst.Add(rec); } else { NormalizingApp.Model.Record bu = result.ToList()[0]; bu.coolingTime = (timeSecondCooling / 5).ToString("f1"); bu.pressure = rec.pressure; bu.temperature4 = rec.temperature4; bu.flow1 = rec.flow1; bu.flow2 = rec.flow2; bu.flow3 = rec.flow3; } } else if (dataorder == DataOrder.Earlier) { recLst.Add(rec); } Lib.FileBuff.FileName = fileName; Lib.FileBuff.SaveBinary(recLst.ConvertAll(s => (object)s)); }
/// <summary> /// 冷却数据更新到list /// </summary> public void LaterData() { NormalizingApp.Model.Record rec = new NormalizingApp.Model.Record(); rec.coolingTime = (timeSecondCooling / 5).ToString("f1"); rec.serialNumber = LoginWindow.partNumber.spliceNumber; rec.operatorName = LoginWindow.partNumber.operatorNameSet; //rec.jobNumber = Login.partNumber.jodnumberSet; rec.pressure = Lib.S71KConnect.userType.ActPressure.ToString("f1"); rec.temperature4 = Lib.S71KConnect.userType.ActTemp4.ToString("f1"); rec.flow1 = Lib.S71KConnect.userType.ActFlow1.ToString("f1"); rec.flow2 = Lib.S71KConnect.userType.ActFlow2.ToString("f1"); rec.flow3 = Lib.S71KConnect.userType.ActFlow3.ToString("f1"); UpdateData(rec, DataOrder.Later); //载入数据到xml }
/// <summary> /// 加热数据更新到list /// </summary> public void EarlierData() { NormalizingApp.Model.Record rec = new NormalizingApp.Model.Record(); rec.heatTime = (timeSecondHeat / 5).ToString("f1"); rec.serialNumber = LoginWindow.partNumber.spliceNumber; rec.operatorName = LoginWindow.partNumber.operatorNameSet; //rec.jobNumber = Login.partNumber.jodnumberSet; rec.voltage = Lib.S71KConnect.userType.Voltage.ToString("f1"); rec.current = Lib.S71KConnect.userType.Current.ToString("f1"); rec.power = Lib.S71KConnect.userType.Power.ToString("f1"); rec.frequency = Lib.S71KConnect.userType.Frequency.ToString("f1"); rec.energy = Lib.S71KConnect.userType.Energy.ToString("f1"); rec.temperature1 = Lib.S71KConnect.userType.ActTemp1.ToString("f1"); rec.temperature2 = Lib.S71KConnect.userType.ActTemp2.ToString("f1"); rec.temperature3 = Lib.S71KConnect.userType.ActTemp3.ToString("f1"); UpdateData(rec, DataOrder.Earlier); //载入数据到xml }
/// <summary> /// 检查序列化文件是否存在,如果存在就读取再保存到access数据库,不存在就new一个新的list /// </summary> private void CheckFileBuff() { try { //检查目录下是否有序列化文件,若存在就反序列化读取,不存在就创new一个新的list if (File.Exists(fileName)) { Access.DBHelp.FileName = Access.DBHelp.fileName; //指定数据库路径 Lib.FileBuff.FileName = fileName; //指定序列化文件路径 recLst = Lib.FileBuff.ReadBinary().ConvertAll(s => (NormalizingApp.Model.Record)s); //读取序列化文件内容到list NormalizingApp.Model.Record rec = recLst[0]; //获取出列表第一个参数项 List <string> listTem = new List <string>(); //实例化一个类属性让下面SQL语读出查找的项用来做判断 listTem = Access.CQServices.GetRecordSql(@"SELECT DataSheet.serialNumber FROM DataSheet WHERE(((DataSheet.serialNumber) = '" + rec.serialNumber + @"'))"); //判断数据库里有无重复编号,有的话就删除,没有就插入 if (listTem.Count > 0) { Access.CQServices.DeleteRecord(rec.serialNumber); //删除重复项 } Access.CQServices.BulckInsert(recLst); File.Delete(fileName); recLst = new List <NormalizingApp.Model.Record>(); } else { recLst = new List <NormalizingApp.Model.Record>(); } } catch { //return; } }