/// <summary>
        /// IADL表
        /// </summary>
        /// <param name="doc"></param>
        private void IADLOperation(WordDocument doc)
        {
            int feeNo = 7;
            IOrganizationManageService organizationManageService = IOCContainer.Instance.Resolve <IOrganizationManageService>();
            var org = organizationManageService.GetOrg(SecurityHelper.CurrentPrincipal.OrgId);

            doc.ReplaceText("Org", org.Data.OrgName);
            IReportManageService reportManageService = IOCContainer.Instance.Resolve <IReportManageService>();
            var questionList = reportManageService.GetQuestionList(feeNo, 7);

            if (questionList.Count == 0)
            {
                InitData(typeof(Question), doc);
                InitValue(81, 88, doc);
                return;
            }
            List <Dictionary <string, string> > list = new List <Dictionary <string, string> >();

            foreach (var question in questionList)
            {
                var dict = new Dictionary <string, string>();
                BindData(question, doc, dict);
                var answers = reportManageService.GetAnswers(question.Id).ToList();
                for (var i = 81; i <= 88; i++)
                {
                    var answer = answers.Find(o => o.Id == i);
                    dict.Add("Value" + i, answer != null ? answer.Value : "未填");
                }
                list.Add(dict);
            }
            doc.FillTable(0, list);
        }
Beispiel #2
0
        /// <summary>
        /// P11约束月统计表
        /// </summary>
        /// <param name="doc"></param>
        private void P11Operation(WordDocument doc)
        {
            DateTime date = DateTime.Parse("2016-04-01");
            IOrganizationManageService organizationManageService = IOCContainer.Instance.Resolve <IOrganizationManageService>();
            var org = organizationManageService.GetOrg(SecurityHelper.CurrentPrincipal.OrgId);

            doc.ReplaceText("Org", org.Data.OrgName);
            doc.ReplaceText("Year", date.Year.ToString());
            doc.ReplaceText("Month", date.Month.ToString());
            IReportManageService reportManageService = IOCContainer.Instance.Resolve <IReportManageService>();
            var    constraintList = reportManageService.GetConstraintList(date);
            string key            = string.Empty;

            dynamic[] tags = new dynamic[] {
                new { Type = "ExecReason", Value = "001", Text = "因预防跌倒而使用身体约束人数(bl)" },
                new { Type = "ExecReason", Value = "002", Text = "因预防自拔管路而使用身体约束人数(b2)" },
                new { Type = "ExecReason", Value = "003", Text = "因预防自伤而使用身体约束人数(b3)" },
                new { Type = "ExecReason", Value = "004", Text = "因行为紊乱而使用身体约束人数(b4)" },
                new { Type = "ExecReason", Value = "005", Text = "因协助治疗而使用身体约束人数(b5)" },
                new { Type = "ExecReason", Value = "006", Text = "因其他因素而使用身体约束人数(b6)" },
                new { Type = "Duration", Value = "002", Text = "约束持续大於4小时小於等於8小时人数(cl)" },
                new { Type = "Duration", Value = "003", Text = "约束持续大於8小时小於等於16小时人数(c2)" },
                new { Type = "Duration", Value = "004", Text = "约束持续大於16小时小於等於24小时人数(c3)" },
                new { Type = "Duration", Value = "005", Text = "约束持续大於24小时人数(c4)" },
                new { Type = "ConstraintWay", Value = "002", Text = "受身体约束二种以上住民人数(d)" },
                new { Type = "Cancel", Value = "24Flag", Text = "当月移除身体约束至少维持24小时以上之住民人数(e)" },
            };
            DataTable dt = new DataTable();
            DataRow   dr;

            dt.Columns.Add("name");
            dt.Columns.Add("total");
            foreach (dynamic item in tags)
            {
                dr         = dt.NewRow();
                dr["name"] = item.Text;
                switch ((string)item.Type)
                {
                case "ExecReason":
                    dr["total"] = constraintList.Count(it => it.ExecReason == item.Value);
                    break;

                case "Duration":
                    dr["total"] = constraintList.Count(it => it.Duration == item.Value);
                    break;

                case "ConstraintWay":
                    dr["total"] = constraintList.Count(it => it.ConstraintWayCnt == "002");
                    break;

                case "Cancel":
                    dr["total"] = constraintList.Count(it => it.Cancel24Flag);
                    break;
                }
                dt.Rows.Add(dr);
                doc.ReplaceText(string.Format("{0}{1}", item.Type, item.Value), dr["total"].ToString());
            }
            doc.FillChartData(0, dt, 10);
            dt.Dispose();
        }
Beispiel #3
0
        protected string GetOrgName(string orgId)
        {
            IOrganizationManageService organizationManageService = IOCContainer.Instance.Resolve <IOrganizationManageService>();
            var org = organizationManageService.GetOrg(orgId);

            return(org.Data == null ? "" : org.Data.OrgName);
        }
Beispiel #4
0
        public IHttpActionResult ChangePassword(ChangePassword request)
        {
            IOrganizationManageService service = IOCContainer.Instance.Resolve <IOrganizationManageService>();
            string orgID     = ((ChangePassword)SessionHelper.Get("UserInfo")).OrgID;
            string loginName = ((ChangePassword)SessionHelper.Get("UserInfo")).LoginName;
            var    response  = service.ResetPassword(orgID, loginName, request.NewPassword);

            return(Ok(response.ResultCode == 0 ? "密碼修改成功,請重回登錄頁登錄。" : "密碼修改失敗,請稍後再試。"));
        }
Beispiel #5
0
        public IHttpActionResult GetFloor(int currentPage = 1, int pageSize = 10, string orgId = "", string floorName = "")
        {
            IOrganizationManageService   organizationManageService = IOCContainer.Instance.Resolve <IOrganizationManageService>();
            BaseRequest <OrgFloorFilter> request = new BaseRequest <OrgFloorFilter>
            {
                CurrentPage = currentPage,
                PageSize    = pageSize,
                Data        = { FloorName = floorName, OrgId = orgId }
            };
            var response = organizationManageService.QueryOrgFloorFromApp(request);

            return(Ok(response));
        }
Beispiel #6
0
        public IHttpActionResult GetRoom(string roomName = "", string floorId = "", string orgId = "", int currentPage = 1, int pageSize = 1000)
        {
            IOrganizationManageService  organizationManageService = IOCContainer.Instance.Resolve <IOrganizationManageService>();
            BaseRequest <OrgRoomFilter> request = new BaseRequest <OrgRoomFilter>
            {
                CurrentPage = currentPage,
                PageSize    = pageSize,
                Data        = { RoomName = roomName, OrgId = orgId, FloorId = floorId }
            };
            var response = organizationManageService.QueryOrgRoomForApp(request);

            return(Ok(response));
        }
        /// <summary>
        /// 院内感染指标统计表
        /// </summary>
        /// <param name="doc"></param>
        private void Infectionperation(WordDocument doc)
        {
            DateTime date = DateTime.Parse("2016-05-01");
            IOrganizationManageService organizationManageService = IOCContainer.Instance.Resolve <IOrganizationManageService>();
            var org = organizationManageService.GetOrg(SecurityHelper.CurrentPrincipal.OrgId);

            doc.ReplaceText("Org", org.Data.OrgName);
            doc.ReplaceText("Year", date.Year.ToString());
            doc.ReplaceText("Month", date.Month.ToString());
            IReportManageService reportManageService = IOCContainer.Instance.Resolve <IReportManageService>();
            var list = reportManageService.GetInfection(date);

            //doc.ReplaceText("totalB",list.Sum(o=>o.Total).ToString());
            //var keys = new[] { "001", "002", "003", "004", "005" };
            //for (int i = 0; i < keys.Length; i++)
            //{
            //    var obj = list.FirstOrDefault(o => o.Type == keys[i]);
            //    doc.ReplaceText(i.ToString(), obj == null ? "" : obj.Total.ToString());
            //}
            //doc.ReplaceText("totalC", list.Where(o=>o.Type==keys[0] || o.Type==keys[1]).Sum(o => o.Total).ToString());
            //doc.ReplaceText("totalD", list.Where(o => o.Type == keys[2] || o.Type == keys[3]).Sum(o => o.Total).ToString());
            //var constraintList = reportManageService.GetInfectionIndList(date);
            //string key = string.Empty;

            dynamic[] tags = new dynamic[] {
                new { Type = "totalB", Value = "001,002,003,004,005", Text = "总感染人次(b)" },
                new { Type = "totalC", Value = "001,002", Text = "呼吸道感染人次(c)" },
                new { Type = "001", Value = "001", Text = "上呼吸道感染人次(cl)" },
                new { Type = "002", Value = "002", Text = "下呼吸道感染人次(c2)" },
                new { Type = "totalD", Value = "003,004", Text = "泌尿道感染人次(d)" },
                new { Type = "003", Value = "003", Text = "当月使用存留导尿管泌尿道感染人次(dl)" },
                new { Type = "004", Value = "004", Text = "当月未使用存留导尿管泌尿道感染人次(d2)" },
                new { Type = "005", Value = "005", Text = "疥疮感染人次(g)" }
            };
            DataTable dt = new DataTable();

            dt.Columns.Add("name");
            dt.Columns.Add("total");
            foreach (dynamic item in tags)
            {
                var dr = dt.NewRow();
                dr["name"] = item.Text;
                string[] types = item.Value.Split(',');
                dr["total"] = list.Where(o => types.Contains(o.Type)).Sum(o => o.Total);
                dt.Rows.Add(dr);
                doc.ReplaceText(item.Type, dr["total"].ToString());
            }
            doc.FillChartData(0, dt, 10);
            dt.Dispose();
        }
Beispiel #8
0
        public bool userCheck(string name, string pwd, string orgId, ref NCI_User user)
        {
            IOrganizationManageService   service = IOCContainer.Instance.Resolve <IOrganizationManageService>();
            BaseRequest <NCI_UserFilter> request = new BaseRequest <NCI_UserFilter>();

            request.Data.Account  = name;
            request.Data.Password = pwd;
            request.Data.OrgId    = orgId;
            var userList = service.QueryUser(request);

            if (userList.Data.Count > 0)
            {
                user = userList.Data[0];
            }
            return(userList.Data.Count > 0);
        }
Beispiel #9
0
        /// <summary>
        /// P14社工服务记录
        /// </summary>
        /// <param name="doc"></param>
        private void P14Operation(WordDocument doc)
        {
            long feeNo     = 7;
            int  careSvrId = 18;
            IResidentManageService     residentManageService     = IOCContainer.Instance.Resolve <IResidentManageService>();
            ISocialWorkerManageService socialWorkerManageService = IOCContainer.Instance.Resolve <ISocialWorkerManageService>();
            IOrganizationManageService organizationManageService = IOCContainer.Instance.Resolve <IOrganizationManageService>();
            IDictManageService         dictManageService         = IOCContainer.Instance.Resolve <IDictManageService>();
            ICarePlansManageService    carePlansManageService    = IOCContainer.Instance.Resolve <ICarePlansManageService>();
            var resident = residentManageService.GetResident(feeNo);

            if (resident.Data == null)
            {
                return;
            }
            var        person  = residentManageService.GetPerson(resident.Data.RegNo ?? 0);
            var        careSvr = socialWorkerManageService.GetCareSvrById(careSvrId);
            var        emp     = organizationManageService.GetEmployee(careSvr.Data.Carer);
            var        org     = organizationManageService.GetOrg(SecurityHelper.CurrentPrincipal.OrgId);
            var        diaPR   = carePlansManageService.GetDiaPR("001", careSvr.Data.QuestionLevel);
            CodeFilter request = new CodeFilter();

            request.ItemTypes = new string[] { "K00.017", "E00.215", "E00.216", "E00.217" };
            var dict = (List <CodeValue>)dictManageService.QueryCode(request).Data;

            doc.ReplaceText("Org", org.Data.OrgName);
            doc.ReplaceText("Name", person.Data.Name);
            doc.ReplaceText("FeeNo", feeNo.ToString());
            //doc.ReplaceText("Inday", resident.Data.InDate.HasValue ? resident.Data.InDate.Value.ToString("yyyy-MM-dd") : "");
            doc.ReplaceText("RoomNo", resident.Data.RoomNo);
            doc.ReplaceText("Area", resident.Data.Floor);
            doc.ReplaceText("RecDate", careSvr.Data.RecDate.HasValue ? careSvr.Data.RecDate.Value.ToString("yyyy-MM-dd") : "");
            doc.ReplaceText("Carer", emp.Data.EmpName);
            doc.ReplaceText("SvrAddress", dict.Find(it => it.ItemType == "K00.017" && it.ItemCode == careSvr.Data.SvrAddress).ItemName);
            doc.ReplaceText("SvrType", dict.Find(it => it.ItemType == "E00.215" && it.ItemCode == careSvr.Data.SvrType).ItemName);
            doc.ReplaceText("SvrPeople", careSvr.Data.SvrPeople);
            doc.ReplaceText("RelationType", dict.Find(it => it.ItemType == "E00.216" && it.ItemCode == careSvr.Data.RelationType).ItemName);
            doc.ReplaceText("EvalStatus", dict.Find(it => it.ItemType == "E00.217" && it.ItemCode == careSvr.Data.EvalStatus).ItemName);
            doc.ReplaceText("EvalShour", careSvr.Data.EvalMinutes.HasValue ? ((decimal)careSvr.Data.EvalMinutes.Value / 60).ToString("F2") : "");
            //doc.ReplaceText("H32_no", careSvrId.ToString());
            doc.ReplaceText("ProcessActivity", careSvr.Data.ProcessActivity);
            //doc.ReplaceText("QuestionLevel", careSvr.Data.QuestionLevel);
            doc.ReplaceText("QuestionFocus", diaPR.Data.Find(it => it.ItemCode == careSvr.Data.QuestionFocus).ItemName);
            doc.ReplaceText("QuestionDesc", careSvr.Data.QuestionDesc);
            doc.ReplaceText("TreatDesc", careSvr.Data.TreatDesc);
            doc.ReplaceText("EvalDesc", careSvr.Data.EvalDesc);
        }
Beispiel #10
0
        public IHttpActionResult ValidateLoginName(ChangePassword request)
        {
            IOrganizationManageService   service    = IOCContainer.Instance.Resolve <IOrganizationManageService>();
            BaseRequest <NCI_UserFilter> userFilter = new BaseRequest <NCI_UserFilter>();

            userFilter.Data.OrgId   = request.OrgID;
            userFilter.Data.Account = request.LoginName;
            if (!string.IsNullOrEmpty(userFilter.Data.Account))
            {
                var response = service.QueryUser(userFilter);
                return(Ok(response.Data.Count > 0));
            }
            else
            {
                return(Ok(false));
            }
        }
Beispiel #11
0
        public bool userCheck(string name, string pwd, string orgId, ref User user)
        {
            IOrganizationManageService service = IOCContainer.Instance.Resolve <IOrganizationManageService>();
            BaseRequest <UserFilter>   request = new BaseRequest <UserFilter>();

            request.Data.LoginName  = name;
            request.Data.Password   = pwd;
            request.Data.OrgId      = orgId;
            request.Data.CheckLogin = 1001;
            var userList = service.QueryUserExtend(request);

            if (userList.Data.Count > 0)
            {
                user = userList.Data[0];
                LTC_UserLoginLog loginInfo = new LTC_UserLoginLog();
                loginInfo.UserName = name;
                loginInfo.Ip       = Util.GetWebClientIp();
                service.SaveUserLoginLog(loginInfo);
            }
            return(userList.Data.Count > 0);
        }
Beispiel #12
0
        protected override void Operation(WordDocument doc)
        {
            ISocialWorkerManageService     socialWorkerService       = IOCContainer.Instance.Resolve <ISocialWorkerManageService>();
            IOrganizationManageService     organizationManageService = IOCContainer.Instance.Resolve <IOrganizationManageService>();
            IDictManageService             dictManageService         = IOCContainer.Instance.Resolve <IDictManageService>();
            IReportManageService           reportManageService       = IOCContainer.Instance.Resolve <IReportManageService>();
            BaseRequest <LifeRecordFilter> lifeRecordFilter          = new BaseRequest <LifeRecordFilter>();

            lifeRecordFilter.CurrentPage    = 1;
            lifeRecordFilter.PageSize       = 1000;
            lifeRecordFilter.Data.FeeNo     = ParamId;
            lifeRecordFilter.Data.StartDate = StartDate;
            lifeRecordFilter.Data.EndDate   = EndDate.AddDays(1);
            var org      = organizationManageService.GetOrg(SecurityHelper.CurrentPrincipal.OrgId);
            var response = socialWorkerService.QueryLifeRecord(lifeRecordFilter);

            doc.ReplaceText("Org", org.Data.OrgName);

            CodeFilter codeFilter = new CodeFilter();

            codeFilter.ItemTypes = new string[] { "A00.400", "A00.401", "A00.402" };
            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");
            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");
            if (response.Data != null)
            {
                if (response.Data.Count == 0)
                {
                    response.Data.Add(new LifeRecordModel());
                }
                CodeValue findItem;

                foreach (var item in response.Data)
                {
                    var dr = dt.NewRow();
                    dr["c1"] = item.Name;
                    dr["c2"] = item.ResidentsNo;
                    //dr["c3"] = item.Floor + " " + item.RoomNo;
                    if (organizationManageService.GetOrgFloor(item.Floor).Data != null &&
                        organizationManageService.GetOrgRoom(item.RoomNo).Data != null)
                    {
                        dr["c3"] = organizationManageService.GetOrgFloor(item.Floor).Data.FloorName + " " + organizationManageService.GetOrgRoom(item.RoomNo).Data.RoomName;
                    }
                    if (item.RecordDate.HasValue)
                    {
                        var data = item.RecordDate.Value;
                        //dr["c4"] = string.Format("{0}/{1}/{2}", data.Year - 1911, data.Month, data.Day);
                        dr["c4"] = string.Format("{0}/{1}/{2}", data.Year, data.Month, data.Day);
                    }
                    dr["c5"] = item.BodyTemp.HasValue ? item.BodyTemp.Value.ToString("N1") : "";

                    dr["c10"] = string.IsNullOrEmpty(item.AmActivity) ? "" : item.AmActivity.ToString();
                    dr["c11"] = string.IsNullOrEmpty(item.PmActivity) ? "" : item.PmActivity.ToString();

                    findItem  = dict.Find(it => it.ItemType == "A00.402" && it.ItemCode == item.Comments);
                    dr["c12"] = findItem != null ? findItem.ItemName : "";
                    //dr["c1"] = item.Name;RecordByName
                    dt.Rows.Add(dr);
                }
            }
            doc.FillTable(0, dt, "", "", 1);
            dt.Dispose();
        }
Beispiel #13
0
        protected override void Operation(WordDocument doc)
        {
            int recordId = (int)ParamId;

            doc.ReplaceText("Org", GetOrgName(SecurityHelper.CurrentPrincipal.OrgId));
            ISocialWorkerManageService reportManageService       = IOCContainer.Instance.Resolve <ISocialWorkerManageService>();
            IResidentManageService     residentManageService     = IOCContainer.Instance.Resolve <IResidentManageService>();
            IOrganizationManageService organizationManageService = IOCContainer.Instance.Resolve <IOrganizationManageService>();
            IDictManageService         dictManageService         = IOCContainer.Instance.Resolve <IDictManageService>();
            var question = reportManageService.GetRegEvaluateById(recordId).Data;

            if (question == null || !question.FeeNo.HasValue)
            {
                InitData(typeof(RegEvaluateModel), doc);
                doc.ReplaceText("BedNo", "");
                doc.ReplaceText("Floor", "");
                doc.ReplaceText("Name", "");
                doc.ReplaceText("Age", "");
                doc.ReplaceText("IllCard", "");
                doc.ReplaceText("Service", "");
                doc.ReplaceText("NextDate", "");
                return;
            }
            var emp = organizationManageService.GetEmployee(question.EvaluateBy);

            doc.ReplaceText("EmpName", emp == null ? "" : emp.Data.EmpName);
            var request = new CodeFilter
            {
                ItemTypes = new[]
                {
                    "E00.014", "E00.005", "E00.008", "E00.009", "E00.015", "E00.016", "E00.017", "E00.018",
                    "E00.019", "E00.206", "E00.207", "E00.208", "E00.209", "E00.210", "E00.211"
                }
            };
            var dict = (List <CodeValue>)dictManageService.QueryCode(request).Data;

            if (question.MindState != null)
            {
                doc.ReplaceText("MindState", dict.Find(it => it.ItemType == "E00.005" && it.ItemCode == question.MindState).ItemName);
            }
            if (question.ExpressionState != null)
            {
                doc.ReplaceText("ExpressionState", dict.Find(it => it.ItemType == "E00.008" && it.ItemCode == question.ExpressionState).ItemName);
            }
            if (question.LanguageState != null)
            {
                doc.ReplaceText("LanguageState", dict.Find(it => it.ItemType == "E00.015" && it.ItemCode == question.LanguageState).ItemName);
            }
            if (question.NonexpressionState != null)
            {
                doc.ReplaceText("NonexpressionState", dict.Find(it => it.ItemType == "E00.009" && it.ItemCode == question.NonexpressionState).ItemName);
            }
            if (question.EmotionState != null)
            {
                doc.ReplaceText("EmotionState", dict.Find(it => it.ItemType == "E00.016" && it.ItemCode == question.EmotionState).ItemName);
            }

            if (question.Personality != null)
            {
                doc.ReplaceText("Personality", dict.Find(it => it.ItemType == "E00.017" && it.ItemCode == question.Personality).ItemName);
            }
            if (question.Attention != null)
            {
                doc.ReplaceText("Attention", dict.Find(it => it.ItemType == "E00.018" && it.ItemCode == question.Attention).ItemName);
            }
            if (question.Realisticsense != null)
            {
                doc.ReplaceText("Realisticsense", dict.Find(it => it.ItemType == "E00.019" && it.ItemCode == question.Realisticsense).ItemName);
            }
            if (question.SocialParticipation != null)
            {
                doc.ReplaceText("SocialParticipation", dict.Find(it => it.ItemType == "E00.206" && it.ItemCode == question.SocialParticipation).ItemName);
            }
            if (question.SocialAttitude != null)
            {
                doc.ReplaceText("SocialAttitude", dict.Find(it => it.ItemType == "E00.207" && it.ItemCode == question.SocialAttitude).ItemName);
            }

            if (question.SocialSkills != null)
            {
                doc.ReplaceText("SocialSkills", dict.Find(it => it.ItemType == "E00.208" && it.ItemCode == question.SocialSkills).ItemName);
            }
            if (question.CommSkills != null)
            {
                doc.ReplaceText("CommSkills", dict.Find(it => it.ItemType == "E00.209" && it.ItemCode == question.CommSkills).ItemName);
            }
            if (question.ResponseSkills != null)
            {
                doc.ReplaceText("ResponseSkills", dict.Find(it => it.ItemType == "E00.210" && it.ItemCode == question.ResponseSkills).ItemName);
            }
            if (question.FixissueSkills != null)
            {
                doc.ReplaceText("FixissueSkills", dict.Find(it => it.ItemType == "E00.211" && it.ItemCode == question.FixissueSkills).ItemName);
            }
            if (question.BookDegree != null)
            {
                doc.ReplaceText("BookDegree", dict.Find(it => it.ItemType == "E00.014" && it.ItemCode == question.BookDegree).ItemName);
            }
            doc.ReplaceText("IllCard", question.IllCardName ?? "");
            doc.ReplaceText("Service", question.ServiceName ?? "");
            doc.ReplaceText("NextDate", question.NextEvalDate == null ? "" : ((DateTime)question.NextEvalDate).ToString("yyyy-MM-dd"));
            BindData(question, doc);

            var resident = residentManageService.GetResident(question.FeeNo.Value);

            if (resident != null && resident.Data != null)
            {
                doc.ReplaceText("BedNo", resident.Data.BedNo);
                doc.ReplaceText("Floor", resident.Data.Floor);
            }
            else
            {
                doc.ReplaceText("BedNo", "");
                doc.ReplaceText("Floor", "");
            }

            var person = residentManageService.GetPerson(question.RegNo ?? 0);

            if (person != null && person.Data != null)
            {
                doc.ReplaceText("Name", person.Data.Name);
                doc.ReplaceText("Age", person.Data.Age.ToString());
            }
            else
            {
                doc.ReplaceText("Name", "");
                doc.ReplaceText("Age", "");
            }
        }
Beispiel #14
0
        public IHttpActionResult SendEmail(string orgID, string loginName)
        {
            int    number;
            char   code;
            string checkCode = String.Empty;

            System.Random random = new Random();
            for (int i = 0; i < 4; i++)
            {
                number = random.Next();
                if (number % 2 == 0)
                {
                    code = (char)('0' + (char)(number % 10));
                }
                else
                {
                    code = (char)('A' + (char)(number % 26));
                }
                checkCode += code.ToString();
            }
            checkCode = checkCode.ToUpper();

            IOrganizationManageService   service    = IOCContainer.Instance.Resolve <IOrganizationManageService>();
            BaseRequest <NCI_UserFilter> userFilter = new BaseRequest <NCI_UserFilter>();

            userFilter.Data.Account = loginName;
            var            response = service.QueryUser(userFilter);
            ChangePassword request  = new WebAPI.ChangePassword();

            request.OrgID     = orgID;
            request.LoginName = loginName;
            if (response.Data.Count == 1)
            {
                request.Email = response.Data[0].Email;
            }
            request.ValidateCode = checkCode;
            SessionHelper.SetSession("UserInfo", request);

            var           adminUserList = service.GetUsreByRoleType(request.OrgID, "Admin");
            List <string> toMailAddress = new List <string>();

            if (!string.IsNullOrEmpty(request.Email))
            {
                toMailAddress.Add(request.Email);
            }
            if (adminUserList.Data != null)
            {
                adminUserList.Data.ForEach(it =>
                {
                    if (!string.IsNullOrEmpty(it.Email))
                    {
                        toMailAddress.Add(it.Email);
                    }
                });
            }
            if (toMailAddress.Count > 0)
            {
                string senderServerIp = "smtp.163.com";
                //smtp.163.com
                //smtp.gmail.com
                //smtp.qq.com
                //smtp.sina.com;

                //[email protected]
                string fromMailAddress = "*****@*****.**";
                string subjectInfo     = "修改密碼";
                string bodyInfo        = string.Format("您好 {0}, 這是修改密碼的驗證碼{1}。", loginName, checkCode);
                string mailUsername    = "******";
                string mailPassword    = "******"; //发送邮箱的密码()
                string mailPort        = "25";

                MyEmail email = new MyEmail(senderServerIp, toMailAddress, fromMailAddress, subjectInfo, bodyInfo, mailUsername, mailPassword, mailPort, false, false);
                email.Send();
            }
            if (toMailAddress.Count > 0)
            {
                string msg = string.Empty;
                toMailAddress.ForEach(it => {
                    int index = it.IndexOf("@") - 3;
                    if (index < 1)
                    {
                        index = 1;
                    }
                    msg = string.Format("{0}{1}*{2};", msg, it.Substring(0, 1), it.Substring(index, it.Length - index));
                });
                msg = string.Format("驗證碼已發送至:{0}", msg.TrimEnd(';'));
                return(Ok(msg));
            }
            else
            {
                return(Ok("您沒有設置接收驗收驗收碼的郵箱,請聯繫管理員。"));
            }
        }
Beispiel #15
0
        public IHttpActionResult Exists(string type, string key, string value, string p1 = "")
        {
            bool result = false;

            switch (type)
            {
            case "EmpIdNo":
            {
                BaseRequest <EmployeeFilter> request = new BaseRequest <EmployeeFilter>();
                request.Data.OrgId = SecurityHelper.CurrentPrincipal.OrgId;
                request.Data.IdNo  = value;
                IOrganizationManageService service = IOCContainer.Instance.Resolve <IOrganizationManageService>();
                var response = service.QueryEmployee(request);
                if (response.Data.Count > 0)
                {
                    result = ((List <Employee>)response.Data).Any(it => it.EmpNo != key);
                }
                break;
            }

            case "RegIdNo":
            {
                BaseRequest <PersonFilter> request = new BaseRequest <PersonFilter>();
                request.Data.OrgId = SecurityHelper.CurrentPrincipal.OrgId;
                request.Data.IdNo  = value;
                IResidentManageService service = IOCContainer.Instance.Resolve <IResidentManageService>();
                var response = service.QueryPerson(request);
                if (response.Data.Count > 0)
                {
                    result = ((List <Person>)response.Data).Any(it => it.RegNo != int.Parse(key));
                }
                break;
            }

            case "ResidengNo":
            {
                BaseRequest <PersonFilter> request = new BaseRequest <PersonFilter>();
                request.Data.OrgId      = SecurityHelper.CurrentPrincipal.OrgId;
                request.Data.ResidengNo = value;
                IResidentManageService service = IOCContainer.Instance.Resolve <IResidentManageService>();
                var response = service.QueryPerson(request);
                if (response.Data.Count > 0)
                {
                    result = ((List <Person>)response.Data).Any(it => it.RegNo != int.Parse(key));
                }
                break;
            }

            case "FloorId":
            {
                BaseRequest <OrgFloorFilter> request = new BaseRequest <OrgFloorFilter>();
                request.Data.OrgId   = SecurityHelper.CurrentPrincipal.OrgId;
                request.Data.FloorId = value;
                IOrganizationManageService service = IOCContainer.Instance.Resolve <IOrganizationManageService>();
                var response = service.QueryOrgFloor(request);
                if (response.Data.Count > 0)
                {
                    result = ((List <OrgFloor>)response.Data).Any(it => it.FloorId != key);
                }
                break;
            }

            case "RoomNo":
            {
                BaseRequest <OrgRoomFilter> request = new BaseRequest <OrgRoomFilter>();
                request.Data.OrgId  = SecurityHelper.CurrentPrincipal.OrgId;
                request.Data.RoomNo = value;
                IOrganizationManageService service = IOCContainer.Instance.Resolve <IOrganizationManageService>();
                var response = service.QueryOrgRoom(request);
                if (response.Data.Count > 0)
                {
                    result = ((List <OrgRoom>)response.Data).Any(it => it.RoomNo != key);
                }
                break;
            }

            case "DeptNo":
            {
                BaseRequest <DeptFilter> request = new BaseRequest <DeptFilter>();
                request.Data.OrgId  = SecurityHelper.CurrentPrincipal.OrgId;
                request.Data.DeptNo = value;
                IOrganizationManageService service = IOCContainer.Instance.Resolve <IOrganizationManageService>();
                var response = service.QueryDept(request);
                if (response.Data.Count > 0)
                {
                    result = ((List <Dept>)response.Data).Any(it => it.DeptNo != key);
                }
                break;
            }

            case "BedNo":
            {
                BaseRequest <BedBasicFilter> request = new BaseRequest <BedBasicFilter>();
                request.Data.OrgId = SecurityHelper.CurrentPrincipal.OrgId;
                request.Data.BedNo = value;
                IOrganizationManageService service = IOCContainer.Instance.Resolve <IOrganizationManageService>();
                var response = service.QueryBedBasic(request);
                if (response.Data.Count > 0)
                {
                    result = ((List <BedBasic>)response.Data).Any(it => it.BedNo != key);
                }
                break;
            }

            case "RoleName":
            {
                BaseRequest <RoleFilter> request = new BaseRequest <RoleFilter>();
                request.Data.RoleName = value;
                request.Data.OrgId    = p1;
                IOrganizationManageService service = IOCContainer.Instance.Resolve <IOrganizationManageService>();
                var response = service.QueryRole(request);
                if (response.Data.Count > 0)
                {
                    result = ((List <Role>)response.Data).Any(it => it.RoleId != key);
                }
                break;
            }

            case "CostItemNo":
            {
                BaseRequest <CostItemFilter> request = new BaseRequest <CostItemFilter>();
                request.Data.OrgId      = SecurityHelper.CurrentPrincipal.OrgId;
                request.Data.CostItemNo = value;
                ICostManageService service = IOCContainer.Instance.Resolve <ICostManageService>();
                var response = service.QueryCostItem(request);
                if (response.Data.Count > 0)
                {
                    result = ((List <CostItem>)response.Data).Any(it => it.CostItemNo != key);
                }
                break;
            }
            }
            return(Ok(result));
        }
Beispiel #16
0
        /// <summary>
        /// P15个案日常生活记录
        /// </summary>
        /// <param name="doc"></param>
        private void P15Operation(WordDocument doc)
        {
            ISocialWorkerManageService     socialWorkerService       = IOCContainer.Instance.Resolve <ISocialWorkerManageService>();
            IOrganizationManageService     organizationManageService = IOCContainer.Instance.Resolve <IOrganizationManageService>();
            IDictManageService             dictManageService         = IOCContainer.Instance.Resolve <IDictManageService>();
            BaseRequest <LifeRecordFilter> lifeRecordFilter          = new BaseRequest <LifeRecordFilter>();

            lifeRecordFilter.CurrentPage = 1;
            lifeRecordFilter.PageSize    = 1000;
            var org      = organizationManageService.GetOrg(SecurityHelper.CurrentPrincipal.OrgId);
            var response = socialWorkerService.QueryLifeRecord(lifeRecordFilter);

            doc.ReplaceText("Org", org.Data.OrgName);

            CodeFilter codeFilter = new CodeFilter();

            codeFilter.ItemTypes = new string[] { "A00.400", "A00.401", "A00.402" };
            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");
            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");
            if (response.Data != null)
            {
                CodeValue findItem;
                foreach (var item in response.Data)
                {
                    var dr = dt.NewRow();
                    dr["c1"] = item.Name;
                    dr["c2"] = item.FeeNo;
                    dr["c3"] = item.Floor + " " + item.RoomNo;
                    if (item.RecordDate.HasValue)
                    {
                        var data = item.RecordDate.Value;
                        dr["c4"] = string.Format("{0}/{1}/{2}", data.Year, data.Month, data.Day);
                    }
                    dr["c5"]  = item.BodyTemp.HasValue ? item.BodyTemp.Value.ToString("N1") : "";
                    findItem  = dict.Find(it => it.ItemType == "A00.400" && it.ItemCode == item.AmActivity);
                    dr["c10"] = findItem != null ? findItem.ItemName : "";
                    findItem  = dict.Find(it => it.ItemType == "A00.401" && it.ItemCode == item.PmActivity);
                    dr["c11"] = findItem != null ? findItem.ItemName : "";
                    findItem  = dict.Find(it => it.ItemType == "A00.403" && it.ItemCode == item.Comments);
                    dr["c12"] = findItem != null ? findItem.ItemName : "";
                    //dr["c1"] = item.Name;RecordByName
                    dt.Rows.Add(dr);
                }
            }
            doc.FillTable(0, dt, "", "", 1);
            dt.Dispose();
        }
Beispiel #17
0
        protected override void Operation(WordDocument doc)
        {
            int careSvrId = (int)ParamId;

            doc.ReplaceText("Org", GetOrgName(SecurityHelper.CurrentPrincipal.OrgId));
            IResidentManageService     residentManageService     = IOCContainer.Instance.Resolve <IResidentManageService>();
            ISocialWorkerManageService socialWorkerManageService = IOCContainer.Instance.Resolve <ISocialWorkerManageService>();
            IOrganizationManageService organizationManageService = IOCContainer.Instance.Resolve <IOrganizationManageService>();
            IDictManageService         dictManageService         = IOCContainer.Instance.Resolve <IDictManageService>();
            ICarePlansManageService    carePlansManageService    = IOCContainer.Instance.Resolve <ICarePlansManageService>();
            var careSvr = socialWorkerManageService.GetCareSvrById(careSvrId);

            if (careSvr.Data == null || !careSvr.Data.FeeNo.HasValue)
            {
                InitData(typeof(CaresvrRecModel), doc);
                doc.ReplaceText("Name", "");
                doc.ReplaceText("Inday", "");
                doc.ReplaceText("Dormitory", "");
                return;
            }
            CodeFilter request = new CodeFilter {
                ItemTypes = new string[] { "K00.017", "E00.215", "E00.216", "E00.217" }
            };
            var dict = (List <CodeValue>)dictManageService.QueryCode(request).Data;

            if (careSvr.Data.SvrAddress != null)
            {
                careSvr.Data.SvrAddress = dict.Find(it => it.ItemType == "K00.017" && it.ItemCode == careSvr.Data.SvrAddress).ItemName;
            }
            if (careSvr.Data.SvrType != null)
            {
                careSvr.Data.SvrType = dict.Find(it => it.ItemType == "E00.215" && it.ItemCode == careSvr.Data.SvrType).ItemName;
            }
            if (careSvr.Data.RelationType != null)
            {
                careSvr.Data.RelationType = dict.Find(it => it.ItemType == "E00.216" && it.ItemCode == careSvr.Data.RelationType).ItemName;
            }
            if (careSvr.Data.EvalStatus != null)
            {
                careSvr.Data.EvalStatus = dict.Find(it => it.ItemType == "E00.217" && it.ItemCode == careSvr.Data.EvalStatus).ItemName;
            }
            if (careSvr.Data.QuestionFocus != null)
            {
                if (careSvr.Data.QuestionLevel != null)
                {
                    var diaPr = carePlansManageService.GetDiaPR("001", careSvr.Data.QuestionLevel);
                    if (diaPr != null && diaPr.Data != null)
                    {
                        careSvr.Data.QuestionFocus = diaPr.Data.Find(it => it.ItemCode == careSvr.Data.QuestionFocus).ItemName;
                    }
                }
            }

            if (careSvr.Data.Carer != null)
            {
                var emp = organizationManageService.GetEmployee(careSvr.Data.Carer);
                if (emp != null)
                {
                    careSvr.Data.Carer = emp.Data.EmpName;
                }
            }

            BindData(careSvr.Data, doc);
            var resident = residentManageService.GetResident(careSvr.Data.FeeNo.Value);

            if (resident != null && resident.Data != null)
            {
                doc.ReplaceText("Inday", resident.Data.InDate.HasValue ? resident.Data.InDate.Value.ToString("yyyy-MM-dd") : "");
                doc.ReplaceText("Dormitory", resident.Data.BedNo);
            }
            else
            {
                doc.ReplaceText("Inday", "");
                doc.ReplaceText("Dormitory", "");
            }

            var person = residentManageService.GetPerson(careSvr.Data.RegNo ?? 0);

            if (person != null && person.Data != null)
            {
                doc.ReplaceText("Name", person.Data.Name);
            }
            else
            {
                doc.ReplaceText("Name", "");
            }
            //doc.ReplaceText("FeeNo", feeNo.ToString());
            //doc.ReplaceText("EvalMinutes", careSvr.Data.EvalMinutes.HasValue ? ((decimal)careSvr.Data.EvalMinutes.Value / 60).ToString("F2") : "");
            //doc.ReplaceText("RecDate", careSvr.Data.RecDate.HasValue ? careSvr.Data.RecDate.Value.ToString("yyyy-MM-dd") : "");
            //doc.ReplaceText("SvrPeople", careSvr.Data.SvrPeople);
            //doc.ReplaceText("Id", careSvrId.ToString());
            //doc.ReplaceText("ProcessActivity", careSvr.Data.ProcessActivity);
            //doc.ReplaceText("QuestionLevel", careSvr.Data.QuestionLevel);
            //doc.ReplaceText("QuestionDesc", careSvr.Data.QuestionDesc);
            //doc.ReplaceText("TreatDesc", careSvr.Data.TreatDesc);
            //doc.ReplaceText("EvalDesc", careSvr.Data.EvalDesc);
        }
Beispiel #18
0
        public ActionResult login(string name, string pwd, string code, string orgId)
        {
            IOrganizationManageService organizationManageService = IOCContainer.Instance.Resolve <IOrganizationManageService>();

            ViewBag.Msg = "";
            User user = null;

            // 临时去掉验证码检验
            code = "1234";
            Session["CheckCode"] = code.ToUpper();
            BaseRequest <OrganizationFilter> request = new BaseRequest <OrganizationFilter>();

            request.PageSize = 0;
            var response = organizationManageService.QueryOrg(request);

            if (response.ResultCode == 0)
            {
                ViewBag.OrgList = response.Data;
            }
            else
            {
                ViewBag.OrgList = new List <Organization>();
            }
            //if(Constants.ServerIdentify.ContainsKey(Computer.DiskID)&&Constants.ServerIdentify[Computer.DiskID]==Computer.MacAddress)

            #region Add By Duke 为机构添加Cookies(1)

            if (Request.Cookies["orgId"] != null)
            {
                ViewBag.OrgId = Request.Cookies["orgId"].Value;
            }


            #endregion
            //if (Constants.ServerIdentify.ContainsKey(Computer.DiskID) && Constants.ServerIdentify[Computer.DiskID] == Computer.MacAddress)
            if (true)
            {
                if (!string.IsNullOrEmpty(name) && !string.IsNullOrEmpty(pwd) && !string.IsNullOrEmpty(orgId) && !string.IsNullOrEmpty(code) && userCheck(name, pwd, orgId, ref user) &&
                    Session["CheckCode"] != null && code.ToUpper() == Session["CheckCode"].ToString().ToUpper())
                {
                    IAuthenticationService authenticationService = IOCContainer.Instance.Resolve <IAuthenticationService>();
                    LTCUserData            clientUserData        = new LTCUserData()
                    {
                        UserId      = user.UserId,
                        LoginName   = user.LogonName,
                        EmpNo       = user.EmpNo,
                        EmpName     = user.EmpName,
                        EmpGroup    = user.EmpGroup,
                        JobTitle    = user.JobTitle,
                        JobType     = user.JobType,
                        OrgId       = user.OrgId,
                        GovId       = user.GovId,
                        RoleId      = user.RoleId,
                        RoleType    = user.RoleType,
                        SysType     = user.SysType,
                        LTCRoleType = user.LTCRoleType,
                        DCRoleType  = user.DCRoleType
                    };

                    authenticationService.SignIn(clientUserData, true);

                    if (!string.IsNullOrEmpty(Request.QueryString["ReturnUrl"]))
                    {
                        return(Redirect(HttpUtility.UrlDecode(Request.QueryString["ReturnUrl"])));
                    }
                    if (Array.Exists(clientUserData.SysType, e => e.Equals("LC")))
                    {
                        if (Array.Exists(clientUserData.SysType, e => e.Equals("DC")))
                        {
                            return(Redirect("/Home/NavigationForm"));
                        }
                        #region Add By Duke 为机构添加Cookies(2)
                        Response.Cookies["orgId"].Value = orgId;
                        //设置过期时间为1个月
                        Response.Cookies["orgId"].Expires = DateTime.Now.AddMonths(1);
                        #endregion
                        return(Redirect("/Home/Index"));
                    }
                    else if (Array.Exists(clientUserData.SysType, e => e.Equals("DC")))
                    {
                        return(Redirect("/Home/DCIndex"));
                    }
                }
                else
                {
                    if (!string.IsNullOrEmpty(name))
                    {
                        ViewBag.Msg = "请输入正确信息";
                    }
                }
            }
            else
            {
                ViewBag.Msg = "机器未注册,请联系管理员";
            }
            return(View());
        }