/// <summary> /// 获取当前编号及报工信息 /// </summary> /// <param name="lastId">sql表内最后报工记录</param> /// <param name="maxId">access表内最大的报工ID</param> /// <param name="eqmNo">设备ID</param> /// <returns>报工信息</returns> public Model.ProductBarcode GetCurrentSubmitRecord(long lastId, long maxId, string eqmNo) { Ctrl.DbConStrFactory conFactory = Ctrl.DbConStrFactory.CreateInstance(); DAO.AccessDbHelper dbAccessEngine = DAO.AccessDbHelper.CreateInstance(conFactory.GetAccessConStr("dataAccessDb")); DataTable dt = new DataTable(); string sqlStr = "select * from Data where ID=(select min(ID) from Data where ID>@ID);"; Dictionary <string, object> pms = new Dictionary <string, object>(); while (dt.Rows.Count != 1) { pms.Add("@ID", lastId); dt = dbAccessEngine.QueryTable(sqlStr, pms); if (lastId >= maxId) { if (dt.Rows.Count <= 0) { sqlStr = "select * from Data where ID=(select Max(ID) from Data);"; dt = dbAccessEngine.QueryTable(sqlStr); } break; } lastId++; } DataRow dr = dt.Rows[0]; return(ChangeDataRowToObject(dr, eqmNo)); }
public void FileShow(string fileName, string fileNo) { if (string.IsNullOrEmpty(fileName) || string.IsNullOrEmpty(fileNo)) { return; } string path = _localDirectory + @"\current\" + fileName; Ctrl.DbConStrFactory conFactory = Ctrl.DbConStrFactory.CreateInstance(); Ctrl.DataLoadCtrl dataLoadCtrl = DataLoadCtrl.CreateInstance(conFactory.GetSqlConStr("defaultSqlDb"), conFactory.GetAccessConStr("defaultAccessDb")); Model.TableModel.Dms_file model = dataLoadCtrl.GetDmsFile(fileNo); if (model == null) { return; } if (!System.IO.File.Exists(path)) { string ftpFileName = model.file_md5 + "_" + fileName; string newPath = _localDirectory + @"\current\" + ftpFileName; if (!System.IO.File.Exists(newPath)) { Common.FTPStreamHelper.DownloadFile(_localDirectory + @"\current", "current", ftpFileName, _host, _writeUser, _writePwd); } System.IO.File.Copy(newPath, path, true); System.IO.File.Delete(newPath); } Process proc = new Process(); proc.StartInfo.FileName = _localDirectory + @"\current\" + fileName; proc.StartInfo.UseShellExecute = true; proc.Start(); }
/// <summary> /// 工艺参数下载函数(多线程函数) /// </summary> /// <param name="state">当前线程的状态或参数</param> /// <returns>是否下载成功</returns> public bool PeDataDownLoad(object state) { Ctrl.DbConStrFactory conFactory = Ctrl.DbConStrFactory.CreateInstance(); DAO.AccessDbHelper PmsDbEngine = DAO.AccessDbHelper.CreateInstance(conFactory.GetAccessConStr("pmsAccessDb")); DataTable dt = GetPeData(); if (dt == null || dt.Rows.Count <= 0) { return(false); } string sqlClear = "delete from Parameter where 1=1;"; PmsDbEngine.QueryInt(sqlClear); StringBuilder sql = new StringBuilder(); foreach (DataColumn item in dt.Columns) { sql.Append("@"); sql.Append(item.ColumnName); sql.Append(","); } if (sql.Length > 0) { sql.Remove(sql.Length - 1, 1); } else { return(false); } string cols = sql.ToString().Replace("@", ""); string sqlToCheange = string.Format("insert into Parameter({0}) values ({1})", cols, sql.ToString()); foreach (DataRow item in dt.Rows) { try { if (string.IsNullOrEmpty((item["ID"] ?? string.Empty).ToString())) { continue; } } catch (Exception) { continue; } Dictionary <string, object> pms = new Dictionary <string, object>(); for (int i = 0; i < item.ItemArray.Length; i++) { pms.Add("@" + dt.Columns[i].ColumnName, item.ItemArray[i] ?? ""); } PmsDbEngine.QueryInt(sqlToCheange, pms); } GC.Collect(1); state = true; return(true); }
/// <summary> /// 查询待报工记录中最大的报工ID /// </summary> /// <returns>MaxId</returns> public long GetMaxId() { Ctrl.DbConStrFactory conFactory = Ctrl.DbConStrFactory.CreateInstance(); DAO.AccessDbHelper dbAccessEngine = DAO.AccessDbHelper.CreateInstance(conFactory.GetAccessConStr("dataAccessDb")); string sql = "select Max(ID) from data;"; string tmp = (dbAccessEngine.QueryObj(sql) ?? "-1").ToString(); long longTmp = -1L; return(long.TryParse(tmp, out longTmp) ? longTmp : -1L); }