public clsT_OPR_LIS_APP_REPORT_VO m_objConstructAppReportVO(System.Data.DataRow p_objRow) { clsT_OPR_LIS_APP_REPORT_VO objAppReportVO = new clsT_OPR_LIS_APP_REPORT_VO(); try { objAppReportVO.m_strAPPLICATION_ID_CHR = p_objRow["APPLICATION_ID_CHR"].ToString().Trim(); objAppReportVO.m_strREPORT_GROUP_ID_CHR = p_objRow["REPORT_GROUP_ID_CHR"].ToString().Trim(); if (Microsoft.VisualBasic.Information.IsDate(p_objRow["MODIFY_DAT"])) { objAppReportVO.m_strMODIFY_DAT = Convert.ToDateTime(p_objRow["MODIFY_DAT"]).ToString("yyyy-MM-dd HH:mm:ss").Trim(); } objAppReportVO.m_strSUMMARY_VCHR = p_objRow["SUMMARY_VCHR"].ToString().Trim(); objAppReportVO.m_strOPERATOR_ID_CHR = p_objRow["OPERATOR_ID_CHR"].ToString().Trim(); objAppReportVO.m_intSTATUS_INT = int.Parse(p_objRow["STATUS_INT"].ToString().Trim()); objAppReportVO.m_strXML_SUMMARY_VCHR = p_objRow["XML_SUMMARY_VCHR"].ToString().Trim(); if (Microsoft.VisualBasic.Information.IsDate(p_objRow["REPORT_DAT"])) { objAppReportVO.m_strREPORT_DAT = Convert.ToDateTime(p_objRow["REPORT_DAT"]).ToString("yyyy-MM-dd HH:mm:ss").Trim(); } objAppReportVO.m_strREPORTOR_ID_CHR = p_objRow["REPORTOR_ID_CHR"].ToString().Trim(); if (Microsoft.VisualBasic.Information.IsDate(p_objRow["CONFIRM_DAT"])) { objAppReportVO.m_strCONFIRM_DAT = Convert.ToDateTime(p_objRow["CONFIRM_DAT"]).ToString("yyyy-MM-dd HH:mm:ss").Trim(); } objAppReportVO.m_strCONFIRMER_ID_CHR = p_objRow["CONFIRMER_ID_CHR"].ToString().Trim(); objAppReportVO.m_strXML_ANNOTATION_VCHR = p_objRow["XML_ANNOTATION_VCHR"].ToString().Trim(); objAppReportVO.m_strANNOTATION_VCHR = p_objRow["ANNOTATION_VCHR"].ToString().Trim(); } catch { objAppReportVO = null; } return(objAppReportVO); }
private void AddReport(ref List <clsT_OPR_LIS_APP_REPORT_VO> lstReports, string unitId) { ApplyUnitDetail detail = m_dicApplyUnitDetail[unitId]; clsReportGroup_VO objReportGroupVO = detail.ReportGroup; bool isExist = false; string reportGroupId = objReportGroupVO.strReportGroupID; foreach (clsT_OPR_LIS_APP_REPORT_VO report in lstReports) { if (report.m_strREPORT_GROUP_ID_CHR == reportGroupId) { isExist = true; break; } } if (!isExist) { clsT_OPR_LIS_APP_REPORT_VO reportVO = new clsT_OPR_LIS_APP_REPORT_VO(); reportVO.m_strREPORT_GROUP_ID_CHR = reportGroupId; //初始化状态 reportVO.m_intSTATUS_INT = 1; lstReports.Add(reportVO); } }
/// <summary> /// 创建申请单的报告组【3】 /// </summary> private void m_mthGenerateAppReports() { clsAppSampleGroupCollection objSampleGroups = m_objGenerateAppSampleGroups(); foreach (clsLIS_AppSampleGroup objAppSampleGroup in objSampleGroups) { bool blnAppReportGroupExist = false; clsReportGroup_VO objReportGroupVO = null; long lngRes = clsReportGroupSmp.s_obj.m_lngGetReportGoupVO(objAppSampleGroup.m_ObjDataVO.m_strSAMPLE_GROUP_ID_CHR, out objReportGroupVO); if (lngRes > 0 && objReportGroupVO != null) { objAppSampleGroup.m_ObjDataVO.m_strREPORT_GROUP_ID_CHR = objReportGroupVO.strReportGroupID; foreach (clsLIS_AppCheckItem objAppCheckItem in objAppSampleGroup.m_ObjAppCheckItems) { objAppCheckItem.m_ObjDataVO.m_strREPORT_GROUP_ID_CHR = objReportGroupVO.strReportGroupID; } foreach (clsLIS_AppCheckReport objAppCheckReport in this.m_objAppReports) { if (objAppCheckReport.m_ObjCheckReport.m_ObjDataVO.strReportGroupID == objReportGroupVO.strReportGroupID) { objAppCheckReport.m_ObjAppSampleGroups.Add(objAppSampleGroup); System.Collections.ArrayList arlSGID = new System.Collections.ArrayList(); if (objAppCheckReport.m_ObjDataVO.m_strSampleGroupIDArr != null) { arlSGID.AddRange(objAppCheckReport.m_ObjDataVO.m_strSampleGroupIDArr); } arlSGID.Add(objAppSampleGroup.m_StrSampleGroupID); objAppCheckReport.m_ObjDataVO.m_strSampleGroupIDArr = (string[])arlSGID.ToArray(typeof(string)); blnAppReportGroupExist = true; break; } } if (!blnAppReportGroupExist) { clsLIS_CheckReport objCheckReport = new clsLIS_CheckReport(); objCheckReport.m_ObjDataVO = objReportGroupVO; clsT_OPR_LIS_APP_REPORT_VO objAppReportVO = new clsT_OPR_LIS_APP_REPORT_VO(); clsLIS_AppCheckReport objAppReport = new clsLIS_AppCheckReport(objAppReportVO); objAppReport.m_ObjCheckReport = objCheckReport; objAppReport.m_StrReportGroupID = objCheckReport.m_ObjDataVO.strReportGroupID; objAppReport.m_ObjAppSampleGroups.Add(objAppSampleGroup); objAppReport.m_ObjDataVO.m_strSampleGroupIDArr = new string[] { objAppSampleGroup.m_StrSampleGroupID }; objAppReport.m_IntStatus = 1; m_objAppReports.Add(objAppReport); } } } }
public void m_mthContructResultVO(int p_intNum, List <clsAdvia2120ResultInf_VO> p_objResultList, out List <clsCheckResult_VO> p_objCheckResultVO, out List <clsT_OPR_LIS_APP_REPORT_VO> p_objRecordVOList, out List <string> p_strSampleIDArr, ref string p_strOriginDate) { p_objCheckResultVO = new List <clsCheckResult_VO>(); p_objRecordVOList = new List <clsT_OPR_LIS_APP_REPORT_VO>(); p_strSampleIDArr = new List <string>(); p_strOriginDate = DateTime.Now.ToString(); if (p_objResultList.Count > 0) { #region 生成检验编号,并根据检验编号查出对应信息 //根据酶标仪传入的样本号生成检验编号 string strSQL1 = @"select a.application_id_chr, a.application_dat, a.application_form_no_chr, a.oringin_dat, b.sample_group_id_chr, a.modify_dat, b.sample_id_chr, c.check_item_id_chr, d.report_group_id_chr, e.check_item_name_vchr, e.check_item_name_vchr, e.check_item_english_name_vchr, e.unit_chr, f_getitemref_low (c.check_item_id_chr, trim (a.age_chr), trim (a.sex_chr), 'menses' ) ref_min_val_vchr, f_getitemref_up (c.check_item_id_chr, trim (a.age_chr), trim (a.sex_chr), 'menses' ) ref_max_val_vchr, f_getitemref_range (c.check_item_id_chr, trim (a.age_chr), trim (a.sex_chr), 'menses' ) ref_value_range_vchr, f.device_check_item_id_chr, f.device_model_id_chr from t_opr_lis_application a, t_opr_lis_app_sample b, t_opr_lis_app_check_item c, t_opr_lis_app_report d, t_bse_lis_check_item e, t_bse_lis_check_item_dev_item f where a.application_id_chr = b.application_id_chr and a.application_id_chr = c.application_id_chr and a.application_id_chr = d.application_id_chr and a.application_id_chr = d.application_id_chr and a.application_form_no_chr in ("; string strSQL2 = @") and a.pstatus_int > 0 and c.check_item_id_chr = e.check_item_id_chr and d.status_int > 0 and e.check_item_id_chr = f.check_item_id_chr(+)"; clsHRPTableService objHRPSvc = new clsHRPTableService(); DataTable dtResult = new DataTable(); System.Data.IDataParameter[] objParamArr = null; objHRPSvc.CreateDatabaseParameter(p_intNum, out objParamArr); System.Text.StringBuilder sb = new System.Text.StringBuilder(); System.Collections.Hashtable has = new System.Collections.Hashtable(); int n = 0; for (int i2 = 0; i2 < p_objResultList.Count; i2++) { if (!has.ContainsKey(p_objResultList[i2].strCode)) { has.Add(p_objResultList[i2].strCode, p_objResultList[i2].strCode); sb.Append("?,"); objParamArr[n++].Value = p_objResultList[i2].strCode; //参数 } } sb.Remove(sb.Length - 1, 1); string strSQL3 = sb.ToString(); string strSQL = strSQL1 + strSQL3 + strSQL2; //生成SQL语句 objHRPSvc.lngGetDataTableWithParameters(strSQL, ref dtResult, objParamArr); DataView dv = new DataView(dtResult); has = new System.Collections.Hashtable(); //保存申请单下报告组的信息 //<-----------------------------新增一个临时表 add in 11.28 DataTable dtTmp = new DataTable(); dtTmp.Columns.Add("application_id_chr"); dtTmp.Columns.Add("check_item_id_chr"); DataRow dr = null; //-------------------------------------------> clsT_OPR_LIS_APP_REPORT_VO objReportTmp = null; #endregion clsCheckResult_VO objTemp = null; for (int i1 = 0; i1 < p_objResultList.Count; i1++) { string strDeviceItemCode = ((p_objResultList[i1].m_strItemid.Length > 4) ? p_objResultList[i1].m_strItemid.Substring(0, 4) : p_objResultList[i1].m_strItemid); //字符长度为4 dv.RowFilter = "application_form_no_chr = '" + p_objResultList[i1].strCode + "' and device_check_item_id_chr = '" + strDeviceItemCode + "' and device_model_id_chr = '" + p_objResultList[i1].strDeviceID + "'"; dv.Sort = "application_dat desc"; if (dv.Count == 0) { p_objResultList.RemoveAt(i1); i1--; continue; } objTemp = new clsCheckResult_VO(); switch (p_objResultList[i1].intDataFormat) { case 1: objTemp.intIsGraphResult = 0; //* (-- *为必填) objTemp.strGraphFormatName = null; objTemp.m_byaGraph = null; //存放图像结果 objTemp.m_strResult = p_objResultList[i1].num_value.ToString(); break; case 0: objTemp.intIsGraphResult = 0; objTemp.strGraphFormatName = null; objTemp.m_byaGraph = null; objTemp.m_strResult = p_objResultList[i1].chr_value; break; default: objTemp.intIsGraphResult = 1; objTemp.strGraphFormatName = "lisb"; objTemp.m_byaGraph = p_objResultList[i1].m_byaGraph; objTemp.m_strResult = null; break; } objTemp.m_strModify_Dat = DateTime.Now.ToString(); //* objTemp.m_strGroupID = dv[0]["sample_group_id_chr"].ToString(); //检验组合编号(报告组)(*) objTemp.m_strCheck_Item_ID = dv[0]["check_item_id_chr"].ToString(); //检验项目编号(*) objTemp.m_strSample_ID = dv[0]["sample_id_chr"].ToString(); //样本联号:指样本中心的顺序编号(*) objTemp.m_strUnit = dv[0]["unit_chr"].ToString(); objTemp.m_strDeviceID = p_objResultList[i1].strDeviceID; objTemp.m_strDevice_Check_Item_Name = p_objResultList[i1].strItemCode; //检验仪器输出的检验结果的名称,或缩写。 objTemp.m_strRefrange = dv[0]["ref_value_range_vchr"].ToString(); //参考值范围 objTemp.m_strCheck_Item_Name = dv[0]["check_item_name_vchr"].ToString(); //检验项目名称 objTemp.m_strCheck_Item_English_Name = dv[0]["check_item_english_name_vchr"].ToString(); objTemp.m_strMin_Val = dv[0]["ref_min_val_vchr"].ToString(); objTemp.m_strMax_Val = dv[0]["ref_max_val_vchr"].ToString(); objTemp.m_strAbnormal_Flag = null; objTemp.m_strCheck_Dat = p_objResultList[i1].strInputDate; objTemp.m_strClinicApp = null; objTemp.m_strMemo = null; objTemp.m_strConfirm_Dat = null; objTemp.m_strPointliststr = null; objTemp.m_strSummary = null; objTemp.m_intStatus = 1; // 1-当前有效记录 objTemp.m_strChecker1 = null; objTemp.m_strChecker2 = null; objTemp.m_strConfirm_Person = null; objTemp.m_strOperator_ID = p_objResultList[i1].m_strOperator_ID; //操作员工ID objTemp.m_strCheck_DeptID = null; dr = dtTmp.NewRow(); dr["application_id_chr"] = dv[0]["application_id_chr"].ToString(); dr["check_item_id_chr"] = dv[0]["check_item_id_chr"].ToString(); if (!has.ContainsKey(dv[0]["application_id_chr"].ToString())) { has.Add(dv[0]["application_id_chr"].ToString(), dv[0]["application_id_chr"].ToString()); objReportTmp = new clsT_OPR_LIS_APP_REPORT_VO(); objReportTmp.m_strREPORTOR_ID_CHR = p_objResultList[i1].m_strOperator_ID; objReportTmp.m_strSUMMARY_VCHR = ""; objReportTmp.m_strXML_SUMMARY_VCHR = "<r><D /><U /><S /></r>"; objReportTmp.m_strANNOTATION_VCHR = ""; objReportTmp.m_strXML_ANNOTATION_VCHR = "<r><D /><U /><S /></r>"; objReportTmp.m_strREPORT_DAT = DateTime.Now.ToString(); objReportTmp.m_intSTATUS_INT = 1; objReportTmp.m_strAPPLICATION_ID_CHR = dv[0]["application_id_chr"].ToString(); objReportTmp.m_strCONFIRM_DAT = null; objReportTmp.m_strCONFIRMER_ID_CHR = ""; objReportTmp.m_strOPERATOR_ID_CHR = p_objResultList[i1].m_strOperator_ID; objReportTmp.m_strREPORT_GROUP_ID_CHR = dv[0]["report_group_id_chr"].ToString(); p_strSampleIDArr.Add(dv[0]["sample_id_chr"].ToString()); if (DateTime.Parse(dv[0]["oringin_dat"].ToString()) < DateTime.Parse(p_strOriginDate)) { p_strOriginDate = dv[0]["oringin_dat"].ToString(); } p_objRecordVOList.Add(objReportTmp); } p_objCheckResultVO.Add(objTemp); dtTmp.Rows.Add(dr); } //<-------------------------------------------------------------------------add in 11.29 插入没有结果的项目 dtTmp.AcceptChanges(); DataView dvTmp = new DataView(dtTmp); dv.RowFilter = "1=1"; foreach (DataRowView objdv1 in dv) { dvTmp.RowFilter = "application_id_chr = '" + objdv1["application_id_chr"].ToString() + "'"; if (dvTmp.Count > 0) { dvTmp.RowFilter = "application_id_chr = '" + objdv1["application_id_chr"].ToString() + "'and check_item_id_chr = '" + objdv1["check_item_id_chr"].ToString() + "'"; if (dvTmp.Count > 0) { continue; } else { objTemp = new clsCheckResult_VO(); objTemp.intIsGraphResult = 0; objTemp.strGraphFormatName = null; objTemp.m_byaGraph = null; objTemp.m_strResult = null; objTemp.m_strModify_Dat = DateTime.Now.ToString(); objTemp.m_strGroupID = objdv1["sample_group_id_chr"].ToString(); objTemp.m_strCheck_Item_ID = objdv1["check_item_id_chr"].ToString(); objTemp.m_strSample_ID = objdv1["sample_id_chr"].ToString(); objTemp.m_strUnit = objdv1["unit_chr"].ToString(); objTemp.m_strDeviceID = null; objTemp.m_strDevice_Check_Item_Name = null; objTemp.m_strRefrange = objdv1["ref_value_range_vchr"].ToString(); objTemp.m_strCheck_Item_Name = objdv1["check_item_name_vchr"].ToString(); objTemp.m_strCheck_Item_English_Name = objdv1["check_item_english_name_vchr"].ToString(); objTemp.m_strMin_Val = objdv1["ref_min_val_vchr"].ToString(); objTemp.m_strMax_Val = objdv1["ref_max_val_vchr"].ToString(); objTemp.m_strAbnormal_Flag = null; objTemp.m_strCheck_Dat = null; objTemp.m_strClinicApp = null; objTemp.m_strMemo = null; objTemp.m_strConfirm_Dat = null; objTemp.m_strPointliststr = null; objTemp.m_strSummary = null; objTemp.m_intStatus = 1; objTemp.m_strChecker1 = null; objTemp.m_strChecker2 = null; objTemp.m_strConfirm_Person = null; objTemp.m_strOperator_ID = p_objResultList[0].m_strOperator_ID; objTemp.m_strCheck_DeptID = null; p_objCheckResultVO.Add(objTemp); } } } //-------------------------------------------------------------------------------------------> } }
private void listView1_Click(object sender, System.EventArgs e) { if (this.listView1.SelectedItems.Count <= 0) { return; } clsLISPatientCheckResultInfoVO obj = (clsLISPatientCheckResultInfoVO)this.listView1.SelectedItems[0].Tag; if (obj == null) { return; } clsLisApplMainVO AMVO = obj.m_objApp; if (AMVO != null) { try { this.dateTimePicker1.Value = DateTime.Parse(AMVO.m_strAppl_Dat.ToString()); } catch { this.dateTimePicker1.Value = DateTime.Now; } } /////////////////////////////////////////// clsT_OPR_LIS_APP_REPORT_VO LARVO = obj.m_objAppReport; if (LARVO != null) { textBox2.Text = LARVO.m_strSUMMARY_VCHR; try { this.dateTimePicker2.Value = DateTime.Parse(LARVO.m_strREPORT_DAT.ToString()); } catch { this.dateTimePicker2.Value = DateTime.Now; } } /////////////////////////////////// clsCheckResult_VO[] CRVO = obj.m_objResults; if (CRVO != null) { ListViewItem lv; listView2.Items.Clear(); for (int i = 0; i < CRVO.Length; i++) { if (CRVO[i] == null) { continue; } lv = new ListViewItem(CRVO[i].m_strCheck_Item_Name); lv.SubItems.Add(CRVO[i].m_strUnit); lv.SubItems.Add(CRVO[i].m_strResult); lv.SubItems.Add(CRVO[i].m_strRefrange); switch (CRVO[i].m_strUnit.Trim()) { case "H": lv.SubItems.Add("偏高"); lv.BackColor = Color.Red; break; case "L": lv.SubItems.Add("偏低"); lv.BackColor = Color.Yellow; break; default: lv.SubItems.Add(""); break; } listView2.Items.Add(lv); } } }