Ejemplo n.º 1
0
        /// <summary>
        /// 后台断开工作
        /// </summary>
        private void breakBackgroundWorker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
        {
            breakBackgroundWorker.ReportProgress(1, "磁盘断开中...");// 进度传出

            DataTable dataTable = e.Argument as DataTable;

            string[] logs = new string[dataTable.Rows.Count];
            for (int i = 0; i < dataTable.Rows.Count; i++)
            {
                if (breakBackgroundWorker.CancellationPending)// 取消检测
                {
                    e.Cancel = true;
                    return;
                }

                breakBackgroundWorker.ReportProgress(Percents.Get(1, dataTable.Rows.Count), "正在断开:" + dataTable.Rows[i][0].ToString());// 进度传出

                string localPath = dataTable.Rows[i][2].ToString();

                if (!Directory.Exists(localPath))
                {
                    logs[i] = "盘符不存在,跳过断开 - " + DateTime.Now.ToString();
                    continue;
                }

                logs[i] = Disconnect(localPath);// 断开
            }

            e.Result = logs;
        }
Ejemplo n.º 2
0
        private void mappingBackgroundWorker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
        {
            mappingBackgroundWorker.ReportProgress(1, "磁盘映射中...");// 进度传出

            DataTable dataTable = e.Argument as DataTable;

            string[] logs = new string[dataTable.Rows.Count];
            for (int i = 0; i < dataTable.Rows.Count; i++)
            {
                if (mappingBackgroundWorker.CancellationPending)// 取消检测
                {
                    e.Cancel = true;
                    return;
                }

                mappingBackgroundWorker.ReportProgress(Percents.Get(1, dataTable.Rows.Count), "正在映射:" + dataTable.Rows[i][0].ToString());// 进度传出

                string autoMapping = dataTable.Rows[i][3].ToString();
                if (autoMapping == "否")
                {
                    logs[i] = "未启用自动映射 - " + DateTime.Now.ToString();
                    continue;
                }

                string autoCheck = dataTable.Rows[i][6].ToString();
                if (autoCheck == "否")
                {
                    logs[i] = "未启用断开检测 - " + DateTime.Now.ToString();
                    continue;
                }

                string localPath = dataTable.Rows[i][2].ToString();
                if (Directory.Exists(localPath))
                {
                    logs[i] = "盘符已存在,跳过映射 - " + DateTime.Now.ToString();
                    continue;
                }

                string netPath = dataTable.Rows[i][1].ToString();
                if (!Directory.Exists(netPath))
                {
                    logs[i] = "网络位置无法访问,跳过映射 - " + DateTime.Now.ToString();
                    continue;
                }

                string userName   = dataTable.Rows[i][8].ToString();
                string password   = dataTable.Rows[i][9].ToString();
                uint   constflags = userName == "" ? (uint)0 : (uint)0;
                logs[i] = Mapping(localPath, netPath, userName, password, constflags);// 映射
            }

            e.Result = logs;
        }
Ejemplo n.º 3
0
        /// <summary>
        ///
        /// </summary>
        private void statisticsBackgroundWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            statisticsBackgroundWorker.ReportProgress(1, "查找中...");// 进度传出
            DataTable sqlTable = SqlFunction.Select(e.Argument as string);

            if (sqlTable == null || sqlTable.Rows.Count == 0)
            {
                return;                                              // 无结果
            }
            DataTable dataTable = new DataTable();

            dataTable.Columns.Add("打版师");
            dataTable.Columns.Add("已分带子数");
            dataTable.Columns.Add("完成带子数");
            dataTable.Columns.Add("已分针数");
            dataTable.Columns.Add("完成针数");
            dataTable.Columns.Add("完成针数");
            dataTable.Columns.Add("预计完成时间");
            dataTable.Columns.Add("历史效率");
            dataTable.Columns.Add("当天效率");
            dataTable.Columns.Add("历史出错率");

            ///

            bool existZ;

            for (int i = 0; i < sqlTable.Rows.Count; i++)
            {
                statisticsBackgroundWorker.ReportProgress(Percents.Get(i, sqlTable.Rows.Count), "数据处理中...");// 进度传出

                existZ = false;
                foreach (DataRow row in dataTable.Rows)
                {
                    if (row["打版师"].ToString().ToUpper() == sqlTable.Rows[i]["打版师"].ToString().ToUpper())// 已有此打版师数据行
                    {
                        row["已分带子数"] = Convert.ToInt32(row["已分带子数"]) + 1;



                        做到这里,完成带子娄和完成针数没做完



                        int statr = sqlTable.Rows[i]["估针数始"].ToString() == "" ? 0 : Convert.ToInt32(sqlTable.Rows[i]["估针数始"]);
                        int end   = sqlTable.Rows[i]["估针数终"].ToString() == "" ? 0 : Convert.ToInt32(sqlTable.Rows[i]["估针数终"]);
                        row["已分针数"] = Convert.ToInt32(row["已分针数"]) + (statr + end) / 2;
                        existZ      = true;
                        break;
                    }
                }

                if (!existZ)/// 没有此打版师数据行
                {
                    DataRow rows = dataTable.NewRow();
                    rows["打版师"]   = sqlTable.Rows[i]["打版师"].ToString().ToUpper();
                    rows["已分带子数"] = 1;

                    做到这里,完成带子娄和完成针数没做完



                        rows["完成带子数"] = "未设定";
                    int statr         = sqlTable.Rows[i]["估针数始"].ToString() == "" ? 0 : Convert.ToInt32(sqlTable.Rows[i]["估针数始"]);
                    int end           = sqlTable.Rows[i]["估针数终"].ToString() == "" ? 0 : Convert.ToInt32(sqlTable.Rows[i]["估针数终"]);
                    rows["已分针数"]   = (statr + end) / 2;
                    rows["完成针数"]   = "未设定";
                    rows["预计完成时间"] = "未设定";
                    rows["历史效率"]   = "未设定";
                    rows["当天效率"]   = "未设定";
                    rows["历史出错率"]  = "未设定";
                    dataTable.Rows.Add(rows);
                }
            }

            ///

            e.Result = dataTable;
        }