Esempio n. 1
0
        public BaseResponse <IList <Evaluation> > QueryEvaluationList(NursingFilter request)
        {
            BaseResponse <IList <Evaluation> > response = new BaseResponse <IList <Evaluation> >();
            LTC_QUESTION currentQuestion = unitOfWork.GetRepository <LTC_QUESTION>().dbSet.Where(x => x.CODE == request.Code && x.ORGID == SecurityHelper.CurrentPrincipal.OrgId).FirstOrDefault();

            if (currentQuestion == null)
            {
                response.ResultCode    = 2;
                response.ResultMessage = "請先維護" + request.Code + "評估表單數據!";
                return(response);
            }
            List <Evaluation> list = null;

            request.Id  = currentQuestion.QUESTIONID;
            response.Id = currentQuestion.QUESTIONID;
            if (request != null && request.PageSize > 0)
            {
            }
            else
            {
                StringBuilder sb  = new StringBuilder();
                string        sql = string.Format(@" SELECT REG.REGNO,REG.NAME,REG.SEX,IPD.FEENO,Q.RECORDID, Q.EVALDATE,Q.NEXTEVALDATE,
                                (SELECT EMPNAME FROM LTC_EMPFILE WHERE Q.EVALUATEBY=EMPNO) AS EVALUATEBY,
                                (SELECT EMPNAME FROM LTC_EMPFILE WHERE Q.NEXTEVALUATEBY=EMPNO) AS NEXTEVALUATEBY,
                                (SELECT COUNT(*) FROM LTC_REGQUESTION WHERE REGNO=REG.REGNO AND QUESTIONID={0}) AS QUANTITY
                                 FROM LTC_REGFILE REG 
                                LEFT JOIN (SELECT * FROM (
								SELECT * FROM  LTC_REGQUESTION ORDER BY EVALDATE DESC) T GROUP BY FEENO) Q
                                ON REG.REGNO=Q.REGNO AND Q.QUESTIONID={0}
                                INNER JOIN LTC_IPDREG IPD
                                ON IPD.REGNO=REG.REGNO AND (IPD.IPDFLAG='I' OR IPD.IPDFLAG='N')
                                WHERE REG.ORGID='{1}'", request.Id, SecurityHelper.CurrentPrincipal.OrgId);
                sb.Append(sql);
                if (request != null)
                {
                    if (!string.IsNullOrEmpty(request.Name))
                    {
                        sb.Append(string.Format(" AND REG.NAME like '%{0}%'", request.Name));
                    }
                    if (request.FeeNo.HasValue && request.FeeNo.Value > 0)
                    {
                        sb.Append(string.Format(" AND IPD.FEENO {0}", request.FeeNo.Value));
                    }
                    if (!string.IsNullOrEmpty(request.Sex))
                    {
                        sb.Append(string.Format(" AND REG.SEX= '{0}' ", request.Sex));
                    }
                }
                list = unitOfWork.GetRepository <Evaluation>().SqlQuery(sb.ToString()).ToList();
                // list.ForEach(p => p.SEX = CodeHelper.GetItemName(p.SEX, "A00.001"));
            }
            response.Data = list;
            return(response);
        }
Esempio n. 2
0
        public BaseResponse <QUESTION> GetQuetionByCode(string Code)
        {
            BaseResponse <QUESTION> response        = new BaseResponse <QUESTION>();
            LTC_QUESTION            currentQuestion = unitOfWork.GetRepository <LTC_QUESTION>().dbSet.Where(x => x.CODE == Code && x.ORGID == SecurityHelper.CurrentPrincipal.OrgId).FirstOrDefault();

            if (currentQuestion == null)
            {
                response.ResultCode    = 2;
                response.ResultMessage = "請先維護" + Code + "評估表單數據!";
                return(response);
            }
            response = GetQuetion(currentQuestion.QUESTIONID, null, null);

            return(response);
        }
Esempio n. 3
0
        public BaseResponse <QUESTION> GetQuetion(int qId, long?regNo, long?recordId)
        {
            var response = new BaseResponse <QUESTION>();
            List <LTC_REGQUESTIONDATA> regQuetionData = new List <LTC_REGQUESTIONDATA>();
            LTC_QUESTION               question       = unitOfWork.GetRepository <LTC_QUESTION>().dbSet.Where(m => m.QUESTIONID == qId).FirstOrDefault();
            List <LTC_MAKERITEM>       makerItem      = unitOfWork.GetRepository <LTC_MAKERITEM>().dbSet.Where(m => m.QUESTIONID == qId).ToList();
            List <LTC_QUESTIONRESULTS> questionResult = unitOfWork.GetRepository <LTC_QUESTIONRESULTS>().dbSet.Where(m => m.QUESTIONID == qId).ToList();
            List <QuestionResult>      QuestionResult = (from x in questionResult.AsEnumerable()
                                                         select new QuestionResult
            {
                RESULTID = x.RESULTID,
                QUESTIONID = x.QUESTIONID,
                LOWBOUND = x.LOWBOUND,
                UPBOUND = x.UPBOUND,
                RESULTNAME = x.RESULTNAME
            }).ToList();

            if (recordId.HasValue && recordId.Value > 0)
            {
                regQuetionData = unitOfWork.GetRepository <LTC_REGQUESTIONDATA>().dbSet.Where(m => m.RECORDID == recordId.Value).ToList();
            }
            List <MakerItemCollection> MakerItemList = (from x in makerItem.AsEnumerable()
                                                        select new MakerItemCollection
            {
                MAKERID = x.MAKERID,
                MAKENAME = x.MAKENAME,
                SHOWNUMBER = x.SHOWNUMBER,
                ISSHOW = x.ISSHOW,
                QUESTIONID = x.QUESTIONID,
                DATATYPE = x.DATATYPE,
                LIMITEDID = x.LIMITEDID,
                CATEGORY = x.CATEGORY,
                Answers = GetMakerItemValue(x.LIMITEDID),
                LIMITEDVALUEID = GetLimitedValueId(recordId, x.MAKERID, regQuetionData)
            }).ToList();

            Mapper.CreateMap <LTC_QUESTION, QUESTION>();
            QUESTION result = Mapper.Map <QUESTION>(question);

            result.MakerItemList  = MakerItemList;
            result.QuestionResult = QuestionResult;
            response.Data         = result;
            return(response);
        }