示例#1
0
        public async Task <object> Get(DateTime?startDate, DateTime?endDate)
        {
            var http     = HttpClientHelper.NciHttpClient;
            var response = new BaseResponse <PersonStatusReportModel>();

            response = service.QueryPersonStatusInfo(startDate, endDate.Value.AddDays(1).AddSeconds(-1));
            //长照平台参数
            var request = new PersonStatusFilter();

            request.startDate = startDate;
            request.endDate   = endDate.Value.AddDays(1).AddSeconds(-1);
            try
            {
                var result = await http.PostAsJsonAsync("/api/PersonStatusReport", request);

                var resultContent = await result.Content.ReadAsStringAsync();

                var ltcInfo = JsonConvert.DeserializeObject <PersonStatusReportModel>(resultContent);
                response.Data.DrugEntryNum      = ltcInfo.DrugEntryNum;
                response.Data.NSCPLNum          = ltcInfo.NSCPLNum;
                response.Data.BillV2Num         = ltcInfo.BillV2Num;
                response.Data.CostNum           = ltcInfo.CostNum;
                response.Data.InHospNum         = ltcInfo.InHospNum;
                response.Data.OutHospOfOtherNum = ltcInfo.OutHospOfOtherNum;
                response.Data.OutHospOfDeadNum  = ltcInfo.OutHospOfDeadNum;
                response.Data.LeaveHospNum      = ltcInfo.LeaveHospNum;
            }
            catch (Exception ex)
            {
                response.ResultCode    = -1;
                response.ResultMessage = "长照平台无法连接,请联系管理员!";
            }
            return(response);
        }
        public IHttpActionResult Post(PersonStatusFilter baseRequest)
        {
            var response = service.QueryPersonStatusInfo(baseRequest);

            return(Ok(response));
        }
示例#3
0
        protected async override System.Threading.Tasks.Task CreatFormatter()
        {
            IPersonStatusReportService service = IOCContainer.Instance.Resolve <IPersonStatusReportService>();
            var response = new BaseResponse <PersonStatusReportModel>();

            response = service.QueryPersonStatusInfo(StartTime, EndTime.AddDays(1).AddSeconds(-1));

            var request = new PersonStatusFilter();

            request.startDate = StartTime;
            request.endDate   = EndTime.AddDays(1).AddSeconds(-1);
            try
            {
                var http   = HttpClientHelper.NciHttpClient;
                var result = await http.PostAsJsonAsync("/api/PersonStatusReport", request);

                var resultContent = await result.Content.ReadAsStringAsync();

                var ltcInfo = JsonConvert.DeserializeObject <PersonStatusReportModel>(resultContent);
                response.Data.DrugEntryNum      = ltcInfo.DrugEntryNum;
                response.Data.NSCPLNum          = ltcInfo.NSCPLNum;
                response.Data.BillV2Num         = ltcInfo.BillV2Num;
                response.Data.CostNum           = ltcInfo.CostNum;
                response.Data.InHospNum         = ltcInfo.InHospNum;
                response.Data.OutHospOfOtherNum = ltcInfo.OutHospOfOtherNum;
                response.Data.OutHospOfDeadNum  = ltcInfo.OutHospOfDeadNum;
                response.Data.LeaveHospNum      = ltcInfo.LeaveHospNum;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                response.ResultCode = -1;
            }
            var parameterContainer = new WorkbookParameterContainer();

            parameterContainer.Load(TemplateFormatterPath);
            #region 资格证待遇申请统计(期间)
            SheetParameterContainer sheetContainer = parameterContainer["资格证待遇申请统计(期间)"];
            var dataFormatter = new List <ElementFormatter>();
            #region 截止2016年年12月31日
            #region 申请数量
            dataFormatter.Add(new CellFormatter(sheetContainer["xlan"], response.Data.AppCertlastYearNum.XyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["qlan"], response.Data.AppCertlastYearNum.QkyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["jlan"], response.Data.AppCertlastYearNum.JmyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["tlan"], response.Data.AppCertlastYearNum.TotalNum));
            #endregion
            #region 通过数量
            dataFormatter.Add(new CellFormatter(sheetContainer["xlbn"], response.Data.ByCertlastYearNum.XyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["qlbn"], response.Data.ByCertlastYearNum.QkyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["jlbn"], response.Data.ByCertlastYearNum.JmyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["tlbn"], response.Data.ByCertlastYearNum.TotalNum));
            #endregion
            #region 未通过数量
            dataFormatter.Add(new CellFormatter(sheetContainer["xlun"], response.Data.UnAppCertlastYearNum.XyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["qlun"], response.Data.UnAppCertlastYearNum.QkyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["jlun"], response.Data.UnAppCertlastYearNum.JmyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["tlun"], response.Data.UnAppCertlastYearNum.TotalNum));
            #endregion
            #region 取消数量
            dataFormatter.Add(new CellFormatter(sheetContainer["xlcn"], response.Data.CancelCertlastYearNum.XyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["qlcn"], response.Data.CancelCertlastYearNum.QkyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["jlcn"], response.Data.CancelCertlastYearNum.JmyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["tlcn"], response.Data.CancelCertlastYearNum.TotalNum));
            #endregion
            #endregion
            #region 截止2017年3月31日
            #region 申请数量
            dataFormatter.Add(new CellFormatter(sheetContainer["xan"], response.Data.AppCertYearNum.XyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["qan"], response.Data.AppCertYearNum.QkyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["jan"], response.Data.AppCertYearNum.JmyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["tan"], response.Data.AppCertYearNum.TotalNum));
            #endregion
            #region 通过数量
            dataFormatter.Add(new CellFormatter(sheetContainer["xbn"], response.Data.ByCertYearNum.XyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["qbn"], response.Data.ByCertYearNum.QkyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["jbn"], response.Data.ByCertYearNum.JmyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["tbn"], response.Data.ByCertYearNum.TotalNum));
            #endregion
            #region 未通过数量
            dataFormatter.Add(new CellFormatter(sheetContainer["xun"], response.Data.UnAppCertYearNum.XyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["qun"], response.Data.UnAppCertYearNum.QkyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["jun"], response.Data.UnAppCertYearNum.JmyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["tun"], response.Data.UnAppCertYearNum.TotalNum));
            #endregion
            #region 取消数量
            dataFormatter.Add(new CellFormatter(sheetContainer["xcn"], response.Data.CancelCertYearNum.XyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["qcn"], response.Data.CancelCertYearNum.QkyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["jcn"], response.Data.CancelCertYearNum.JmyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["tcn"], response.Data.CancelCertYearNum.TotalNum));
            #endregion

            #endregion
            #region 查询期间
            #region 申请数量
            dataFormatter.Add(new CellFormatter(sheetContainer["xasn"], response.Data.AppCertSearchYearNum.XyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["qasn"], response.Data.AppCertSearchYearNum.QkyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["jasn"], response.Data.AppCertSearchYearNum.JmyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["tasn"], response.Data.AppCertSearchYearNum.TotalNum));
            #endregion
            #region 通过数量
            dataFormatter.Add(new CellFormatter(sheetContainer["xsbn"], response.Data.ByCertSearchYearNum.XyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["qsbn"], response.Data.ByCertSearchYearNum.QkyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["jsbn"], response.Data.ByCertSearchYearNum.JmyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["tsbn"], response.Data.ByCertSearchYearNum.TotalNum));
            #endregion
            #region 未通过数量
            dataFormatter.Add(new CellFormatter(sheetContainer["xsun"], response.Data.UnAppCertSearchYearNum.XyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["qsun"], response.Data.UnAppCertSearchYearNum.QkyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["jsun"], response.Data.UnAppCertSearchYearNum.JmyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["tsun"], response.Data.UnAppCertSearchYearNum.TotalNum));
            #endregion
            #region 取消数量
            dataFormatter.Add(new CellFormatter(sheetContainer["xscn"], response.Data.CancelCertSearchYearNum.XyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["qscn"], response.Data.CancelCertSearchYearNum.QkyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["jscn"], response.Data.CancelCertSearchYearNum.JmyyNum));
            dataFormatter.Add(new CellFormatter(sheetContainer["tscn"], response.Data.CancelCertSearchYearNum.TotalNum));
            #endregion

            #endregion

            Formatter = new SheetFormatter("资格证待遇申请统计(期间)", dataFormatter.ToArray());
            #endregion

            #region 操作数据(期间)
            SheetParameterContainer billsheetContainer = parameterContainer["操作数据(期间)"];
            var billdataFormatter = new List <ElementFormatter>();
            #region 药品导入数
            billdataFormatter.Add(new CellFormatter(billsheetContainer["xden"], response.Data.DrugEntryNum.XyyNum));
            billdataFormatter.Add(new CellFormatter(billsheetContainer["qden"], response.Data.DrugEntryNum.QkyyNum));
            billdataFormatter.Add(new CellFormatter(billsheetContainer["jden"], response.Data.DrugEntryNum.JmyyNum));
            billdataFormatter.Add(new CellFormatter(billsheetContainer["tden"], response.Data.DrugEntryNum.TotalNum));
            #endregion
            #region 护理计划
            billdataFormatter.Add(new CellFormatter(billsheetContainer["xnspn"], response.Data.NSCPLNum.XyyNum));
            billdataFormatter.Add(new CellFormatter(billsheetContainer["qnspn"], response.Data.NSCPLNum.QkyyNum));
            billdataFormatter.Add(new CellFormatter(billsheetContainer["jnspn"], response.Data.NSCPLNum.JmyyNum));
            billdataFormatter.Add(new CellFormatter(billsheetContainer["tnspn"], response.Data.NSCPLNum.TotalNum));
            #endregion
            #region 账单数量
            billdataFormatter.Add(new CellFormatter(billsheetContainer["xbilln"], response.Data.BillV2Num.XyyNum));
            billdataFormatter.Add(new CellFormatter(billsheetContainer["qbilln"], response.Data.BillV2Num.QkyyNum));
            billdataFormatter.Add(new CellFormatter(billsheetContainer["jbilln"], response.Data.BillV2Num.JmyyNum));
            billdataFormatter.Add(new CellFormatter(billsheetContainer["tbilln"], response.Data.BillV2Num.TotalNum));
            #endregion
            #region 总费用
            billdataFormatter.Add(new CellFormatter(billsheetContainer["xcostn"], response.Data.CostNum.XyyNum));
            billdataFormatter.Add(new CellFormatter(billsheetContainer["qcostn"], response.Data.CostNum.QkyyNum));
            billdataFormatter.Add(new CellFormatter(billsheetContainer["jcostn"], response.Data.CostNum.JmyyNum));
            billdataFormatter.Add(new CellFormatter(billsheetContainer["tcostn"], response.Data.CostNum.TotalNum));
            #endregion
            Formatter1 = new SheetFormatter("操作数据(期间)", billdataFormatter.ToArray());
            #endregion

            #region 在院不在院情况统计(状态)
            SheetParameterContainer hospsheetContainer = parameterContainer["在院不在院情况统计(状态)"];
            var hospdataFormatter = new List <ElementFormatter>();
            #region 在院人数
            hospdataFormatter.Add(new CellFormatter(hospsheetContainer["xinhospn"], response.Data.InHospNum.XyyNum));
            hospdataFormatter.Add(new CellFormatter(hospsheetContainer["qinhospn"], response.Data.InHospNum.QkyyNum));
            hospdataFormatter.Add(new CellFormatter(hospsheetContainer["jinhospn"], response.Data.InHospNum.JmyyNum));
            hospdataFormatter.Add(new CellFormatter(hospsheetContainer["tinhospn"], response.Data.InHospNum.TotalNum));
            #endregion
            #region 出院人数	 - 其他
            hospdataFormatter.Add(new CellFormatter(hospsheetContainer["xotherhospn"], response.Data.OutHospOfOtherNum.XyyNum));
            hospdataFormatter.Add(new CellFormatter(hospsheetContainer["qotherhospn"], response.Data.OutHospOfOtherNum.QkyyNum));
            hospdataFormatter.Add(new CellFormatter(hospsheetContainer["jotherhospn"], response.Data.OutHospOfOtherNum.JmyyNum));
            hospdataFormatter.Add(new CellFormatter(hospsheetContainer["totherhospn"], response.Data.OutHospOfOtherNum.TotalNum));
            #endregion
            #region 出院人数	 - 死亡
            hospdataFormatter.Add(new CellFormatter(hospsheetContainer["xdeadhospn"], response.Data.OutHospOfDeadNum.XyyNum));
            hospdataFormatter.Add(new CellFormatter(hospsheetContainer["qdeadhospn"], response.Data.OutHospOfDeadNum.QkyyNum));
            hospdataFormatter.Add(new CellFormatter(hospsheetContainer["jdeadhospn"], response.Data.OutHospOfDeadNum.JmyyNum));
            hospdataFormatter.Add(new CellFormatter(hospsheetContainer["tdeadhospn"], response.Data.OutHospOfDeadNum.TotalNum));
            #endregion
            #region 请假天数
            hospdataFormatter.Add(new CellFormatter(hospsheetContainer["xleahospn"], response.Data.LeaveHospNum.XyyNum));
            hospdataFormatter.Add(new CellFormatter(hospsheetContainer["qleahospn"], response.Data.LeaveHospNum.QkyyNum));
            hospdataFormatter.Add(new CellFormatter(hospsheetContainer["jleahospn"], response.Data.LeaveHospNum.JmyyNum));
            hospdataFormatter.Add(new CellFormatter(hospsheetContainer["tleahospn"], response.Data.LeaveHospNum.TotalNum));
            #endregion
            Formatter2 = new SheetFormatter("在院不在院情况统计(状态)", hospdataFormatter.ToArray());
            #endregion
        }
示例#4
0
        public PersonStatusReportModel QueryPersonStatusInfo(PersonStatusFilter baseRequest)
        {
            var response  = new PersonStatusReportModel();
            var xyyValue  = GetEnumDescription(OrgValue.Xyy).ToString();
            var qkyyValue = GetEnumDescription(OrgValue.Qkyy).ToString();
            var jmyyValue = GetEnumDescription(OrgValue.Jmyy).ToString();
            var nDate     = DateTime.Now;

            #region 长照信息统计
            #region 药品导入数
            response.DrugEntryNum          = new StatisticalNum();
            response.DrugEntryNum.TotalNum = (from o in unitOfWork.GetRepository <LTC_NSDRUG>().dbSet
                                              where o.CREATETIME.HasValue && o.CREATETIME >= baseRequest.startDate.Value && o.CREATETIME <= baseRequest.endDate.Value && o.ISDELETE != true && o.STATUS == 0
                                              select 0).Count();
            response.DrugEntryNum.XyyNum = (from o in unitOfWork.GetRepository <LTC_NSDRUG>().dbSet
                                            where o.NSID == xyyValue && o.CREATETIME.HasValue && o.CREATETIME >= baseRequest.startDate.Value && o.CREATETIME <= baseRequest.endDate.Value && o.ISDELETE != true && o.STATUS == 0
                                            select 0).Count();
            response.DrugEntryNum.QkyyNum = (from o in unitOfWork.GetRepository <LTC_NSDRUG>().dbSet
                                             where o.NSID == qkyyValue && o.CREATETIME.HasValue && o.CREATETIME >= baseRequest.startDate.Value && o.CREATETIME <= baseRequest.endDate.Value && o.ISDELETE != true && o.STATUS == 0
                                             select 0).Count();
            response.DrugEntryNum.JmyyNum = (from o in unitOfWork.GetRepository <LTC_NSDRUG>().dbSet
                                             where o.NSID == jmyyValue && o.CREATETIME.HasValue && o.CREATETIME >= baseRequest.startDate.Value && o.CREATETIME <= baseRequest.endDate.Value && o.ISDELETE != true && o.STATUS == 0
                                             select 0).Count();

            #endregion

            #region 护理计划
            response.NSCPLNum = new StatisticalNum();
            var q = from m in unitOfWork.GetRepository <LTC_NSCPL>().dbSet.Where(o => o.CREATEDATE.HasValue && o.CREATEDATE >= baseRequest.startDate.Value && o.CREATEDATE <= baseRequest.endDate.Value)
                    join n in unitOfWork.GetRepository <LTC_REGNCIINFO>().dbSet.Where(o => o.STATUS == 0) on m.FEENO equals n.FEENO into nrd
                    from nr in nrd.DefaultIfEmpty()
                    select new RegNCIInfo
            {
                Feeno      = m.FEENO.Value,
                Status     = nr.STATUS,
                Createtime = m.CREATEDATE.Value,
                NsId       = m.ORGID
            };
            var nscpl = q.Where(m => m.Status == 0 && m.Createtime.HasValue && m.Createtime >= baseRequest.startDate.Value && m.Createtime <= baseRequest.endDate.Value).ToList();
            response.NSCPLNum.TotalNum = nscpl.Count();
            response.NSCPLNum.XyyNum   = nscpl.Count(m => m.NsId == xyyValue);
            response.NSCPLNum.QkyyNum  = nscpl.Count(m => m.NsId == qkyyValue);
            response.NSCPLNum.JmyyNum  = nscpl.Count(m => m.NsId == jmyyValue);
            #endregion

            #region 账单数量
            response.BillV2Num = new StatisticalNum();
            var b = from m in unitOfWork.GetRepository <LTC_BILLV2>().dbSet.Where(o => o.ISDELETE != true && o.STATUS != (int)BillStatus.Refund && o.CREATETIME.HasValue && o.CREATETIME >= baseRequest.startDate.Value && o.CREATETIME <= baseRequest.endDate.Value)
                    select new BillV2
            {
                CreateTime  = m.CREATETIME,
                BillId      = m.BILLID,
                OrgId       = m.ORGID,
                NCIPaysCale = m.NCIPAYSCALE,
            };
            var bill = b.Where(m => m.NCIPaysCale > 0 && m.CreateTime.HasValue && m.CreateTime >= baseRequest.startDate.Value && m.CreateTime <= baseRequest.endDate.Value).ToList();
            response.BillV2Num.TotalNum = bill.Count();
            response.BillV2Num.XyyNum   = bill.Count(m => m.OrgId == xyyValue);
            response.BillV2Num.QkyyNum  = bill.Count(m => m.OrgId == qkyyValue);
            response.BillV2Num.JmyyNum  = bill.Count(m => m.OrgId == jmyyValue);
            #endregion

            #region 总费用
            response.CostNum = new StatisticalSum();
            var c = from m in unitOfWork.GetRepository <LTC_BILLV2>().dbSet.Where(o => o.ISDELETE != true && (o.STATUS == (int)BillStatus.Charge || o.STATUS == (int)BillStatus.Uploaded))
                    join bp in unitOfWork.GetRepository <LTC_BILLV2PAY>().dbSet on m.BILLPAYID equals bp.BILLPAYID into bpi
                    from bpinfo in bpi.DefaultIfEmpty()
                    select new BillV2PAY
            {
                BILLPAYID      = m.BILLPAYID.Value,
                SELFPAY        = m.SELFPAY,
                NCIITEMSELFPAY = m.NCIITEMSELFPAY,
                PAYTIME        = bpinfo.PAYTIME,
                OrgId          = m.ORGID,
                RegScal        = m.NCIPAYSCALE
            };
            var cost = c.Where(m => m.PAYTIME.HasValue && m.PAYTIME >= baseRequest.startDate.Value && m.PAYTIME <= baseRequest.endDate.Value && m.RegScal > 0).ToList();
            response.CostNum.TotalNum = Convert.ToDouble(cost.Sum(m => m.SELFPAY) + cost.Sum(m => m.NCIITEMSELFPAY));
            response.CostNum.XyyNum   = Convert.ToDouble(cost.Where(m => m.OrgId == xyyValue).Sum(m => m.SELFPAY) + cost.Where(m => m.OrgId == xyyValue).Sum(m => m.NCIITEMSELFPAY));
            response.CostNum.QkyyNum  = Convert.ToDouble(cost.Where(m => m.OrgId == qkyyValue).Sum(m => m.SELFPAY) + cost.Where(m => m.OrgId == qkyyValue).Sum(m => m.NCIITEMSELFPAY));
            response.CostNum.JmyyNum  = Convert.ToDouble(cost.Where(m => m.OrgId == jmyyValue).Sum(m => m.SELFPAY) + cost.Where(m => m.OrgId == jmyyValue).Sum(m => m.NCIITEMSELFPAY));
            #endregion
            #endregion

            #region 在院/不在院情况统计
            #region 在院人数
            response.InHospNum = new StatisticalNum();
            var p = from m in unitOfWork.GetRepository <LTC_IPDREG>().dbSet.Where(o => o.IPDFLAG == "I")
                    join n in unitOfWork.GetRepository <LTC_REGNCIINFO>().dbSet.Where(o => o.STATUS == 0) on m.FEENO equals n.FEENO into nrd
                    from nr in nrd.DefaultIfEmpty()
                    select new Person
            {
                IpdFlag = m.IPDFLAG,
                FeeNo   = m.FEENO,
                OrgId   = m.ORGID,
                Status  = nr.STATUS
            };
            var per = p.Where(m => m.IpdFlag == "I" && m.Status == 0).ToList();
            response.InHospNum.TotalNum = per.Count();
            response.InHospNum.XyyNum   = per.Count(m => m.OrgId == xyyValue);
            response.InHospNum.QkyyNum  = per.Count(m => m.OrgId == qkyyValue);
            response.InHospNum.JmyyNum  = per.Count(m => m.OrgId == jmyyValue);
            #endregion
            #region 出院人数

            var outhosp = from m in unitOfWork.GetRepository <LTC_IPDREGOUT>().dbSet.Where(o => o.CLOSEDATE.HasValue && o.CLOSEDATE <= nDate)
                          join n in unitOfWork.GetRepository <LTC_REGNCIINFO>().dbSet.Where(o => o.STATUS == 1) on m.FEENO equals n.FEENO into nrd
                          from nr in nrd.DefaultIfEmpty()
                          select new Ipdregout
            {
                OrgId       = m.ORGID,
                CloseDate   = m.CLOSEDATE,
                CloseReason = m.CLOSEREASON,
                Status      = nr.STATUS,
                FeeNo       = m.FEENO
            };

            #region 其他
            response.OutHospOfOtherNum = new StatisticalNum();
            var outhospList = outhosp.Where(m => m.CloseReason != "006" && m.Status == 1).ToList();

            response.OutHospOfOtherNum.TotalNum = outhospList.Distinct(new PersonNumComparer()).Count();
            response.OutHospOfOtherNum.XyyNum   = outhospList.Distinct(new PersonNumComparer()).Count(m => m.OrgId == xyyValue);
            response.OutHospOfOtherNum.QkyyNum  = outhospList.Distinct(new PersonNumComparer()).Count(m => m.OrgId == qkyyValue);
            response.OutHospOfOtherNum.JmyyNum  = outhospList.Distinct(new PersonNumComparer()).Count(m => m.OrgId == jmyyValue);
            #endregion
            #region 死亡
            response.OutHospOfDeadNum = new StatisticalNum();
            var deadList = outhosp.Where(m => m.CloseReason == "006" && m.Status == 1).ToList();
            response.OutHospOfDeadNum.TotalNum = deadList.Distinct(new PersonNumComparer()).Count();
            response.OutHospOfDeadNum.XyyNum   = deadList.Distinct(new PersonNumComparer()).Count(m => m.OrgId == xyyValue);
            response.OutHospOfDeadNum.QkyyNum  = deadList.Distinct(new PersonNumComparer()).Count(m => m.OrgId == qkyyValue);
            response.OutHospOfDeadNum.JmyyNum  = deadList.Distinct(new PersonNumComparer()).Count(m => m.OrgId == jmyyValue);
            #endregion
            #endregion

            #region 请假
            var leahosp = from m in unitOfWork.GetRepository <LTC_LEAVEHOSP>().dbSet.Where(o => o.RETURNDATE.HasValue && o.RETURNDATE >= nDate && o.STARTDATE.HasValue && o.STARTDATE <= nDate && o.ISDELETE != true)
                          join n in unitOfWork.GetRepository <LTC_REGNCIINFO>().dbSet.Where(o => o.STATUS == 0) on m.FEENO equals n.FEENO into nrd
                          from nr in nrd.DefaultIfEmpty()
                          select new LeaveHosp
            {
                OrgId  = m.ORGID,
                Status = nr.STATUS
            };
            response.LeaveHospNum = new StatisticalNum();
            var leavehospList = leahosp.Where(m => m.Status == 0).ToList();
            response.LeaveHospNum.TotalNum = leavehospList.Count();
            response.LeaveHospNum.XyyNum   = leavehospList.Count(m => m.OrgId == xyyValue);
            response.LeaveHospNum.QkyyNum  = leavehospList.Count(m => m.OrgId == qkyyValue);
            response.LeaveHospNum.JmyyNum  = leavehospList.Count(m => m.OrgId == jmyyValue);


            response.InHospNum.TotalNum -= response.LeaveHospNum.TotalNum;
            response.InHospNum.XyyNum   -= response.LeaveHospNum.XyyNum;
            response.InHospNum.QkyyNum  -= response.LeaveHospNum.QkyyNum;
            response.InHospNum.JmyyNum  -= response.LeaveHospNum.JmyyNum;


            #endregion
            #endregion
            return(response);
        }