/// <summary> /// /// </summary> /// <param name="startDate"></param> /// <param name="endDate"></param> /// <param name="ipNo"></param> /// <returns></returns> public List <entityLisInfo> QueryAreaReport(string startDate, string endDate, string ipNo) { string Sql = string.Empty; DataTable dt = null; SqlHelper svc = null; List <entityLisInfo> data = new List <entityLisInfo>(); try { svc = new SqlHelper(EnumBiz.onlineDB); Sql = @"select distinct a.name_vchr, c.application_id_chr, c.appl_dat, c.patient_name_vchr, c.sex_chr, c.age_chr, c.patient_inhospitalno_chr, c.bedno_chr, c.barcode_vchr, d.report_group_id_chr, d.report_print_chr, d.report_dat, d.confirm_dat from t_opr_bih_order a inner join t_opr_attachrelation b on a.orderid_chr = b.sourceitemid_vchr inner join t_opr_lis_sample c on b.attachid_vchr = c.application_id_chr inner join t_opr_lis_app_report d on c.application_id_chr = d.application_id_chr where {0} (c.appl_dat between ? and ?) and d.report_dat is not null {1} order by c.appl_dat, c.patient_inhospitalno_chr "; IDataParameter[] param = null; DateTime dateTime = Convert.ToDateTime(startDate + " 00:00:00"); DateTime dateTime2 = Convert.ToDateTime(endDate + " 23:59:59"); if (!string.IsNullOrEmpty(ipNo)) { Sql = string.Format(Sql, "", "and trim(c.patient_inhospitalno_chr) = ?"); param = svc.CreateParm(3); param[0].Value = dateTime; param[1].Value = dateTime2; param[2].Value = ipNo; } dt = svc.GetDataTable(Sql, param); if (dt != null && dt.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) { entityLisInfo vo = new entityLisInfo(); vo.cardNo = dr["patient_inhospitalno_chr"].ToString(); vo.barCode = dr["barcode_vchr"].ToString(); vo.patName = dr["patient_name_vchr"].ToString(); vo.sex = dr["sex_chr"].ToString(); vo.age = dr["age_chr"].ToString(); vo.name = dr["name_vchr"].ToString(); vo.appDate = Function.Datetime(dr["appl_dat"]).ToString("yyyy-MM-dd HH:mm"); vo.rptDate = Function.Datetime(dr["report_dat"]).ToString("yyyy-MM-dd HH:mm"); vo.rptGroupId = dr["report_group_id_chr"].ToString(); vo.applicationId = dr["application_id_chr"].ToString(); vo.n = 0; if (data.Any(t => t.applicationId == vo.applicationId && t.rptGroupId == vo.rptGroupId)) { int i = data.FindIndex(t => t.applicationId == vo.applicationId && t.rptGroupId == vo.rptGroupId); data[i].name = data[i].name + "," + vo.name; } else { data.Add(vo); for (int i = 0; i < data.FindAll(t => t.cardNo == vo.cardNo).Count; i++) { int j = data.FindIndex(t => t.cardNo == vo.cardNo) + i; data[j].n++; } } } } } catch (Exception objEx) { ExceptionLog.OutPutException("QueryAreaReport-->" + objEx); } return(data); }
/// <summary> /// /// </summary> /// <param name="startDate"></param> /// <param name="endDate"></param> /// <param name="ipNo"></param> /// <returns></returns> public List <entityLisInfo> QueryReport(string startDate, string endDate, string cardNo, ref int printed, ref int unPrinted) { string Sql = string.Empty; DataTable dt = null; SqlHelper svc = null; int n = 0; List <entityLisInfo> data = new List <entityLisInfo>(); try { svc = new SqlHelper(EnumBiz.onlineDB); Sql = @"select distinct d.patientcardid_chr, s.application_id_chr, s.appl_dat, b.report_dat, a.check_content_vchr, s.patient_name_vchr, s.sex_chr, s.age_chr, s.patient_inhospitalno_chr, b.report_group_id_chr, b.report_print_chr, b.status_int from t_opr_lis_application a inner join t_opr_lis_app_report b on a.application_id_chr = b.application_id_chr and b.status_int > 0 inner join t_bse_patientcard d on a.patientcardid_chr = d.patientcardid_chr and d.status_int != 0 left join t_opr_lis_sample s on a.application_id_chr = s.application_id_chr where a.pstatus_int = 2 and b.status_int = 2 and b.report_dat is not null and s.status_int >= 3 and s.status_int <= 6 and s.patient_type_chr = 2 and d.patientcardid_chr = ? and s.modify_dat between to_date(?,'yyyy-mm-dd hh24:mi:ss') and to_date(?,'yyyy-mm-dd hh24:mi:ss') order by s.application_id_chr "; IDataParameter[] param = null; param = svc.CreateParm(3); param[0].Value = cardNo; param[1].Value = startDate + " 00:00:00";; param[2].Value = endDate + " 23:59:59"; dt = svc.GetDataTable(Sql, param); #region 赋值 if (dt != null && dt.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) { entityLisInfo vo = new entityLisInfo(); //vo.barCode = dr["barcode_vchr"].ToString(); vo.name = dr["check_content_vchr"].ToString(); vo.cardNo = dr["patientcardid_chr"].ToString(); vo.patName = dr["patient_name_vchr"].ToString(); vo.sex = dr["sex_chr"].ToString(); vo.age = dr["age_chr"].ToString(); vo.appDate = Function.Datetime(dr["appl_dat"]).ToString("yyyy-MM-dd HH:mm"); vo.rptDate = Function.Datetime(dr["report_dat"]).ToString("yyyy-MM-dd HH:mm"); vo.rptGroupId = dr["report_group_id_chr"].ToString(); vo.applicationId = dr["application_id_chr"].ToString(); vo.checkContent = dr["check_content_vchr"].ToString().Trim(); vo.printeded = dr["report_print_chr"].ToString(); if (vo.printeded == "" || vo.printeded == "0") { unPrinted++; if (vo.checkContent.Contains("性激素6项") && vo.checkContent.Contains("绒毛膜促性腺激素定量")) { unPrinted++; entityLisInfo vo1 = new entityLisInfo(); vo1.checkContent = dr["check_content_vchr"].ToString().Trim(); vo1.printeded = "1"; data.Add(vo1); } else { vo.checkContent = string.Empty; } } else { printed++; } vo.n = ++n; data.Add(vo); } } #endregion } catch (Exception objEx) { ExceptionLog.OutPutException("QueryReport-->" + objEx); printed = -1; } return(data); }