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); }
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); }
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); }