public void DowdloadH10(string templateName, string startDateStr, string endDateStr, string feeNo, string floorId) { using (WordDocument doc = new WordDocument()) { //加载模板 doc.LoadModelDoc(templateName); var carelist = GetCareH10(startDateStr, endDateStr, feeNo, floorId); if (carelist != null && carelist.Count > 0) { foreach (var item in carelist) { doc.NewPartDocument(); IReportManageService reportManageService = IOCContainer.Instance.Resolve <IReportManageService>(); var nscpl = reportManageService.GetNSCPLReportView(Convert.ToInt32(item.ID)); doc.BindReportData(nscpl); doc.AddPartDocument(); } } if (!doc.IsDocNull()) { Util.DownloadFile(doc.SaveMarkDoc("护理计画")); } } }
public void DowdloadH35(string templateName, string startDateStr, string endDateStr, string feeNo, string floorId) { using (WordDocument doc = new WordDocument()) { //加载模板 doc.LoadModelDoc(templateName); var carelist = GetCareH35(startDateStr, endDateStr, feeNo, floorId); if (carelist != null && carelist.Count > 0) { foreach (var item in carelist) { doc.NewPartDocument(); IReportManageService reportManageService = IOCContainer.Instance.Resolve <IReportManageService>(); var caredemandevalprivew = reportManageService.GetCareDemandHis(Convert.ToInt32(item.ID), SecurityHelper.CurrentPrincipal.OrgId); doc.BindReportData(caredemandevalprivew); doc.AddPartDocument(); } } if (!doc.IsDocNull()) { Util.DownloadFile(doc.SaveDoc("护理需求评估")); } } }
public ActionResult ResidentExport() { string templateName = Request["templateName"]; string startDateStr = Request["startDate"]; string endDateStr = Request["endDate"]; string floorId = Request["floorId"] ?? ""; int feeNo = 0; if (Request["feeNo"] != null) { feeNo = int.Parse(Request["feeNo"]); } if (floorId != "") { feeNo = 0; } ResidentFilter.Data.FeeNo = feeNo; ResidentFilter.Data.FloorId = floorId; list = residentService.QueryResidentExtend(ResidentFilter); #region 新近住民环境及辅导记录 if (templateName == "LTC_NEWEnvironmentTutor") { using (WordDocument doc = new WordDocument()) { doc.LoadModelDoc(templateName); foreach (Resident r in list.Data) { BaseRequest BaseRequest = new BaseRequest(); BaseRequest <NewResideEntenvRecFilter> request = new BaseRequest <NewResideEntenvRecFilter>(); request.Data.FEENO = r.FeeNo; var NewRegEnvAdaptation = reportManageService.QueryNewRegEnvAdaptation(request); for (var i = 0; i < NewRegEnvAdaptation.Data.Count; i++) { //实例化一个模板 doc.NewPartDocument(); var orginfo = orgserver.GetOrg(NewRegEnvAdaptation.Data[i].ORGID); var p = orgserver.GetEmployee(NewRegEnvAdaptation.Data[i].CREATEBY); var response = new BaseResponse <List <object> >(new List <object>()); response.Data.Add (new { NAME = r.Name, INDATE = NewRegEnvAdaptation.Data[i].INDATE, W1EVALDATE = NewRegEnvAdaptation.Data[i].W1EVALDATE, INFORMFLAG = (NewRegEnvAdaptation.Data[i].INFORMFLAG == 1) ? "是" : "否", COMMFLAG = (NewRegEnvAdaptation.Data[i].COMMFLAG == 1) ? "是" : "否", INTERPERSONAL = NewRegEnvAdaptation.Data[i].INTERPERSONAL, PARTICIPATION = NewRegEnvAdaptation.Data[i].PARTICIPATION, COORDINATION = NewRegEnvAdaptation.Data[i].COORDINATION, EMOTION = NewRegEnvAdaptation.Data[i].EMOTION, RESISTANCE = NewRegEnvAdaptation.Data[i].RESISTANCE, HELP = NewRegEnvAdaptation.Data[i].HELP, PROCESSACTIVITY = NewRegEnvAdaptation.Data[i].PROCESSACTIVITY, TRACEREC2 = NewRegEnvAdaptation.Data[i].TRACEREC, WEEK = NewRegEnvAdaptation.Data[i].WEEK, W2EVALDATE = NewRegEnvAdaptation.Data[i].W2EVALDATE, W3EVALDATE = NewRegEnvAdaptation.Data[i].W3EVALDATE, W4EVALDATE = NewRegEnvAdaptation.Data[i].W4EVALDATE, W1EVALUATION = NewRegEnvAdaptation.Data[i].EVALUATION, CREATEBY = NewRegEnvAdaptation.Data[i].CREATEBY, ORG = orginfo.Data.OrgName, }); MultiBindData(response.Data[0], doc); //添加一个模板 doc.AddPartDocument(); } } //导出一个模板 //Util.DownloadFile(doc.SaveDoc()); if (!doc.IsDocNull()) { Util.DownloadFile(doc.SaveMarkDoc(templateName)); } } } #endregion #region 新近住民环境介绍记录表 else if (templateName == "LTC_NEWEnvironmentRec") { using (WordDocument doc = new WordDocument()) { doc.LoadModelDoc(templateName); foreach (Resident r in list.Data) { BaseRequest <NewResideEntenvRecFilter> request = new BaseRequest <NewResideEntenvRecFilter>(); request.Data.FEENO = r.FeeNo; var NewResideEntenvRec = reportManageService.QueryNewResideEntenvRec(request); for (var i = 0; i < NewResideEntenvRec.Data.Count; i++) { //实例化一个模板 doc.NewPartDocument(); var orginfo = orgserver.GetOrg(NewResideEntenvRec.Data[i].ORGID); DateTime t1 = DateTime.Now; DateTime t2 = Convert.ToDateTime(NewResideEntenvRec.Data[i].BIRTHDATE); var response = new BaseResponse <List <object> >(new List <object>()); response.Data.Add (new { age = t1.Year - t2.Year, ID = NewResideEntenvRec.Data[i].ID, RESIDENGNO = NewResideEntenvRec.Data[i].RESIDENGNO, BEDNO = NewResideEntenvRec.Data[i].BEDNO, SEX = (NewResideEntenvRec.Data[i].SEX == "M") ? "男" : "女", INDATE = NewResideEntenvRec.Data[i].INDATE, RECORDDATE = NewResideEntenvRec.Data[i].RECORDDATE, BIRTHDATE = NewResideEntenvRec.Data[i].BIRTHDATE, FAMILYPARTICIPATION = (NewResideEntenvRec.Data[i].FAMILYPARTICIPATION == true) ? "是" : "否", CONTRACTFLAG = ((NewResideEntenvRec.Data[i].CONTRACTFLAG == true) ? "01.契约内容说明" : "") + ((NewResideEntenvRec.Data[i].LIFEFLAG == true) ? "02.生活公约说明" : ""), STAFF1 = NewResideEntenvRec.Data[i].STAFF1, REGULARACTIVITY = ((NewResideEntenvRec.Data[i].REGULARACTIVITY == true) ? "01.定期活动说明" : "") + ((NewResideEntenvRec.Data[i].NOTREGULARACTIVITY == true) ? "02.不定期活动说明" : ""), STAFF2 = NewResideEntenvRec.Data[i].STAFF2, name = r.Name, BELLFLAG = ((NewResideEntenvRec.Data[i].BELLFLAG == true) ? "01.紧急铃" : "") + " " + ((NewResideEntenvRec.Data[i].LAMPFLAG == true) ? "02.床头灯" : "") + " " + ((NewResideEntenvRec.Data[i].TVFLAG == true) ? "03.电视" : "") + " " + ((NewResideEntenvRec.Data[i].LIGHTSWITCH == true) ? "04.电灯开关" : "") + " " + ((NewResideEntenvRec.Data[i].ESCAPEDEVICE == true) ? "05.逃生设备" : "") + " " + ((NewResideEntenvRec.Data[i].ENVIRONMENT == true) ? "06.公共环境" : "") + " " + ((NewResideEntenvRec.Data[i].COMMUNITYFACILITIES == true) ? "07.社区设施" : "") + " " + ((NewResideEntenvRec.Data[i].POSTOFFICE == true) ? "邮局" : "") + " " + ((NewResideEntenvRec.Data[i].SCHOOL == true) ? "学校" : "") + " " + ((NewResideEntenvRec.Data[i].BANK == true) ? "银行" : "") + " " + ((NewResideEntenvRec.Data[i].STATION == true) ? "车站" : "") + " " + ((NewResideEntenvRec.Data[i].PARK == true) ? "公园" : "") + " " + ((NewResideEntenvRec.Data[i].TEMPLE == true) ? "寺庙" : "") + " " + ((NewResideEntenvRec.Data[i].HOSPITAL == true) ? "医疗院所" : "") + " " + ((NewResideEntenvRec.Data[i].OTHERFACILITIES == true) ? "其他" : ""), CLEANLINESS = ((NewResideEntenvRec.Data[i].CLEANLINESS == true) ? "01.个人清洁" : "") + " " + ((NewResideEntenvRec.Data[i].MEDICALCARE == true) ? "02.医保保健" : "") + " " + ((NewResideEntenvRec.Data[i].MEALSERVICE == true) ? "03.膳食服务" : "") + " " + ((NewResideEntenvRec.Data[i].WORKACTIVITIES == true) ? "04.社工拟定活动" : ""), STAFF3 = NewResideEntenvRec.Data[i].STAFF3, STAFF4 = NewResideEntenvRec.Data[i].STAFF4, PERSONINCHARGE = ((NewResideEntenvRec.Data[i].PERSONINCHARGE == true) ? "01.负责人 " : "") + " " + ((NewResideEntenvRec.Data[i].DIRECTOR == true) ? "02.主任" : "") + " " + ((NewResideEntenvRec.Data[i].NURSE == true) ? "03.护士" : "") + " " + ((NewResideEntenvRec.Data[i].NURSEAIDES == true) ? "04.照顾服务员" : "") + " " + ((NewResideEntenvRec.Data[i].RESIDENT == true) ? "05.住民" : "") + " " + ((NewResideEntenvRec.Data[i].DOCTOR == true) ? "06.医师" : "") + " " + ((NewResideEntenvRec.Data[i].SOCIALWORKER == true) ? "07.社工" : "") + " " + ((NewResideEntenvRec.Data[i].DIETITIAN == true) ? "08.营养师" : "") + " " + ((NewResideEntenvRec.Data[i].OTHERPEOPLE == true) ? "09.其他人员" : ""), STAFF5 = NewResideEntenvRec.Data[i].STAFF5, RECORDBY = NewResideEntenvRec.Data[i].RECORDBY, FEENO = NewResideEntenvRec.Data[i].FEENO, REGNO = NewResideEntenvRec.Data[i].REGNO, org = orginfo.Data.OrgName }); MultiBindData(response.Data[0], doc); //添加一个模板 doc.AddPartDocument(); } } //导出一个模板 //Util.DownloadFile(doc.SaveDoc()); if (!doc.IsDocNull()) { Util.DownloadFile(doc.SaveMarkDoc(templateName)); } } } #endregion #region 个案基本资料 else if (templateName == "PA001") { using (WordDocument doc = new WordDocument()) { doc.LoadModelDoc(templateName); foreach (Resident r in list.Data) { doc.NewPartDocument(); BaseRequest BaseRequest = new BaseRequest(); BaseRequest <NewResideEntenvRecFilter> request = new BaseRequest <NewResideEntenvRecFilter>(); request.Data.REGNO = r.RegNo; var Person = residentService.GetPersonExtend(r.RegNo.Value); if (Person.Data.ImgUrl != null) { string mapPath = string.Format("{0}\\{1}", AppDomain.CurrentDomain.BaseDirectory, Person.Data.ImgUrl.Replace("/", @"\")); if (System.IO.File.Exists(mapPath)) { doc.InsertImage("photo", mapPath, 150, 200); } } CodeFilter codeFilter = new CodeFilter(); codeFilter.ItemTypes = new string[] { "A00.030", "A00.032", "A00.035", "A00.001", "A00.007", "A00.008", "A00.011" }; var dict = (List <CodeValue>)dictManageService.QueryCode(codeFilter).Data; CodeValue findItem; Person.Data.Sex = dict.Find(it => it.ItemType == "A00.001" && it.ItemCode == Person.Data.Sex) != null? dict.Find(it => it.ItemType == "A00.001" && it.ItemCode == Person.Data.Sex).ItemName : ""; Person.Data.Education = dict.Find(it => it.ItemType == "A00.007" && it.ItemCode == Person.Data.Education) != null? dict.Find(it => it.ItemType == "A00.007" && it.ItemCode == Person.Data.Education).ItemName : ""; Person.Data.ReligionCode = dict.Find(it => it.ItemType == "A00.008" && it.ItemCode == Person.Data.ReligionCode) != null? dict.Find(it => it.ItemType == "A00.008" && it.ItemCode == Person.Data.ReligionCode).ItemName : ""; Person.Data.MerryFlag = dict.Find(it => it.ItemType == "A00.011" && it.ItemCode == Person.Data.MerryFlag) != null? dict.Find(it => it.ItemType == "A00.011" && it.ItemCode == Person.Data.MerryFlag).ItemName : ""; MultiBindData(Person.Data, doc); 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"); if (Person.Data.RelationDtl != null) { foreach (var item in Person.Data.RelationDtl) { var dr = dt.NewRow(); dr["c1"] = item.Name; findItem = dict.Find(it => it.ItemType == "A00.030" && it.ItemCode == item.Contrel); dr["c2"] = findItem != null ? findItem.ItemName : ""; findItem = dict.Find(it => it.ItemType == "A00.032" && it.ItemCode == item.RelationType); dr["c3"] = findItem != null ? findItem.ItemName : ""; dr["c4"] = item.Phone; dr["c5"] = item.Address; findItem = dict.Find(it => it.ItemType == "A00.035" && it.ItemCode == item.WorkCode); dr["c6"] = findItem != null ? findItem.ItemName : ""; dt.Rows.Add(dr); } } doc.MultiFillTable(0, dt, "", "", 32); doc.AddPartDocument(); dt.Dispose(); } //导出一个模板 Util.DownloadFile(doc.SaveDoc()); } } #endregion return(View("ResidentExport")); }
/// <summary> /// 护理记录 /// </summary> /// <param name="templateName"></param> /// <param name="startDateStr"></param> /// <param name="endDateStr"></param> /// <param name="feeNo"></param> /// <param name="classType"></param> public void DowdloadP18(string templateName, string startDateStr, string endDateStr, string feeNo, string classType, string floorId, string printOrder) { using (WordDocument doc = new WordDocument()) { //加载模板 doc.LoadModelDoc(templateName); var carelist = GetCareP18(startDateStr, endDateStr, feeNo, classType, floorId); if (carelist != null && carelist.Count > 0) { List <string> list = new List <string>(); foreach (var item in carelist) { list.Add(item.FEENO.ToString()); } var feenolist = list.Distinct().ToList(); if (feenolist != null && feenolist.Count > 0) { foreach (var item in feenolist) { doc.NewPartDocument(); IReportManageService reportManageService = IOCContainer.Instance.Resolve <IReportManageService>(); INursingWorkstationService nursingWorkstationService = IOCContainer.Instance.Resolve <INursingWorkstationService>(); IDictManageService dictManageService = IOCContainer.Instance.Resolve <IDictManageService>(); var residentInfo = carePlanservice.GetExportResidentInfo(Convert.ToInt64(item)); if (residentInfo != null) { doc.ReplacePartText("Org", residentInfo.Org ?? ""); doc.ReplacePartText("Name", residentInfo.Name ?? ""); doc.ReplacePartText("Sex", residentInfo.Sex ?? "未填"); doc.ReplacePartText("Age", residentInfo.Age.HasValue ? residentInfo.Age.ToString() : ""); doc.ReplacePartText("FeeNo", residentInfo.ResidentNo); doc.ReplacePartText("Floor", residentInfo.Floor ?? ""); doc.ReplacePartText("RoomNo", residentInfo.RoomNo ?? ""); } else { doc.ReplacePartText("Org", ""); doc.ReplacePartText("Name", ""); doc.ReplacePartText("Sex", "未填"); doc.ReplacePartText("Age", ""); doc.ReplacePartText("FeeNo", ""); doc.ReplacePartText("Floor", ""); doc.ReplacePartText("RoomNo", ""); } BaseRequest <NursingRecFilter> nursingRecFilter = new BaseRequest <NursingRecFilter>(); nursingRecFilter.CurrentPage = 1; nursingRecFilter.PageSize = 1000; nursingRecFilter.Data.PrintFlag = true; nursingRecFilter.Data.FeeNo = (Convert.ToInt64(item)); nursingRecFilter.Data.Order = printOrder; var response = nursingWorkstationService.QueryNursingRec(nursingRecFilter); response.Data = response.Data.Where(o => o.ClassType == classType).ToList(); DateTime?startDate = null; DateTime?endDate = null; if (startDateStr != "") { startDate = Convert.ToDateTime(startDateStr); } if (endDateStr != "") { endDate = Convert.ToDateTime(endDateStr).AddDays(1).AddMilliseconds(-1); } if (startDate.HasValue && response.Data != null) { response.Data = response.Data.Where(m => m.RecordDate >= startDate.Value).ToList(); } if (endDate.HasValue && response.Data != null) { response.Data = response.Data.Where(m => m.RecordDate <= endDate.Value).ToList(); } CodeFilter codeFilter = new CodeFilter { ItemTypes = new string[] { "J00.005" } }; var dict = (List <CodeValue>)dictManageService.QueryCode(codeFilter).Data; DataTable dt = new DataTable(); dt.Columns.Add("c1"); dt.Columns.Add("c2"); dt.Columns.Add("c3"); dt.Columns.Add("c4"); if (response.Data != null) { foreach (var careitem in response.Data) { var dr = dt.NewRow(); var findItem = dict.Find(it => it.ItemType == "J00.005" && it.ItemCode == careitem.ClassType); dr["c1"] = careitem.RecordDate.HasValue ?Convert.ToDateTime(careitem.RecordDate.Value).ToString("yyyy-MM-dd") : ""; dr["c2"] = string.Format("{0} {1}{2}", careitem.RecordDate.HasValue ? careitem.RecordDate.Value.ToString("HH:mm") : "", careitem.ClassType, findItem != null ? findItem.ItemName : ""); dr["c3"] = careitem.Content; dr["c4"] = careitem.RecordNameBy; dt.Rows.Add(dr); } } doc.MultiFillTable(0, dt, "", "", 1); doc.AddPartDocument(); dt.Dispose(); } if (!doc.IsDocNull()) { Util.DownloadFile(doc.SaveMarkDoc("护理记录")); } } } } }
public void DowdloadDLN1(string templateName, string startDateStr, string endDateStr, string feeNo, string floorId) { using (WordDocument doc = new WordDocument()) { //加载模板 doc.LoadModelDoc(templateName); var carelist = GetCarePlanList(startDateStr, endDateStr, feeNo, floorId); if (carelist != null && carelist.Count > 0) { foreach (var item in carelist) { doc.NewPartDocument(); ISocialWorkerManageService reportManageService = IOCContainer.Instance.Resolve <ISocialWorkerManageService>(); var bd = reportManageService.GetActivityRequEval(item.Id).Data; var directionsense = GetNameByCodeL00012(bd.Directionsense); directionsense += "( "; if (bd.Directman == 1) { directionsense += "人 "; } if (bd.Directtime == 1) { directionsense += "时 "; } if (bd.Directaddress == 1) { directionsense += "地 "; } directionsense += ")"; bd.Directionsense = directionsense; var memory = GetNameByCodeL00013(bd.Memory); memory += "( "; if (bd.Memoryflag == 1) { memory += "长期"; } if (bd.Memoryflag == -1) { memory += "短期"; } memory += ")"; bd.Memory = memory; if (bd.Talkedwilling != null) { if (bd.Talkedwilling.Trim().ToUpper() == "TRUE") { bd.Talkedwilling = "有意愿及选择参与之活动内容"; } } if (bd.Talkednowilling != null) { if (bd.Talkednowilling.Trim().ToUpper() == "TRUE") { bd.Talkedwilling = "无意愿参与活动将安排资源介入或个别辅导"; } } if (bd.Nottalked != null) { if (bd.Nottalked.Trim().ToUpper() == "TRUE") { bd.Nottalked = "因生理/心理/认知等障碍由社工预计参与活动"; } else { bd.Nottalked = ""; } } bd.Vision = GetNameByCodeL00010(bd.Vision); bd.Smell = GetNameByCodeL00010(bd.Smell); bd.Sensation = GetNameByCodeL00010(bd.Sensation); bd.Taste = GetNameByCodeL00010(bd.Taste); bd.Hearing = GetNameByCodeL00010(bd.Hearing); bd.Upperlimb = GetNameByCodeL00010(bd.Upperlimb); bd.Lowerlimb = GetNameByCodeL00010(bd.Lowerlimb); bd.Attention = GetNameByCodeL00011(bd.Attention); bd.Comprehension = GetNameByCodeL00013(bd.Comprehension); bd.Expression = GetNameByCodeL00014(bd.Expression); bd.Artactivity = GetWrapData(bd.Artactivity); bd.Aidsactivity = GetWrapData(bd.Aidsactivity); bd.Severeactivity = GetWrapData(bd.Severeactivity); bd.CarerName = item.CarerName; bd.FeeName = item.FeeName; ActivityRequEval ar = new ActivityRequEval(); ar.InDate = bd.InDate.ToString(); ar.EvalDate = bd.EvalDate.ToString(); ar.FeeName = bd.FeeName; ar.Carer = bd.CarerName; ar.Vision = bd.Vision; ar.Attention = bd.Attention; ar.Smell = bd.Smell; ar.Directionsense = bd.Directionsense; ar.Sensation = bd.Sensation; ar.Comprehension = bd.Comprehension; ar.Taste = bd.Taste; ar.Memory = bd.Memory; ar.Hearing = bd.Hearing; ar.Expression = bd.Expression; ar.Upperlimb = bd.Upperlimb; ar.Othernarrative = bd.Othernarrative; ar.Lowerlimb = bd.Lowerlimb; ar.Hallucination = bd.Hallucination; ar.Delusion = bd.Delusion; ar.Emotion = bd.Emotion; ar.Self = bd.Self; ar.Behaviorcontent = bd.Behaviorcontent; ar.Behaviorfreq = bd.Behaviorfreq; ar.Activity = bd.Activity; ar.Talkedwilling = bd.Talkedwilling; ar.Nottalked = bd.Nottalked; ar.Artactivity = bd.Artactivity; ar.Aidsactivity = bd.Aidsactivity; ar.Severeactivity = bd.Severeactivity; doc.BindReportData(ar); doc.AddPartDocument(); } } if (!doc.IsDocNull()) { Util.DownloadFile(doc.SaveDoc("个别化活动需求评估及计画")); } } }
public ActionResult FeeListExport() { string templateName = Request["templateName"]; string startDateStr = Request["startDate"]; string endDateStr = Request["endDate"]; string feeNo = Request["feeNo"]; //string floorId = Request["floorId"] ?? ""; using (WordDocument doc = new WordDocument()) { //加载模板 doc.LoadModelDoc(templateName); switch (templateName) { //费用清单列表 case "FeeListReport": var FeeList = GetFeeData(feeNo, startDateStr, endDateStr); if (FeeList.Count > 0) { foreach (var aitem in FeeList) { if (aitem.regInformation != null && aitem.regInformation.Count > 0 && aitem.feeRecordList != null && aitem.feeRecordList.Count > 0) { foreach (var bitem in FeeList) { if (aitem.regInformation[0].RegNO == bitem.regInformation[0].RegNO && aitem.regInformation[0].FeeNO != bitem.regInformation[0].FeeNO) { foreach (var feeItem in bitem.feeRecordList) { aitem.feeRecordList.Add(feeItem); } bitem.regInformation = null; bitem.feeRecordList = null; } } } } foreach (var item in FeeList) { if (item.regInformation != null && item.regInformation.Count > 0 && item.feeRecordList != null && item.feeRecordList.Count > 0) { doc.NewPartDocument(); doc.ReplacePartText("@Org", GetOrgName(SecurityHelper.CurrentPrincipal.OrgId)); doc.ReplacePartText("@Name", item.regInformation[0].Name ?? ""); if (item.regInformation[0].Gender == null) { doc.ReplacePartText("@Sex", item.regInformation[0].Gender ?? ""); } else { doc.ReplacePartText("@Sex", item.regInformation[0].Gender == "M" ? "男" : "女"); } doc.ReplacePartText("@Age", GetAge(item.regInformation[0].Birthday ?? DateTime.Now, DateTime.Now)); doc.ReplacePartText("@sDate", item.regInformation[0].STime.ToString("yyyy-MM") ?? ""); doc.ReplacePartText("@eDate", item.regInformation[0].ETime.ToString("yyyy-MM") ?? ""); doc.ReplacePartText("@InHosDays", item.regInformation[0].InHosDays.ToString() ?? ""); doc.ReplacePartText("@ResNo", item.regInformation[0].ResidentNo ?? ""); doc.ReplacePartText("@InHosCount", item.regInformation[0].InHosCount.ToString() ?? ""); doc.ReplacePartText("@Floor", item.regInformation[0].Floor ?? ""); doc.ReplacePartText("@RoomNo", item.regInformation[0].RoomNo ?? ""); doc.ReplacePartText("@BedNo", item.regInformation[0].BedNo ?? ""); decimal totalCost = 0; DataTable dt = new DataTable(); //dt.Columns.Add("c1"); dt.Columns.Add("c2", typeof(string)); dt.Columns.Add("c3", typeof(decimal)); dt.Columns.Add("c4", typeof(string)); //dt.Columns.Add("c5"); dt.Columns.Add("c6", typeof(decimal)); dt.Columns.Add("c7", typeof(decimal)); foreach (var fItem in item.feeRecordList) { var dr = dt.NewRow(); //dr["c1"] = fItem.MCCode; dr["c2"] = fItem.ProjectName; dr["c3"] = fItem.UnitPrice; dr["c4"] = fItem.Units; //dr["c5"] = fItem.Spec; dr["c6"] = fItem.Count; dr["c7"] = fItem.Cost; totalCost += fItem.Cost; dt.Rows.Add(dr); } var query = dt.AsEnumerable() .GroupBy(t => t.Field <string>("c2")) .Select(g => new { c2 = g.Key, c3 = g.First().Field <decimal>("c3"), c4 = g.First().Field <string>("c4"), c6 = g.Sum(m => m.Field <decimal>("c6")), c7 = g.Sum(m => m.Field <decimal>("c7")), }).OrderByDescending(x => x.c2); DataTable dtResult = dt.Clone(); query.ToList().ForEach(q => dtResult.Rows.Add(q.c2, q.c3, q.c4, q.c6, q.c7)); DataRow totaldr = dtResult.NewRow(); totaldr["c2"] = "合计"; totaldr["c7"] = totalCost; dtResult.Rows.Add(totaldr); doc.FillPartTable(0, dtResult, "", "", 1); dt.Dispose(); doc.AddPartDocument(); } } } break; } if (!doc.IsDocNull()) { Util.DownloadFile(doc.SaveDoc(templateName)); } } return(View()); }
public ActionResult Export() { string templateName = Request["templateName"]; string startDateStr = Request["startDate"]; string endDateStr = Request["endDate"]; string feeNo = Request["feeNo"]; string floorId = Request["floorId"] ?? ""; using (WordDocument doc = new WordDocument()) { if (templateName == "PillReport") { return(View()); } //加载模板 doc.LoadModelDoc(templateName); switch (templateName) { //巴氏量表评估 case "ADLReport": var adlList = GetEvalData(feeNo, startDateStr, endDateStr, "ADL", floorId); if (adlList.Count > 0) { foreach (var item in adlList) { doc.NewPartDocument(); doc.ReplacePartText("Org", item.Org ?? ""); doc.ReplacePartText("Name", item.Name ?? ""); doc.ReplacePartText("ResidengNo", item.ResidengNo ?? ""); doc.ReplacePartText("Area", item.Area ?? ""); doc.ReplacePartText("BedNo", item.BedNo ?? ""); doc.ReplacePartText("Age", GetAge(item.Brithdate ?? DateTime.Now, DateTime.Now)); doc.ReplacePartText("CreateDate", item.CreateDate.ToString() ?? ""); doc.ReplacePartText("NextDate", item.NextDate.ToString() ?? ""); doc.ReplacePartText("EvaluateBy", item.EvaluateBy ?? ""); doc.ReplacePartText("Result", item.Result ?? ""); doc.ReplacePartText("Score", item.Score.ToString() ?? ""); var answers = item.answer.ToList(); for (var i = 31; i <= 40; i++) { var answer = answers.Find(o => o.Id == i); doc.ReplacePartText("Value" + i, answer != null ? answer.Value : "未填"); } doc.AddPartDocument(); } } break; //柯氏量表评估 case "ColeScaleReport": var karnofskyList = GetEvalData(feeNo, startDateStr, endDateStr, "KARNOFSKY", floorId); if (karnofskyList.Count > 0) { foreach (var item in karnofskyList) { doc.NewPartDocument(); doc.ReplacePartText("Org", item.Org ?? ""); doc.ReplacePartText("Name", item.Name ?? ""); doc.ReplacePartText("ResidengNo", item.ResidengNo ?? ""); doc.ReplacePartText("CDTW", item.CDTW ?? ""); doc.ReplacePartText("NDTW", item.NDTW ?? ""); doc.ReplacePartText("EvaluateBy", item.EvaluateBy ?? ""); doc.ReplacePartText("Result", item.Result ?? ""); doc.ReplacePartText("OneEvaluateTotal", item.OneEvaluateTotal.ToString() ?? ""); doc.ReplacePartText("EvaluateTotal", item.EvaluateTotal.ToString() ?? ""); var answers = item.answer.ToList(); for (var i = 66; i <= 66; i++) { var answer = answers.Find(o => o.Id == i); doc.ReplacePartText("Value" + i, answer != null ? answer.Value : "未填"); } doc.AddPartDocument(); } } break; //压疮风险评估 case "PrsSoreReport": var soreList = GetEvalData(feeNo, startDateStr, endDateStr, "SORE", floorId); if (soreList.Count > 0) { foreach (var item in soreList) { doc.NewPartDocument(); doc.ReplacePartText("Org", item.Org ?? ""); doc.ReplacePartText("Name", item.Name ?? ""); doc.ReplacePartText("ResidengNo", item.ResidengNo ?? ""); doc.ReplacePartText("Area", item.Area ?? ""); doc.ReplacePartText("BedNo", item.BedNo ?? ""); doc.ReplacePartText("Age", GetAge(item.Brithdate ?? DateTime.Now, DateTime.Now)); doc.ReplacePartText("CDTW", item.CDTW ?? ""); doc.ReplacePartText("NDTW", item.NDTW ?? ""); doc.ReplacePartText("EvaluateBy", item.EvaluateBy ?? ""); doc.ReplacePartText("Score", item.Score.ToString() ?? ""); doc.ReplacePartText("Result", item.Result ?? ""); doc.ReplacePartText("OneEvaluateTotal", item.OneEvaluateTotal.ToString() ?? ""); doc.ReplacePartText("EvaluateTotal", item.EvaluateTotal.ToString() ?? ""); var answers = item.answer.ToList(); for (var i = 100; i <= 105; i++) { var answer = answers.Find(o => o.Id == i); doc.ReplacePartText("Value" + i, answer != null ? answer.Value : "未填"); } doc.AddPartDocument(); } } break; //跌倒风险评估 case "FallReport": var fallList = GetEvalData(feeNo, startDateStr, endDateStr, "FALL", floorId); if (fallList.Count > 0) { foreach (var item in fallList) { doc.NewPartDocument(); doc.ReplacePartText("Org", item.Org ?? ""); doc.ReplacePartText("Name", item.Name ?? ""); doc.ReplacePartText("ResidengNo", item.ResidengNo ?? ""); doc.ReplacePartText("Area", item.Area ?? ""); doc.ReplacePartText("BedNo", item.BedNo ?? ""); doc.ReplacePartText("Age", GetAge(item.Brithdate ?? DateTime.Now, DateTime.Now)); doc.ReplacePartText("CDTW", item.CDTW ?? ""); doc.ReplacePartText("NDTW", item.NDTW ?? ""); doc.ReplacePartText("EvaluateBy", item.EvaluateBy ?? ""); doc.ReplacePartText("Score", item.Score.ToString() ?? ""); doc.ReplacePartText("Result", item.Result ?? ""); doc.ReplacePartText("OneEvaluateTotal", item.OneEvaluateTotal.ToString() ?? ""); doc.ReplacePartText("EvaluateTotal", item.EvaluateTotal.ToString() ?? ""); var answers = item.answer.ToList(); for (var i = 106; i <= 116; i++) { var answer = answers.Find(o => o.Id == i); doc.ReplacePartText("Value" + i, answer != null ? answer.Value : "未填"); } doc.AddPartDocument(); } } break; //给药记录单 case "PillReport": break; //工具性日常生活功能量表评估 case "IADLReport": var iadlList = GetEvalData(feeNo, startDateStr, endDateStr, "IADL", floorId); if (iadlList.Count > 0) { foreach (var item in iadlList) { doc.NewPartDocument(); doc.ReplacePartText("Org", item.Org ?? ""); doc.ReplacePartText("Name", item.Name ?? ""); doc.ReplacePartText("ResidengNo", item.ResidengNo ?? ""); doc.ReplacePartText("Area", item.Area ?? ""); doc.ReplacePartText("BedNo", item.BedNo ?? ""); doc.ReplacePartText("Age", GetAge(item.Brithdate ?? DateTime.Now, DateTime.Now)); doc.ReplacePartText("CreateDate", item.CreateDate.ToString() ?? ""); doc.ReplacePartText("NextDate", item.NextDate.ToString() ?? ""); doc.ReplacePartText("EvaluateBy", item.EvaluateBy ?? ""); doc.ReplacePartText("Score", item.Score.ToString() ?? ""); doc.ReplacePartText("Result", item.Result ?? ""); var answers = item.answer.ToList(); for (var i = 58; i <= 65; i++) { var answer = answers.Find(o => o.Id == i); doc.ReplacePartText("Value" + i, answer != null ? answer.Value : "未填"); } doc.AddPartDocument(); } } break; } if (!doc.IsDocNull()) { Util.DownloadFile(doc.SaveDoc(templateName)); } } return(View()); }
public ActionResult OtherExport() { string templateName = Request["templateName"]; string startDateStr = Request["startDate"]; string endDateStr = Request["endDate"]; string feeNo = Request["feeNo"]; string floorId = Request["floorId"] ?? ""; using (WordDocument doc = new WordDocument()) { //加载模板 doc.LoadModelDoc(templateName); switch (templateName) { //住民在院证明 case "HosProofReport": var data = rmService.QueryRegHosProof(Convert.ToInt32(feeNo)).Data; if (data != null) { var brithDate = " 年 月 日"; var inDate = " 年 月 日"; var printDate = " 年 月 日"; var sex = ""; if (data.BrithDay.HasValue) { brithDate = data.BrithDay.Value.Year.ToString() + "年" + data.BrithDay.Value.Month.ToString() + "月" + data.BrithDay.Value.Day.ToString() + "日"; } if (data.InDate.HasValue) { inDate = data.InDate.Value.Year.ToString() + "年" + data.InDate.Value.Month.ToString() + "月" + data.InDate.Value.Day.ToString() + "日"; } if (!string.IsNullOrEmpty(startDateStr)) { var _printDate = Convert.ToDateTime(startDateStr); printDate = (_printDate.Year - 1911).ToString() + "年" + _printDate.Month.ToString() + "月" + _printDate.Day.ToString() + "日"; } if (!string.IsNullOrEmpty(data.Sex)) { if (data.Sex == "F") { sex = "女"; } else if (data.Sex == "M") { sex = "男"; } } doc.NewPartDocument(); doc.ReplacePartText("@ORG", data.Org ?? ""); doc.ReplacePartText("@Year", DateTime.Now.Year.ToString()); doc.ReplacePartText("@ResidengNo", data.ResidengNo ?? ""); doc.ReplacePartText("@Name", data.Name ?? ""); doc.ReplacePartText("@Sex", sex); doc.ReplacePartText("@PermanentAddress", data.PermanentAddress ?? ""); doc.ReplacePartText("@IdNo", data.IdNo ?? ""); doc.ReplacePartText("@DisabilityGrade", data.DisabilityGrade ?? ""); doc.ReplacePartText("@BirthDate", brithDate); doc.ReplacePartText("@InDate", inDate); doc.ReplacePartText(" @PrintDate", printDate); doc.AddPartDocument(); } break; } if (!doc.IsDocNull()) { Util.DownloadFile(doc.SaveDoc(templateName)); } } return(View("Export")); }