public List <SwRegEvalPlan> GetHisSocialWokerPlanByDate(long feeNo, string starDate, string endDate) { List <SwRegEvalPlan> result = new List <SwRegEvalPlan>(); var PlanList = unitOfWork.GetRepository <DC_SWREGEVALPLAN>().dbSet.Where(x => x.FEENO == feeNo); if (!string.IsNullOrEmpty(starDate)) { DateTime beginDate = DateTime.Parse(starDate); PlanList = PlanList.Where(x => x.EVALDATE >= beginDate); } if (!string.IsNullOrEmpty(endDate)) { DateTime finishDate = DateTime.Parse(starDate); PlanList = PlanList.Where(x => x.EVALDATE <= finishDate); } List <DC_SWREGEVALPLAN> list = PlanList.ToList(); foreach (DC_SWREGEVALPLAN plan in list) { SwRegEvalPlan swPlan = new SwRegEvalPlan(); Mapper.CreateMap <DC_SWREGEVALPLAN, SwRegEvalPlan>(); Mapper.Map(plan, swPlan); List <DC_TASKGOALSSTRATEGY> tasks = new List <DC_TASKGOALSSTRATEGY>(); List <DC_TaskGoalsStrategyModel> tasksModel = new List <DC_TaskGoalsStrategyModel>(); tasks.AddRange(plan.DC_TASKGOALSSTRATEGY); Mapper.CreateMap <DC_TASKGOALSSTRATEGY, DC_TaskGoalsStrategyModel>(); Mapper.Map(tasks, tasksModel); swPlan.TaskGoalsStrategyModel = tasksModel; result.Add(swPlan); } return(result); }
public SwRegEvalPlan GetSocialWokerPlan(long feeNo) { SwRegEvalPlan swPlan = new SwRegEvalPlan(); var maxEvalPlan = unitOfWork.GetRepository <DC_SWREGEVALPLAN>().dbSet.Where(x => x.FEENO == feeNo).OrderByDescending(x => x.EVALNUMBER).FirstOrDefault(); if (maxEvalPlan != null) { Mapper.CreateMap <DC_SWREGEVALPLAN, SwRegEvalPlan>(); Mapper.Map(maxEvalPlan, swPlan); List <DC_TASKGOALSSTRATEGY> tasks = new List <DC_TASKGOALSSTRATEGY>(); List <DC_TaskGoalsStrategyModel> tasksModel = new List <DC_TaskGoalsStrategyModel>(); tasks.AddRange(maxEvalPlan.DC_TASKGOALSSTRATEGY); Mapper.CreateMap <DC_TASKGOALSSTRATEGY, DC_TaskGoalsStrategyModel>(); Mapper.Map(tasks, tasksModel); swPlan.TaskGoalsStrategyModel = tasksModel; } return(swPlan); }
public BaseResponse <DC_MultiteamCarePlanRecModel> QueryTransdisciplinaryRef(long feeNo) { BaseResponse <DC_MultiteamCarePlanRecModel> response = new BaseResponse <DC_MultiteamCarePlanRecModel>(); DC_MultiteamCarePlanRecModel data = new DC_MultiteamCarePlanRecModel(); List <DC_MultiteamCarePlanModel> carePlan = new List <DC_MultiteamCarePlanModel>(); int currentEvalNum = 1; var maxPlanRec = unitOfWork.GetRepository <DC_MULTITEAMCAREPLANREC>().dbSet.Where(x => x.FEENO == feeNo).OrderByDescending(x => x.EVALNUMBER).FirstOrDefault(); if (maxPlanRec != null) { currentEvalNum = maxPlanRec.EVALNUMBER.HasValue ? maxPlanRec.EVALNUMBER.Value + 1 : 1; } DC_MultiteamCarePlanRecModel basicInfo = (from ip in unitOfWork.GetRepository <DC_IPDREG>().dbSet.Where(x => x.FEENO == feeNo && x.IPDFLAG == "I") join re in unitOfWork.GetRepository <DC_REGFILE>().dbSet on ip.REGNO equals re.REGNO select new DC_MultiteamCarePlanRecModel { FEENO = ip.FEENO, REGNO = re.REGNO, NURSEAIDES = ip.NURSEAIDES, DISEASEINFO = re.DISEASEINFO, ECOLOGICALMAP = re.ECOLOGICALMAP }).FirstOrDefault(); data = basicInfo; data.EVALNUMBER = currentEvalNum; SwRegEvalPlan swPlan = GetSocialWokerPlan(feeNo); DC_NursingPlanEval nursingPlan = GetNursingPlan(feeNo); DC_MultiteaMcarePlanEvalModel evalModel = new DC_MultiteaMcarePlanEvalModel(); Mapper.CreateMap <SwRegEvalPlan, DC_MultiteaMcarePlanEvalModel>(); Mapper.Map(swPlan, evalModel); DateTime now = DateTime.Now; evalModel.DISEASEINFO = data.DISEASEINFO; evalModel.ECOLOGICALMAP = data.ECOLOGICALMAP; evalModel.CHECKDATE = now; evalModel.CHECKEDBY = SecurityHelper.CurrentPrincipal.EmpNo; data.CHECKDATE = now; data.CHECKEDBY = SecurityHelper.CurrentPrincipal.EmpNo; if (nursingPlan.evalQuetion != null && nursingPlan.evalQuetion.Count > 0) { data.NurEvalDate = nursingPlan.EVALDATE.HasValue ? nursingPlan.EVALDATE.Value.ToShortDateString() : ""; data.NurEvalNum = nursingPlan.EVALNUMBER; for (int i = 0; i < nursingPlan.evalQuetion.Count; i++) { if (nursingPlan.evalQuetion[i].QUESTIONCODE == "ADL") { evalModel.ADLSCORE = nursingPlan.evalQuetion[i].SCORE == null ? "" : nursingPlan.evalQuetion[i].SCORE.ToString(); } else if (nursingPlan.evalQuetion[i].QUESTIONCODE == "GDS") { evalModel.GODSSCORE = nursingPlan.evalQuetion[i].SCORE == null ? "" : nursingPlan.evalQuetion[i].SCORE.ToString(); } else if (nursingPlan.evalQuetion[i].QUESTIONCODE == "IADL") { evalModel.IADLSCORE = nursingPlan.evalQuetion[i].SCORE == null ? "" : nursingPlan.evalQuetion[i].SCORE.ToString(); } else if (nursingPlan.evalQuetion[i].QUESTIONCODE == "MMSE") { evalModel.MMSESCORE = nursingPlan.evalQuetion[i].SCORE == null ? "" : nursingPlan.evalQuetion[i].SCORE.ToString(); } } } if (swPlan.TaskGoalsStrategyModel != null && swPlan.TaskGoalsStrategyModel.Count > 0) { data.SWEvalDate = swPlan.EVALDATE.HasValue ? swPlan.EVALDATE.Value.ToShortDateString() : ""; data.SWEvalNum = swPlan.EVALNUMBER; List <DC_MultiteamCarePlanModel> swCarePlan = (from task in swPlan.TaskGoalsStrategyModel.AsEnumerable() select new DC_MultiteamCarePlanModel { MAJORTYPE = "社工", QUESTIONTYPE = task.QUESTIONTYPE, ACTIVITY = task.PLANACTIVITY }).ToList(); carePlan.AddRange(swCarePlan); } if (nursingPlan.regCpl != null && nursingPlan.regCpl.Count > 0) { List <DC_MultiteamCarePlanModel> nursingCarePlan = (from task in nursingPlan.regCpl.AsEnumerable() select new DC_MultiteamCarePlanModel { MAJORTYPE = "护理", QUESTIONTYPE = task.CPDIA, ACTIVITY = task.NsCplActivity.Select(x => x.CplActivity).ToList().Join() }).ToList(); carePlan.AddRange(nursingCarePlan); } data.PlanEval = evalModel; data.CarePlan = carePlan; response.Data = data; return(response); }