/// <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); }
/// <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); }
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; //} } }