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)); }
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 }
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); }