Example #1
0
        /// <summary>
        /// 清除样本
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ButClearSample_Click(object sender, EventArgs e)
        {
            if (getOPID != null && !getOPID())
            {
                MessageBoxDraw.ShowMsg("机器正在运行中,不能清除样本信息!", MsgType.OK);
            }
            else
            {
                try
                {
                    int[]           rows        = this.gridView1.GetSelectedRows();
                    List <TaskInfo> lstTaskInfo = new List <TaskInfo>();
                    TaskInfo        task;
                    for (int i = 0; i < rows.Length; i++)
                    {
                        string samplelNum = this.gridView1.GetRowCellValue(rows[i], "样本编号").ToString();
                        if (samplelNum != "" && samplelNum != null)
                        {
                            task           = new TaskInfo();
                            task.SampleNum = Convert.ToInt32(samplelNum);

                            task.CreateDate = Convert.ToDateTime(this.gridView1.GetRowCellValue(rows[i], "样本申请时间"));
                            lstTaskInfo.Add(task);
                        }
                    }
                    if (lstTaskInfo.Count > 0)
                    {
                        string result = new WorkAreaApplyTask().DeleteTaskAndSampleInfo("DeleteTaskAndSampleInfo", lstTaskInfo);
                        if (result.Substring(0, 1) == "1")
                        {
                            result = "选取样本信息清除成功!";
                            ComSampleNum_SelectedIndexChanged(null, null);
                        }
                        else if (result.Substring(0, 1) == "2")
                        {
                            result = result.Remove(0, 1) + ":样本信息清除成功!";
                            ComSampleNum_SelectedIndexChanged(null, null);
                        }
                        else
                        {
                            result = result.Remove(0, 1);
                        }
                        MessageBoxDraw.ShowMsg(result, MsgType.OK);
                    }
                }
                catch (FormatException fx)
                {
                    Console.WriteLine(fx.Message);
                }
            }
        }
Example #2
0
        /// <summary>
        /// 任务列表点击事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void lstvTask_Click(object sender, EventArgs e)
        {
            SimpleButCancel_Click(null, null);
            int selectedHandle;

            if (this.gridView1.GetSelectedRows().Count() > 0)
            {
                selectedHandle = this.gridView1.GetSelectedRows()[0];
                int SampleNum = System.Convert.ToInt32(this.gridView1.GetRowCellValue(selectedHandle, "样本编号").ToString());
                int PanelNum  = System.Convert.ToInt32(this.gridView1.GetRowCellValue(selectedHandle, "盘号").ToString());

                foreach (SampleInfo sampleInfo in lstSampleInfo)
                {
                    if (sampleInfo.SampleNum == SampleNum && sampleInfo.PanelNum == PanelNum)
                    {
                        txtSampleNum.Text                = sampleInfo.SampleNum.ToString();
                        combPanelNum.SelectedItem        = sampleInfo.PanelNum.ToString();
                        combPosNum.SelectedItem          = sampleInfo.SamplePos.ToString();
                        combSampleType.SelectedItem      = sampleInfo.SampleType;
                        combSampleContainer.SelectedItem = sampleInfo.SamContainer;
                        chkEmergency.Checked             = sampleInfo.IsEmergency;
                        txtBarCode.Text           = sampleInfo.Barcode;
                        chkManuallyDilute.Checked = sampleInfo.IsOperateDilution;
                    }
                }
                List <TaskInfo> lstTaskInfos = new WorkAreaApplyTask().QueryTaskInfoBySampleNum("QueryTaskInfoBySampleNum", SampleNum.ToString());
                lstDiluteInfos.Clear();
                List <string> lstProjects1 = new List <string>();
                foreach (TaskInfo t in lstTaskInfos)
                {
                    string[] strTaskInfo = new string[3];
                    strTaskInfo[0]          = t.ProjectName;
                    strTaskInfo[1]          = t.SampleDilute;
                    strTaskInfo[2]          = t.DilutedRatio.ToString();
                    txtBoxDetectionNum.Text = t.InspectTimes.ToString();
                    lstDiluteInfos.Add(strTaskInfo);
                    lstProjects1.Add(t.ProjectName);
                }
                projectPage1.SelectedProjects = lstProjects1;
                projectPage2.SelectedProjects = lstProjects1;
                projectPage3.SelectedProjects = lstProjects1;
                projectPage4.SelectedProjects = lstProjects1;
            }
        }
Example #3
0
        /// <summary>
        /// 盘符改变事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ComSampleNum_SelectedIndexChanged(object sender, EventArgs e)
        {
            List <TaskInfo> lstTaskInfos = new WorkAreaApplyTask().GetTaskInfo("GetTaskInfo", Convert.ToInt32(ComSampleNum.Text));

            //this.Invoke(new EventHandler(delegate
            //{
            dt.Rows.Clear();
            for (int i = 1; i <= 120; i++)
            {
                TaskInfo task = lstTaskInfos.SingleOrDefault(s => s.SamplePos == i);
                if (task != null)
                {
                    dt.Rows.Add(task.SampleNum, task.SamplePos, task.CreateDate.ToString("yyyy-MM-dd HH:mm:ss.fff"), task.Barcode, task.ProjectName);
                }
                else
                {
                    dt.Rows.Add("", "", "", "", "");
                }
            }
            this.gridControl1.DataSource = dt;
            //}));
        }
Example #4
0
        /// <summary>
        /// 批量录入的委托事件
        /// </summary>
        /// <param name="intStartSamNum"></param>
        /// <param name="samAmount"></param>
        private void batchInput_DataTransferEvent(int intStartSamNum, int samAmount)
        {
            //批量录入给服务器传递参数的集合
            object[]      inputDictionary = new object[samAmount];
            List <object> lstObjec        = new List <object>();
            List <int>    lstSamNum       = new List <int>();
            List <int[]>  lstPos          = new List <int[]>();

            foreach (SampleInfo s in lstSampleInfo)
            {
                lstSamNum.Add(s.SampleNum);
                lstPos.Add(new int[] { s.PanelNum, s.SamplePos });
            }

            // 样本盘号
            int panel = 0;

            for (int i = 0; i < samAmount; i++)
            {
                DateTime createTime = DateTime.Now;

                SampleInfo sampleInfo = new SampleInfo();
                // 样本号
                int samNum = 0;
                while (lstSamNum.Contains(intStartSamNum + i + samNum))
                {
                    samNum++;
                }
                sampleInfo.SampleNum = intStartSamNum + i + samNum;
                lstSamNum.Add(intStartSamNum + i + samNum);
                //样本位置
                int pos = 0;

                bool b = true;
                while (b)
                {
                    bool exist = false;
                    foreach (int[] info in lstPos)
                    {
                        if (System.Convert.ToInt32(combPanelNum.SelectedItem.ToString()) + panel == info[0] && System.Convert.ToInt32(combPosNum.SelectedItem.ToString()) + pos == info[1])
                        {
                            exist = true;
                        }
                    }

                    if (exist)
                    {
                        if (System.Convert.ToInt32(combPosNum.SelectedItem.ToString()) + pos >= 120)
                        {
                            panel++;
                            combPosNum.SelectedItem = "1";
                            pos = 0;
                            lstPos.Clear();
                        }
                        else
                        {
                            pos++;
                        }
                    }
                    else
                    {
                        b = false;
                    }
                }


                sampleInfo.PanelNum  = System.Convert.ToInt32(combPanelNum.SelectedItem.ToString()) + panel;
                sampleInfo.SamplePos = System.Convert.ToInt32(combPosNum.SelectedItem.ToString()) + pos;
                lstPos.Add(new int[] { System.Convert.ToInt32(combPanelNum.SelectedItem.ToString()) + panel, System.Convert.ToInt32(combPosNum.SelectedItem.ToString()) + pos });

                sampleInfo.SampleType        = combSampleType.SelectedItem.ToString();
                sampleInfo.SamContainer      = combSampleContainer.SelectedItem.ToString();
                sampleInfo.IsEmergency       = chkEmergency.Checked;
                sampleInfo.Barcode           = txtBarCode.Text;
                sampleInfo.IsOperateDilution = chkManuallyDilute.Checked;
                sampleInfo.CreateTime        = createTime;
                sampleInfo.SampleState       = 0;

                List <TaskInfo> lstTaskInfo = new List <TaskInfo>();

                if (lstDiluteInfos.Count > 0)
                {
                    foreach (string[] strDiluteInfo in lstDiluteInfos)
                    {
                        TaskInfo taskInfo = new TaskInfo();
                        taskInfo.SampleNum    = sampleInfo.SampleNum;
                        taskInfo.CreateDate   = createTime;
                        taskInfo.ProjectName  = strDiluteInfo[0];
                        taskInfo.SampleDilute = strDiluteInfo[1];
                        if (taskInfo.SampleDilute == "自定义")
                        {
                            taskInfo.DilutedRatio = System.Convert.ToInt32(strDiluteInfo[2]);
                        }
                        else
                        {
                            taskInfo.DilutedRatio = 0;
                        }
                        taskInfo.InspectTimes = System.Convert.ToInt32(txtBoxDetectionNum.Text.Trim());
                        taskInfo.SendTimes    = 0;
                        taskInfo.FinishTimes  = 0;
                        taskInfo.TaskState    = 0;

                        lstTaskInfo.Add(taskInfo);
                    }
                }
                else
                {
                    List <string> lstSelectedProName = new List <string>();
                    lstSelectedProName.AddRange(projectPage1.GetSelectedProjects());
                    lstSelectedProName.AddRange(projectPage2.GetSelectedProjects());
                    lstSelectedProName.AddRange(projectPage3.GetSelectedProjects());
                    lstSelectedProName.AddRange(projectPage4.GetSelectedProjects());

                    foreach (string ProName in lstSelectedProName)
                    {
                        TaskInfo taskInfo = new TaskInfo();
                        taskInfo.SampleNum    = sampleInfo.SampleNum;
                        taskInfo.CreateDate   = createTime;
                        taskInfo.ProjectName  = ProName;
                        taskInfo.SampleType   = sampleInfo.SampleType;
                        taskInfo.SampleDilute = "常规体积";
                        taskInfo.DilutedRatio = 0;
                        taskInfo.InspectTimes = System.Convert.ToInt32(txtBoxDetectionNum.Text.Trim());
                        taskInfo.SendTimes    = 0;
                        taskInfo.FinishTimes  = 0;
                        taskInfo.TaskState    = 0;

                        lstTaskInfo.Add(taskInfo);
                    }
                }
                inputDictionary[i] = (new object[] { sampleInfo, lstTaskInfo });
            }
            dic.Clear();
            //添加批量录入的任务信息
            WorkAreaApplyTask workAreaApplyTask = new WorkAreaApplyTask();

            batchInput.LstReceiveInfo = workAreaApplyTask.BatchAddTask("AddTaskForBatch", inputDictionary);
            MessageBox.Show("批量录入执行完成!");
            batchInput.Close();
        }
Example #5
0
        /// <summary>
        /// 点击保存项目事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (getopid != null)
            {
                if (!getopid())
                {
                    MessageBox.Show("当前任务正在测试,暂停后方可继续下任务!");
                    return;
                }
            }
            btnSave.Enabled = false;
            // 1.判断样本编号是否为空,判断样本编号是否已申请任务,判断样本编号是否大于2400
            if (txtSampleNum.Text == "" || txtSampleNum.Text == null)
            {
                MessageBox.Show("样本号不能为空!");
                btnSave.Enabled = true;
                return;
            }
            if (System.Convert.ToInt32(txtSampleNum.Text) > 2400)
            {
                MessageBox.Show("输入最大样本号不能大于2400!");
                btnSave.Enabled = true;
                return;
            }
            foreach (SampleInfo s in lstSampleInfo)
            {
                if (s.SampleNum == System.Convert.ToInt32(txtSampleNum.Text))
                {
                    DialogResult dr = MessageBox.Show("此样本号已被申请任务,请修改样本号!");
                    btnSave.Enabled = true;
                    if (dr == DialogResult.OK)
                    {
                        btnApply_Click(null, null);
                    }
                    return;
                }
            }

            // 2.判断盘号+位置是否已被申请任务
            foreach (SampleInfo s in lstSampleInfo)
            {
                if (s.PanelNum == System.Convert.ToInt32(combPanelNum.SelectedItem.ToString()) &&
                    s.SamplePos == System.Convert.ToInt32(combPosNum.SelectedItem.ToString()))
                {
                    MessageBox.Show(string.Format("{0}样本盘中的{1}号位置已被占用,请重新选择!", combPanelNum.SelectedItem.ToString(), combPosNum.SelectedItem.ToString()));
                    btnSave.Enabled = true;
                    return;
                }
            }
            // 4.检测项目不能为空
            if (projectPage1.GetSelectedProjects().Count == 0 &&
                projectPage2.GetSelectedProjects().Count == 0 &&
                projectPage3.GetSelectedProjects().Count == 0 &&
                projectPage4.GetSelectedProjects().Count == 0)
            {
                MessageBox.Show("申请常规任务中检测项目不能为空,请选择待检测项目!");
                btnSave.Enabled = true;
                return;
            }

            DateTime createTime = DateTime.Now;

            SampleInfo sampleInfo = new SampleInfo();

            sampleInfo.SampleNum         = System.Convert.ToInt32(txtSampleNum.Text);
            sampleInfo.PanelNum          = System.Convert.ToInt32(combPanelNum.SelectedItem.ToString());
            sampleInfo.SamplePos         = System.Convert.ToInt32(combPosNum.SelectedItem.ToString());
            sampleInfo.SampleType        = combSampleType.SelectedItem.ToString();
            sampleInfo.SamContainer      = combSampleContainer.SelectedItem.ToString();
            sampleInfo.IsEmergency       = chkEmergency.Checked;
            sampleInfo.Barcode           = txtBarCode.Text;
            sampleInfo.IsOperateDilution = chkManuallyDilute.Checked;
            sampleInfo.CreateTime        = createTime;
            sampleInfo.SampleState       = 0;

            List <TaskInfo> lstTaskInfo = new List <TaskInfo>();

            if (lstDiluteInfos.Count > 0)
            {
                foreach (string[] strDiluteInfo in lstDiluteInfos)
                {
                    TaskInfo taskInfo = new TaskInfo();
                    taskInfo.SampleNum    = sampleInfo.SampleNum;
                    taskInfo.CreateDate   = createTime;
                    taskInfo.ProjectName  = strDiluteInfo[0];
                    taskInfo.SampleType   = combSampleType.SelectedItem.ToString();
                    taskInfo.SampleDilute = strDiluteInfo[1];
                    if (taskInfo.SampleDilute == "自定义")
                    {
                        taskInfo.DilutedRatio = System.Convert.ToInt32(strDiluteInfo[2]);
                    }
                    else
                    {
                        taskInfo.DilutedRatio = 0;
                    }
                    taskInfo.InspectTimes = System.Convert.ToInt32(txtBoxDetectionNum.Text.Trim());
                    taskInfo.SendTimes    = 0;
                    taskInfo.FinishTimes  = 0;
                    taskInfo.TaskState    = 0;

                    lstTaskInfo.Add(taskInfo);
                }
            }
            else
            {
                List <string> lstSelectedProName = new List <string>();
                lstSelectedProName.AddRange(projectPage1.GetSelectedProjects());
                lstSelectedProName.AddRange(projectPage2.GetSelectedProjects());
                lstSelectedProName.AddRange(projectPage3.GetSelectedProjects());
                lstSelectedProName.AddRange(projectPage4.GetSelectedProjects());

                foreach (string ProName in lstSelectedProName)
                {
                    TaskInfo taskInfo = new TaskInfo();
                    taskInfo.SampleNum    = sampleInfo.SampleNum;
                    taskInfo.CreateDate   = createTime;
                    taskInfo.ProjectName  = ProName;
                    taskInfo.SampleType   = combSampleType.SelectedItem.ToString();
                    taskInfo.SampleDilute = "常规体积";
                    taskInfo.DilutedRatio = 0;
                    taskInfo.InspectTimes = System.Convert.ToInt32(txtBoxDetectionNum.Text.Trim());
                    taskInfo.SendTimes    = 0;
                    taskInfo.FinishTimes  = 0;
                    taskInfo.TaskState    = 0;

                    lstTaskInfo.Add(taskInfo);
                }
            }

            string SaveIsSuccess = new WorkAreaApplyTask().AddTask("AddTask", sampleInfo, lstTaskInfo);

            if (SaveIsSuccess == "此样本任务已经存在,请重新录入!")
            {
                MessageBox.Show("此样本任务已经存在,请重新录入!");
                btnSave.Enabled = true;
                return;
            }
            else
            {
                dic.Clear();
                dic.Add("QueryApplyTaskLsvt", new object[] { "" });
                ClientSendToServices(dic);
            }
            btnSave.Enabled = true;
            SimpleButCancel_Click(null, null);
        }