Esempio n. 1
0
        /// <summary>
        /// 根据项目信息获取校准任务
        /// </summary>
        /// <param name="strMethodName"></param>
        /// <param name="calibTask"></param>
        /// <returns></returns>
        public int QueryCalibTaskByProjectAndSamType(string strMethodName, CalibratorinfoTask calibTask)
        {
            int calibTaskCount = 0;

            try
            {
                calibTaskCount = (int)ism_SqlMap.QueryForObject("Calibrator." + strMethodName, calibTask);
            }
            catch (Exception e)
            {
                LogInfo.WriteErrorLog("QueryCalibTaskByProjectAndSamType(string strMethodName, CalibratorinfoTask calibTask)==" + e.ToString(), Module.Calibration);
            }
            return(calibTaskCount);
        }
Esempio n. 2
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;
                }
            }
            this.btnSave.Enabled = false;
            if (projectPage1.GetSelectedProjects().Count == 0 &&
                projectPage2.GetSelectedProjects().Count == 0 &&
                projectPage3.GetSelectedProjects().Count == 0 &&
                projectPage4.GetSelectedProjects().Count == 0)
            {
                MessageBox.Show("请选择校准项目!");
                this.btnSave.Enabled = true;
                return;
            }
            if (intPos >= System.Convert.ToInt32(txtSumpleNum.Text.Substring(1)))
            {
                MessageBox.Show("此任务已经存在!");
                this.btnSave.Enabled = true;
                return;
            }

            List <CalibratorinfoTask> lstCalibratorinfoTask = new List <CalibratorinfoTask>();
            DateTime dt = DateTime.Now;

            foreach (string qcName in projectPage1.GetSelectedProjects())
            {
                CalibratorinfoTask qcTaskInfo = new CalibratorinfoTask();
                qcTaskInfo.CreateDate  = dt;
                qcTaskInfo.ProjectName = qcName;
                qcTaskInfo.SampleType  = combSampleType.Text;
                qcTaskInfo.SampleNum   = txtSumpleNum.Text;
                lstCalibratorinfoTask.Add(qcTaskInfo);
            }
            foreach (string qcName in projectPage2.GetSelectedProjects())
            {
                CalibratorinfoTask qcTaskInfo = new CalibratorinfoTask();
                qcTaskInfo.CreateDate  = dt;
                qcTaskInfo.ProjectName = qcName;
                qcTaskInfo.SampleType  = combSampleType.Text;
                qcTaskInfo.SampleNum   = txtSumpleNum.Text;
                lstCalibratorinfoTask.Add(qcTaskInfo);
            }
            foreach (string qcName in projectPage3.GetSelectedProjects())
            {
                CalibratorinfoTask qcTaskInfo = new CalibratorinfoTask();
                qcTaskInfo.CreateDate  = dt;
                qcTaskInfo.ProjectName = qcName;
                qcTaskInfo.SampleType  = combSampleType.Text;
                qcTaskInfo.SampleNum   = txtSumpleNum.Text;
                lstCalibratorinfoTask.Add(qcTaskInfo);
            }
            foreach (string qcName in projectPage4.GetSelectedProjects())
            {
                CalibratorinfoTask qcTaskInfo = new CalibratorinfoTask();
                qcTaskInfo.CreateDate  = dt;
                qcTaskInfo.ProjectName = qcName;
                qcTaskInfo.SampleType  = combSampleType.Text;
                qcTaskInfo.SampleNum   = txtSumpleNum.Text;
                lstCalibratorinfoTask.Add(qcTaskInfo);
            }
            sampleBlank = null;
            sampleSerum = null;
            sampleUrine = null;
            lstBlankProject.Clear();
            lstUrinePeoject.Clear();
            lstSerumProject.Clear();
            calibDictionary.Clear();
            //保存任务信息
            calibDictionary.Add("QueryCalibratorinfoTask", new object[] { XmlUtility.Serializer(typeof(List <CalibratorinfoTask>), lstCalibratorinfoTask) });
            combSampleType_SelectedIndexChanged(null, null);
            ClientSendDataToServices(calibDictionary);
        }
Esempio n. 3
0
        private void SaveABS(int WN, int PT, float PW, float SW)
        {
            //TimeCourseService timeCoursService = new TimeCourseService();
            myBatis.UpdateRealTimeState(WN, PT);
            RealTimeCUVDataInfo realTimeData = myBatis.QueryRealTimeCUVDataTC(WN);

            if (realTimeData == null)
            {
                return;
            }

            if (PT == RunConfigureUtility.BlankPoint)
            {
                //timeCoursService.UpdateBlkABSData(realTimeData.TC, PW, SW);
                myBatis.UpdateBlkABSData(realTimeData.TC, PW, SW);
            }
            else
            {
                //timeCoursService.UpdateABSData(realTimeData.TC, PT, PW, SW);
                myBatis.UpdateABSData(realTimeData.TC, PT, PW, SW);
                //SaveDataQueue(new string[] { realTimeData.TC.ToString(), PT.ToString(), PW.ToString(), SW.ToString() });
                //ProcessingQueueEvent(new string[] { realTimeData.TC.ToString(), PT.ToString(), PW.ToString(), SW.ToString() });
            }

            if (PT == RunConfigureUtility.LastPoint)
            {
                TaskInfo t = null;
                switch (realTimeData.WorkType)
                {
                case WORKTYPE.N:
                case WORKTYPE.E:
                    //2018、11、15 改成存储过程
                    //myBatis.UpdateSMPScheduleFinishCount(realTimeData.SmpNo, realTimeData.Assay, myBatis.GetSMPScheduleFinishCount(realTimeData.SmpNo, realTimeData.Assay) + 1);
                    myBatis.UpdateSMPScheduleFinishCount(realTimeData.SmpNo, realTimeData.Assay);
                    t = myBatis.GetSMPSchedule(realTimeData.SmpNo, realTimeData.Assay);
                    if (t != null && t.FinishTimes == t.InspectTimes)
                    {
                        //2018、11、15 改成使用存储过程
                        //myBatis.UpdateSampleStatePerform(t, TaskState.SUCC);
                        ////2018 9/4
                        ////myBatis.UpdteTaskState(t.SampleNum.ToString(), t.ProjectName);
                        //myBatis.UpdateTaskStatePerform(t, TaskState.SUCC);
                        myBatis.UpdateSampleInfoAndTaskInfo(t, TaskState.SUCC);
                    }
                    break;

                case WORKTYPE.B:
                case WORKTYPE.S:
                    CalibrationResultinfo calibResult = myBatis.QueryCalibResultInfo(realTimeData.Assay, realTimeData.SmpNo, realTimeData.TC);
                    myBatis.UpdateSDTScheduleFinishCount(calibResult.SampleNum, calibResult.ProjectName, calibResult.CalibratorName, calibResult.CalibrationDT,
                                                         myBatis.GetSDTScheduleFinishCount(calibResult.SampleNum, calibResult.ProjectName, calibResult.CalibratorName, calibResult.CalibrationDT) + 1);
                    CalibratorinfoTask s = myBatis.GetSDTSchedule(calibResult.ProjectName, calibResult.SampleNum, calibResult.CalibratorName, calibResult.CalibrationDT);
                    if (s != null && s.SendTimes == s.InspectTimes && s.SendTimes == s.FinishTimes)
                    {
                        //myBatis.ClearSDTSchedules(s.SampleNum, s.ProjectName);

                        myBatis.UpdateSDTResultState(s, TaskState.SUCC);
                    }
                    break;

                case WORKTYPE.C:
                    myBatis.UpdateQCScheduleFinishCount(realTimeData.SmpNo, realTimeData.Assay, myBatis.GetQCScheduleFinishCount(realTimeData.SmpNo, realTimeData.Assay) + 1);
                    QCTaskInfo c = myBatis.GetQCSchedule(realTimeData.SmpNo, realTimeData.Assay) as QCTaskInfo;
                    if (c != null && c.InspectTimes == c.SendTimes && c.SendTimes == c.FinishTimes)
                    {
                        myBatis.UpdateQCTaksState(c.SampleNum, c.ProjectName);
                    }
                    break;
                }

                myBatis.DeleteRealTimeCUVData(WN);
                RealTimeCalculate(realTimeData);
                //SaveDataQueue(realTimeData);
                //switch (realTimeData.WorkType)
                //{
                //    case WORKTYPE.N:
                //    case WORKTYPE.E:
                //        TaskInfo t = new TaskInfo();
                //        t = myBatis.GetSMPSchedule(realTimeData.SmpNo, realTimeData.Assay);
                //        if (t != null && t.FinishTimes == t.InspectTimes)
                //        {
                //            myBatis.UpdateSampleStatePerform(t, TaskState.SUCC);
                //            //2018 9/4
                //            //myBatis.UpdteTaskState(t.SampleNum.ToString(), t.ProjectName);
                //            myBatis.UpdateTaskStatePerform(t, TaskState.SUCC);
                //        }
                //        break;
                //    case WORKTYPE.B:
                //    case WORKTYPE.S:
                //        CalibrationResultinfo calibResult = myBatis.QueryCalibResultInfo(realTimeData.Assay, realTimeData.SmpNo, realTimeData.TC);
                //        CalibratorinfoTask s = myBatis.GetSDTSchedule(calibResult.ProjectName, calibResult.SampleNum, calibResult.CalibratorName, calibResult.CalibrationDT);
                //        if (s != null && s.SendTimes == s.InspectTimes && s.SendTimes == s.FinishTimes)
                //        {
                //            //myBatis.ClearSDTSchedules(s.SampleNum, s.ProjectName);

                //            myBatis.UpdateSDTResultState(s, TaskState.SUCC);
                //        }
                //        break;
                //    case WORKTYPE.C:
                //        QCTaskInfo c = myBatis.GetQCSchedule(realTimeData.SmpNo, realTimeData.Assay) as QCTaskInfo;
                //        //if (c != null && c.FinishTimes >= c.InspectTimes)
                //        //{
                //        //myBatis.ClearQCSchedules(c.SampleNum, c.ProjectName);
                //        //}
                //        if (c != null && c.InspectTimes == c.SendTimes && c.SendTimes == c.FinishTimes)
                //        {
                //            myBatis.UpdateQCTaksState(c.SampleNum, c.ProjectName);
                //        }
                //        break;
                //}
            }
        }