/// <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; } } if (combPosition.SelectedItem.ToString() == "" || combPosition.SelectedItem.ToString() == "请选择" || combPosition.SelectedItem == null) { MessageBox.Show("请选择质控品!"); return; } if (projectPage1.GetSelectedProjects().Count == 0 && projectPage2.GetSelectedProjects().Count == 0 && projectPage3.GetSelectedProjects().Count == 0) { MessageBox.Show("请选择质控项目!"); return; } if (intMaxSamNum >= System.Convert.ToInt32(txtSumpleNum.Text.Substring(1))) { MessageBox.Show("此任务已存在,如需创建新任务,请点击申请按钮!"); return; } List <QCTaskInfo> lstQCTaskInfos = new List <QCTaskInfo>(); DateTime dt = DateTime.Now; foreach (string qcName in projectPage1.GetSelectedProjects()) { QCTaskInfo qcTaskInfo = new QCTaskInfo(); qcTaskInfo.SampleNum = txtSumpleNum.Text; qcTaskInfo.Position = combPosition.SelectedItem.ToString(); qcTaskInfo.SampleType = combSampleType.SelectedItem.ToString(); qcTaskInfo.CreateDate = dt; qcTaskInfo.ProjectName = qcName; qcTaskInfo.InspectTimes = 1; lstQCTaskInfos.Add(qcTaskInfo); } foreach (string qcName in projectPage2.GetSelectedProjects()) { QCTaskInfo qcTaskInfo = new QCTaskInfo(); qcTaskInfo.SampleNum = txtSumpleNum.Text; qcTaskInfo.Position = combPosition.SelectedItem.ToString(); qcTaskInfo.SampleType = combSampleType.SelectedItem.ToString(); qcTaskInfo.CreateDate = dt; qcTaskInfo.ProjectName = qcName; qcTaskInfo.InspectTimes = 1; lstQCTaskInfos.Add(qcTaskInfo); } foreach (string qcName in projectPage3.GetSelectedProjects()) { QCTaskInfo qcTaskInfo = new QCTaskInfo(); qcTaskInfo.SampleNum = txtSumpleNum.Text; qcTaskInfo.Position = combPosition.SelectedItem.ToString(); qcTaskInfo.SampleType = combSampleType.SelectedItem.ToString(); qcTaskInfo.CreateDate = dt; qcTaskInfo.ProjectName = qcName; qcTaskInfo.InspectTimes = 1; lstQCTaskInfos.Add(qcTaskInfo); } qcTaskDictionary.Clear(); qcTaskDictionary.Add("AddQCTask", new object[] { XmlUtility.Serializer(typeof(List <QCTaskInfo>), lstQCTaskInfos) }); ClientSendToServices(qcTaskDictionary); }
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; //} } }