示例#1
0
        /// <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));
        }
示例#2
0
        /// <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);
        }
示例#3
0
        /// <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);
        }