public async Task <IHttpActionResult> Get(int CurrentPage, int PageSize, DateTime?startDate = null, DateTime?endDate = null, string mark = "") { BaseResponse <object> response = new BaseResponse <object>(); switch (mark) { case "MonthFee": var nsno = service.GetNsno(); var result = await HttpClientHelper.LtcHttpClient.GetAsync("/api/MonthFee?sDate=" + startDate.Value.ToString("yyyy-MM") + "&eDate=" + endDate.Value.ToString("yyyy-MM") + "-" + "&nsno=" + nsno + "¤tPage=" + CurrentPage + "&pageSize=" + PageSize); var res = result.Content.ReadAsAsync <BaseResponse <IList <TreatmentAccount> > >().Result; response.RecordsCount = res.RecordsCount; response.PagesCount = res.PagesCount; List <PrintMonthFee> list = new List <PrintMonthFee>(); try { list = service.GetPrintData(res); } catch { return(Ok(response)); } object obj = new { dataList = list, tHospDay = list.Sum(s => s.HospDay), tTotalAmount = list.Sum(s => s.TotalAmount), tNCIPay = list.Sum(s => s.NCIPay) }; response.Data = obj; break; } return(Ok(response)); }
protected async System.Threading.Tasks.Task Operation(WordDocument doc, string date, long?nSMonFeeID) { IBillV2Service service = IOCContainer.Instance.Resolve <IBillV2Service>(); List <PrintMonthFee> list = new List <PrintMonthFee>(); if (nSMonFeeID.HasValue) { var result = await HttpClientHelper.LtcHttpClient.GetAsync("/api/MonthFee/GetResMonthData?NSMonFeeID=" + nSMonFeeID.Value + "¤tPage=1&pageSize=1000"); var res = result.Content.ReadAsAsync <BaseResponse <IList <ResidentMonFeeModel> > >().Result; list = service.GetPrintData(res); } else { BaseRequest <MonthFeeFilter> request = new BaseRequest <MonthFeeFilter>() { CurrentPage = 1, PageSize = 1000, Data = { date = date } }; list = service.GetPrintData(request); } DateTime sDate, eDate; CalculateMonStartEndTime(date, out sDate, out eDate); doc.ReplaceText("sDate", sDate.ToString("yyyy年MM月dd日")); doc.ReplaceText("eDate", eDate.ToString("yyyy年MM月dd日")); doc.ReplaceText("Year", eDate.ToString("yyyy")); IDictManageService dictManageService = IOCContainer.Instance.Resolve <IDictManageService>(); CodeFilter codeFilter = new CodeFilter(); codeFilter.ItemTypes = new string[] { "A00.001", "A00.052" }; var dict = (List <CodeValue>)dictManageService.QueryCode(codeFilter).Data; doc.ReplaceText("Org", GetOrgName(SecurityHelper.CurrentPrincipal.OrgId)); DataTable dt = new DataTable(); dt.Columns.Add("c1"); dt.Columns.Add("c2"); dt.Columns.Add("c3"); dt.Columns.Add("c4"); dt.Columns.Add("c5"); dt.Columns.Add("c6"); dt.Columns.Add("c7"); dt.Columns.Add("c8"); dt.Columns.Add("c9"); dt.Columns.Add("c10"); dt.Columns.Add("c11"); dt.Columns.Add("c12"); dt.Columns.Add("c13"); dt.Columns.Add("c14"); dt.Columns.Add("c15"); int i = 1; foreach (PrintMonthFee monFee in list) { var dr = dt.NewRow(); dr["c1"] = i++; dr["c2"] = monFee.Name; dr["c3"] = dict.Find(it => it.ItemType == "A00.001" && it.ItemCode == monFee.Sex) != null? dict.Find(it => it.ItemType == "A00.001" && it.ItemCode == monFee.Sex).ItemName : ""; dr["c4"] = monFee.ResidentSSId; dr["c5"] = monFee.BrithPlace; dr["c6"] = dict.Find(it => it.ItemType == "A00.052" && it.ItemCode == monFee.RsStatus) != null? dict.Find(it => it.ItemType == "A00.052" && it.ItemCode == monFee.RsStatus).ItemName : ""; dr["c7"] = monFee.DiseaseDiag; dr["c8"] = monFee.CareTypeId.Replace("1", "专护").Replace("2", "专护").Replace("3", "机构护理"); dr["c9"] = monFee.CertStartTime == null ? null : monFee.CertStartTime.Value.ToString("yyyy-MM-dd"); dr["c10"] = monFee.InDate == null ? null : monFee.InDate.Value.ToString("yyyy-MM-dd"); dr["c11"] = monFee.OutDate == null ? null : monFee.OutDate.Value.ToString("yyyy-MM-dd"); dr["c12"] = monFee.HospDay; dr["c13"] = monFee.TotalAmount; dr["c14"] = monFee.NCIPayLevel; dr["c15"] = monFee.NCIPay; dt.Rows.Add(dr); } doc.FillTable(0, dt, "", "", 1); }
protected async override System.Threading.Tasks.Task CreatFormatter() { Dictionary <string, string> dic = new Dictionary <string, string>() { { "32975608-1", "巨鹿县医院" }, { "35904143-1", "巨鹿祈康医院" }, { "67466499-7", "巨鹿健民医院" } }; IBillV2Service service = IOCContainer.Instance.Resolve <IBillV2Service>(); //var sDate =DictHelper.GetFeeIntervalByDate(StartTime).Month; //var eDate = DictHelper.GetFeeIntervalByDate(EndTime).Month; var nsno = service.GetNsno(); BaseResponse <IList <TreatmentAccount> > res = new BaseResponse <IList <TreatmentAccount> >(); List <PrintMonthFee> list = new List <PrintMonthFee>(); try { var result = await HttpClientHelper.LtcHttpClient.GetAsync("/api/MonthFee?sDate=" + StartTime.ToString("yyyy-MM") + "&eDate=" + EndTime.ToString("yyyy-MM") + "&nsno=" + nsno + "¤tPage=1&pageSize=1000"); res = result.Content.ReadAsAsync <BaseResponse <IList <TreatmentAccount> > >().Result; } catch { throw new NOContactException(); } try { list = service.GetPrintData(res); } catch { throw new NoDataException(); } var parameterContainer = new WorkbookParameterContainer(); parameterContainer.Load(TemplateFormatterPath); SheetParameterContainer sheetContainer = parameterContainer["Sheet1"]; var dataFormatter = new List <ElementFormatter>(); dataFormatter.Add(new CellFormatter(sheetContainer["Org"], "单位:" + dic[SecurityHelper.CurrentPrincipal.OrgId] + " " + GetOrgName(SecurityHelper.CurrentPrincipal.OrgId))); dataFormatter.Add(new CellFormatter(sheetContainer["Date"], "核算时间:" + DictHelper.GetFeeIntervalByYearMonth(StartTime.ToString("yyyy-MM")).StartDate + "-" + DictHelper.GetFeeIntervalByYearMonth(EndTime.ToString("yyyy-MM")).EndDate)); dataFormatter.Add(new CellFormatter(sheetContainer["THospDay"], list.Sum(s => s.HospDay))); dataFormatter.Add(new CellFormatter(sheetContainer["TTotalAmount"], list.Sum(s => s.TotalAmount))); dataFormatter.Add(new CellFormatter(sheetContainer["TNCIPay"], list.Sum(s => s.NCIPay))); var indexNum = 1; var tableFormatter = new TableFormatter <PrintMonthFee>(sheetContainer["Index"], list, new CellFormatter <PrintMonthFee>(sheetContainer["Index"], t => indexNum++), new CellFormatter <PrintMonthFee>(sheetContainer["Name"], t => t.Name), new CellFormatter <PrintMonthFee>(sheetContainer["Sex"], t => t.Sex), new CellFormatter <PrintMonthFee>(sheetContainer["ResidentSSId"], t => t.ResidentSSId), new CellFormatter <PrintMonthFee>(sheetContainer["BrithPlace"], t => t.BrithPlace), new CellFormatter <PrintMonthFee>(sheetContainer["RsStatus"], t => t.RsStatus), new CellFormatter <PrintMonthFee>(sheetContainer["DiseaseDiag"], t => t.DiseaseDiag), new CellFormatter <PrintMonthFee>(sheetContainer["CareType"], t => t.CareTypeId), new CellFormatter <PrintMonthFee>(sheetContainer["CertStartTime"], t => t.EvaluationTime.Value.ToString("yyyy-MM-dd")), new CellFormatter <PrintMonthFee>(sheetContainer["InDate"], t => t.InDate.Value.ToString("yyyy-MM-dd")), new CellFormatter <PrintMonthFee>(sheetContainer["OutDate"], t => t.OutDate.Value.ToString("yyyy-MM-dd")), new CellFormatter <PrintMonthFee>(sheetContainer["HospDay"], t => t.HospDay), new CellFormatter <PrintMonthFee>(sheetContainer["TotalAmount"], t => t.TotalAmount), new CellFormatter <PrintMonthFee>(sheetContainer["NCIPayLevel"], t => t.NCIPayLevel), new CellFormatter <PrintMonthFee>(sheetContainer["NCIPay"], t => t.NCIPay)); dataFormatter.Add(tableFormatter); Formatter = new SheetFormatter("Sheet1", dataFormatter.ToArray()); }