Beispiel #1
0
        public static object getDeviecSorByDevice(string type = "全部")
        {
            string fileneme = getDownloadFilename();

            if (File.Exists(fileneme))
            {
                EditTask task = null;
                try
                {
                    task = Common.LoadFromXml(fileneme, typeof(EditTask)) as EditTask;
                    IEnumerable <TaskDevice> filter;
                    if (type == "全部" || type.ToUpper() == "ALL")
                    {
                        filter = task.Devices;
                    }
                    else
                    {
                        filter = task.Devices.Where(t => t.DeviceType == type);
                    }

                    if (filter.Count() == 0)
                    {
                        List <TaskDevice> nodevice = new List <TaskDevice>();
                        TaskDevice        d        = new TaskDevice();
                        d.Photo      = Common.getImageByLocal("Err.png");
                        d.Company    = "仪器列表为空";
                        d.DeviceType = "错误";
                        d.IsChecked  = false;
                        nodevice.Add(d);
                        return(nodevice);
                    }
                    else
                    {
                        return(filter);
                    }
                }
                catch
                {
                    List <TaskDevice> nodevice = new List <TaskDevice>();
                    TaskDevice        d        = new TaskDevice();
                    d.Photo      = Common.getImageByLocal("Err.png");
                    d.Company    = "任务文件读取失败";
                    d.DeviceType = "错误";
                    d.IsChecked  = false;
                    nodevice.Add(d);
                    return(nodevice);
                }
            }
            else
            {
                List <TaskDevice> nodevice = new List <TaskDevice>();
                TaskDevice        d        = new TaskDevice();
                d.Photo      = Common.getImageByLocal("Err.png");
                d.Company    = "设备清单文件不存在";
                d.DeviceType = "错误";
                d.IsChecked  = false;
                nodevice.Add(d);
                return(nodevice);
            }
        }
Beispiel #2
0
        private List <TaskDevice> getDevice()
        {
            IEnumerable <TaskDevice> filter = (IEnumerable <TaskDevice>)Common.getDeviecSorByDevice(CurTask.Type);
            IEnumerable <TaskDevice> added  = (IEnumerable <TaskDevice>)Common.getDeviecSorByTask(CurTask.Name);
            string lastname  = Common.GetLastTaskName(CurTask.Name);
            string last2name = Common.GetLastTaskName(lastname);
            IEnumerable <TaskDevice> lastadded  = (IEnumerable <TaskDevice>)Common.getDeviecSorByTask(lastname, CurTask.Type);
            IEnumerable <TaskDevice> last2added = (IEnumerable <TaskDevice>)Common.getDeviecSorByTask(last2name, CurTask.Type);
            List <TaskDevice>        temp       = new List <TaskDevice>();

            if (filter.Count() != 0)
            {
                temp = filter.ToList();
                var remain = temp.RemoveAll(t => added.Any(a => a.ID == t.ID) || lastadded.Any(a => a.ID == t.ID) || last2added.Any(a => a.ID == t.ID));
                foreach (TaskDevice item in temp)
                {
                    item.GroupBy = GROUP_BY_Remain;
                }
            }

            added      = added.SkipWhile(t => string.IsNullOrEmpty(t.ID));
            lastadded  = lastadded.SkipWhile(t => string.IsNullOrEmpty(t.ID));
            last2added = last2added.SkipWhile(t => string.IsNullOrEmpty(t.ID));
            foreach (TaskDevice item in added)
            {
                item.GroupBy = GROUP_BY_Added;
            }
            temp.AddRange(added);
            foreach (TaskDevice item in lastadded)
            {
                item.IsChecked = false;
                item.GroupBy   = GROUP_BY_PreTask + "  " + lastname;
            }
            temp.AddRange(lastadded);
            foreach (TaskDevice item in last2added)
            {
                item.IsChecked = false;
                item.GroupBy   = GROUP_BY_Earlier + "  " + last2name;
            }
            temp.AddRange(last2added);

            if (temp.Count() == 0)
            {
                TaskDevice d = new TaskDevice();
                d.Photo      = Common.getImageByLocal("Err.png");
                d.Company    = "清单中没有符合条件的设备";
                d.DeviceType = "错误";
                d.IsChecked  = false;
                temp.Add(d);
            }
            return(temp);
        }
Beispiel #3
0
        /// <summary>
        /// 得到的扫描结果 通过设备资源获取仪器信息并更新设备资源的IsChecked属性
        /// </summary>
        /// <param name="result"> 设备的id</param>
        private void SetResult(string result)
        {
            List <TaskDevice> selected = new List <TaskDevice>();//= DeviceSource.Where(t => t.ID == result).ToList();

            DeviceSource.ForEach(t => { if (t.ID == result)
                                        {
                                            t.IsChecked = true; selected.Add(t);
                                        }
                                 });
            if (selected.Count == 0)
            {
                TaskDevice d = new TaskDevice();
                d.Photo      = Common.getImageByLocal("unkown.png");
                d.Company    = "请下载最新的设备清单";
                d.DeviceType = "未知设备";
                d.IsChecked  = false;
                selected.Add(d);
            }
            GridCtl2.DataSource = selected;
            GridCtl2.RefreshDataSource();
            TabDeviceSelect.RefreshDataSource();
        }
Beispiel #4
0
        public static object getDeviecSorByTask(string taskname, string type = null)
        {
            string fileneme = string.Format("{0}\\{1}\\{1}.xml", Config.AppConfig.TaskRootPath, taskname);// + "\\" + _SelectedItem.Name +"\\"+_SelectedItem ""

            if (File.Exists(fileneme))
            {
                EditTask task = null;
                try
                {
                    task = Common.LoadFromXml(fileneme, typeof(EditTask)) as EditTask;

                    if (string.IsNullOrEmpty(type) || task.Type == type)
                    {
                        if (task.Devices.Length == 0)
                        {
                            List <TaskDevice> nodevice = new List <TaskDevice>();
                            TaskDevice        d        = new TaskDevice();
                            d.Photo      = Common.getImageByLocal("Err.png");
                            d.Company    = "仪器列表为空";
                            d.DeviceType = "错误";
                            d.IsChecked  = false;
                            nodevice.Add(d);
                            return(nodevice);
                        }
                        else

                        {
                            return(task.Devices);
                        }
                    }

                    else
                    {
                        List <TaskDevice> nodevice = new List <TaskDevice>();
                        TaskDevice        d        = new TaskDevice();
                        d.Photo      = Common.getImageByLocal("Err.png");
                        d.Company    = "仪器类型不匹配";
                        d.DeviceType = "错误";
                        d.IsChecked  = false;
                        nodevice.Add(d);
                        return(nodevice);
                    }
                }
                catch
                {
                    List <TaskDevice> nodevice = new List <TaskDevice>();
                    TaskDevice        d        = new TaskDevice();
                    d.Photo      = Common.getImageByLocal("Err.png");
                    d.Company    = "任务文件读取失败";
                    d.DeviceType = "错误";
                    d.IsChecked  = false;
                    nodevice.Add(d);
                    return(nodevice);
                }
            }
            else
            {
                List <TaskDevice> nodevice = new List <TaskDevice>();
                TaskDevice        d        = new TaskDevice();
                d.Photo      = Common.getImageByLocal("Err.png");
                d.Company    = "任务文件不存在";
                d.DeviceType = "错误";
                d.IsChecked  = false;
                nodevice.Add(d);
                return(nodevice);
            }
        }
Beispiel #5
0
        private bool tryDownload()
        {
            string filename = Common.getNextDownloadFilename();

            int[]             s        = TviewFilter.GetCheckedRows();
            List <TaskDevice> download = new List <TaskDevice>();

            if (s != null)
            {
                EditTask output = new EditTask("download", "全部");
                foreach (int i in s)
                {
                    FilterItem   suser = s.Length > 0 ? users[i] : null;
                    List <QcJob> jobs  = null;
                    try
                    {
                        jobs = QcJob.GetMyJob(suser.Tag as QcUser);
                        foreach (QcJob job in jobs)
                        {
                            QcTask task = QcTask.GetTaskByid(job["任务编号"]);
                            foreach (QcCheckData data in QcCheckData.GetCheckData(job))
                            {
                                QcDevice   de  = QcDevice.GetDeviceByUID(data["设备UID"]);
                                TaskDevice tde = new TaskDevice();
                                tde.ID            = data.Code;//利用数据guid进行唯一编号
                                tde.IsChecked     = false;
                                tde.JobCode       = job.Code;
                                tde.Producer      = de["生产厂商"];
                                tde.Model         = de["设备型号"];
                                tde.Company       = task["委托单位"];
                                tde.DeviceNo      = de["设备编号"];
                                tde.EliminateDate = job["作业计划完成时间"];
                                tde.DeviceType    = de["设备类型"];
                                tde.Checker       = suser.Name;
                                download.Add(tde);
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("下载数据错误" + ex.Message);
                        return(false);
                    }
                }
                try
                {
                    output.Devices = download.ToArray();
                    string outpath = string.Format("{0}\\{1}\\{2}", Config.AppConfig.TaskRootPath, Config.AppConfig.DownloadDirName, filename);
                    Common.SaveToXml(outpath, output);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("输出文件错误" + ex.Message);
                    return(false);
                }
                return(true);
            }
            else
            {
                MessageBox.Show("请选择一个人员");
                return(false);
            }
        }