Exemple #1
0
        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 + "&currentPage=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);
        }
Exemple #2
0
        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 + "&currentPage=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());
        }