コード例 #1
0
        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("护理计画"));
                }
            }
        }
コード例 #2
0
 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("护理需求评估"));
         }
     }
 }
コード例 #3
0
        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"));
        }
コード例 #4
0
        /// <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("护理记录"));
                        }
                    }
                }
            }
        }
コード例 #5
0
        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("个别化活动需求评估及计画"));
                }
            }
        }
コード例 #6
0
        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());
        }
コード例 #7
0
        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());
        }
コード例 #8
0
        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"));
        }