public IHttpActionResult Query([FromUri] CarePlansFilter request) { try { var response = carePlansSvc.QueryCarePlanList(request); return(Ok(response)); } catch (Exception ex) { LogHelper.WriteError(ex.ToString()); return(Ok(new BaseResponse <string> { ResultCode = (int)EnumResponseStatus.ExceptionHappened, ResultMessage = "操作异常" })); } }
public BaseResponse <IList <NSCPLView> > QueryCarePlanList(CarePlansFilter request) { BaseResponse <IList <NSCPLView> > response = new BaseResponse <IList <NSCPLView> >(); List <NSCPLView> list = null; if (request != null && request.PageSize > 0) { } else { StringBuilder sb = new StringBuilder(); string sql = string.Format(@" SELECT REG.REGNO,REG.NAME,IPD.FEENO, PL.SEQNO, PL.STARTDATE,PL.FINISHDATE,PL.CPTYPE,PL.CPLEVEL,PL.CPDIAG, PL.EMPNO,PL.FINISHFLAG, (SELECT EMPNAME FROM LTC_EMPFILE WHERE PL.EMPNO=EMPNO) AS EMPNAME ,(SELECT COUNT(*) FROM LTC_NSCPL WHERE REGNO=REG.REGNO) AS QUANTITY ,(SELECT COUNT(*) FROM LTC_NSCPL WHERE REGNO=REG.REGNO AND FINISHFLAG=1) AS QUANFINISH FROM LTC_REGFILE REG LEFT JOIN ( SELECT * FROM ( SELECT * FROM LTC_NSCPL ORDER BY STARTDATE DESC ) T GROUP BY REGNO ) PL ON REG.REGNO=PL.REGNO INNER JOIN LTC_IPDREG IPD ON IPD.REGNO=REG.REGNO AND IPD.IPDFLAG='I' WHERE REG.ORGID='{0}'" , SecurityHelper.CurrentPrincipal.OrgId); sb.Append(sql); if (request != null) { if (!string.IsNullOrEmpty(request.ItemType)) { sb.Append(string.Format(" AND ITEMTYPE='{0}'", request.ItemType)); } if (!string.IsNullOrEmpty(request.Name)) { sb.Append(string.Format(" AND NAME LIKE '%{0}%'", request.Name)); } if (!string.IsNullOrEmpty(request.Date)) { sb.Append(string.Format(" AND INJECTDATE= CONVERT(DATE,'{0}',120) ", request.Date)); } } list = unitOfWork.GetRepository <NSCPLView>().SqlQuery(sb.ToString()).ToList(); foreach (NSCPLView item in list) { item.CPDIAG = GetDIAPR(item.CPDIAG); item.PERCENTAGE = GetFinishPercentage(item.QUANFINISH, item.QUANTITY); } } response.Data = list; return(response); }