Example #1
0
        /// <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);
        }
Example #2
0
        /// <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);
        }