/// <summary> /// 撤销护理保险待遇申请信息 /// </summary> /// <param name="request"></param> /// <returns></returns> public BaseResponse <AppcertEntity> CancelSubmitAppcert(AppcertEntity request) { request.Status = 1; request.UpdateBy = SecurityHelper.CurrentPrincipal.UserId.ToString(); request.UpdateTime = DateTime.Now; return(base.Save <NCIA_APPCERT, AppcertEntity>(request, (q) => q.APPCERTID == request.AppcertId)); }
public IHttpActionResult Post(AppcertEntity request) { var response = new BaseResponse <AppcertEntity>(); if (request.ActionStatus == 0) { response = service.SaveAppcert(request); } else if (request.ActionStatus == 1) { response = service.CancelSubmitAppcert(request); } else if (request.ActionStatus == 3) { response = service.SubmitAppcert(request); } else if (request.ActionStatus == 11) { response = service.SaveReAppcert(request); } else if (request.ActionStatus == -1) { response = service.DeleteAppcert(request); } return(Ok(response)); }
/// <summary> /// 删除护理保险待遇申请信息 /// </summary> /// <param name="request"></param> /// <returns></returns> public BaseResponse <AppcertEntity> DeleteAppcert(AppcertEntity request) { //删除重审表单 特殊处理 if (request.BaseAppcertIdOfReApp != null) { var Appcert = unitOfWork.GetRepository <NCIA_APPCERT>().dbSet.FirstOrDefault(m => m.APPCERTID == request.BaseAppcertIdOfReApp); if (Appcert != null) { Appcert.STATUS = 9; unitOfWork.GetRepository <NCIA_APPCERT>().Update(Appcert); unitOfWork.Save(); } } request.IsDelete = true; request.UpdateBy = SecurityHelper.CurrentPrincipal.UserId.ToString(); request.UpdateTime = DateTime.Now; return(base.Save <NCIA_APPCERT, AppcertEntity>(request, (q) => q.APPCERTID == request.AppcertId)); }
/// <summary> /// 提交护理保险待遇申请信息 /// </summary> /// <param name="request"></param> /// <returns></returns> public BaseResponse <AppcertEntity> SubmitAppcert(AppcertEntity request) { lock (this) { var response = new BaseResponse <AppcertEntity>(); //1:check a. 是否做过ADL评估 b. ADL总分是否小于60分 var NursingHomeAsstRecord = unitOfWork.GetRepository <NCIA_NURSINGHOMEASSTRECORD>().dbSet.FirstOrDefault(m => m.NSASSTRECORDID == request.NsAsstRecordId); if (NursingHomeAsstRecord == null) { response.ResultCode = -1; response.ResultMessage = "未做日常生活能力评定量表"; } else { var adlTotalScore = NursingHomeAsstRecord.TOTALSCORE; if (request.TotalScore != adlTotalScore) { response.ResultCode = -1; response.ResultMessage = "请先保存日常生活能力评定量表数据"; } else if (adlTotalScore >= 60) { response.ResultCode = -1; response.ResultMessage = "日常生活能力评定量表总分不能大于或等于60分"; } } //其他check放到保存里 if (response.ResultCode != -1) { request.Status = 3; request.UpdateBy = SecurityHelper.CurrentPrincipal.UserId.ToString();; request.UpdateTime = DateTime.Now; response.Data = base.Save <NCIA_APPCERT, AppcertEntity>(request, (q) => q.APPCERTID == request.AppcertId).Data; } return(response); } }
public IHttpActionResult Post(AppcertEntity request) { var response = new BaseResponse <AppcertEntity>(); if (request.ActionStatus == 0) { } else if (request.ActionStatus == 6) { request.AgencyResult = 1; request.Status = 6; } else if (request.ActionStatus == 9) { request.AgencyResult = 0; request.Status = 9; } response = service.SaveAppcert(request); return(Ok(response)); }
/// <summary> ///查询审核列表数据 /// </summary> /// <param name="request">请求实体</param> /// <returns>Response</returns> public BaseResponse <IList <AppcertEntity> > QueryAppcertList(BaseRequest <AuditAppcretEntityFilter> request) { BaseResponse <IList <AppcertEntity> > response = new BaseResponse <IList <AppcertEntity> >(); Mapper.CreateMap <NCIA_APPCERT, AppcertEntity>(); var q = from m in unitOfWork.GetRepository <NCIA_APPCERT>().dbSet join o in unitOfWork.GetRepository <NCIA_APPLICANT>().dbSet on m.APPLICANTID equals o.APPLICANTID into oApplicant join n in unitOfWork.GetRepository <NCIA_NURSINGHOMEASSTRECORD>().dbSet on m.NSASSTRECORDID equals n.NSASSTRECORDID into nrd from applicant in oApplicant.DefaultIfEmpty() from nr in nrd.DefaultIfEmpty() select new { appcert = m, //姓名 Name = applicant.NAME, //身份证号 IdNo = applicant.IDNO, //社保卡号 SsNo = applicant.SSNO, //性别 Gender = applicant.GENDER, //年龄 Age = DateTime.Now.Year - applicant.BIRTHDATE.Year + 1, //现住址 Address = applicant.ADDRESS, //联系电话 Phone = applicant.PHONE, adlTotalScore = nr.TOTALSCORE, }; q = q.Where(m => m.appcert.ISDELETE == false); if (!string.IsNullOrEmpty(request.Data.Name)) { q = q.Where(m => m.appcert.NAME.Contains(request.Data.Name)); } if (!string.IsNullOrEmpty(request.Data.IdNo)) { q = q.Where(m => m.appcert.IDNO.Contains(request.Data.IdNo) || m.appcert.SSNO.Contains(request.Data.SsNo)); } if (request.Data.Status != -1) { q = q.Where(m => m.appcert.STATUS == request.Data.Status); } else { q = q.Where(m => m.appcert.STATUS == 3 || m.appcert.STATUS == 6 || m.appcert.STATUS == 9); } if (Convert.ToInt32(request.Data.Nsid) != -1) { q = q.Where(m => m.appcert.NSID.ToUpper().Trim() == request.Data.Nsid.ToUpper().Trim()); } q = q.OrderByDescending(m => m.appcert.CREATETIME); response.RecordsCount = q.Count(); Action <IList> mapperResponse = (IList list) => { response.Data = new List <AppcertEntity>(); foreach (dynamic item in list) { AppcertEntity newItem = Mapper.DynamicMap <AppcertEntity>(item.appcert); newItem.Name = item.Name; newItem.IdNo = item.IdNo; newItem.SsNo = item.SsNo; newItem.Gender = item.Gender; newItem.Address = item.Address; newItem.Phone = item.Phone; newItem.Age = item.Age; newItem.TotalScore = item.adlTotalScore; response.Data.Add(newItem); } }; if (request != null && request.PageSize > 0) { var list = q.Skip((request.CurrentPage - 1) * request.PageSize).Take(request.PageSize).ToList(); response.PagesCount = GetPagesCount(request.PageSize, response.RecordsCount); mapperResponse(list); } else { var list = q.ToList(); mapperResponse(list); } //var nursingHomeModel = unitOfWork.GetRepository<NCI_NURSINGHOME>().dbSet.Where(m => m.NSID == SecurityHelper.CurrentPrincipal.OrgId); //List<NCI_CARETYPE> careTypeList = nursingHomeModel.SelectMany(m => m.NCI_CARETYPE).OrderByDescending(m => m.CARETYPE).ToList(); //foreach (var item in response.Data) //{ // var careTypeModel=careTypeList.Where(m=>m.CARETYPEID==item.NsappcareType).FirstOrDefault(); // if(careTypeModel!=null) // { // item.AgencyapprovedcareType = careTypeModel.CARETYPEID; // } // else // { // if (careTypeList.Count > 0) item.AgencyapprovedcareType = careTypeList[0].CARETYPEID; // } //} return(response); }
/// <summary> /// 保存护理保险待遇申请信息 /// </summary> /// <param name="request"></param> /// <returns></returns> public BaseResponse <AppcertEntity> SaveAppcert(AppcertEntity request) { var response = new BaseResponse <AppcertEntity>(); if (request.ActionStatus != 0) { //1:check a. 是否做过ADL评估 b. ADL总分是否小于60分 var NursingHomeAsstRecord = unitOfWork.GetRepository <NCIA_AGENCYASSTRECORD>().dbSet.FirstOrDefault(m => m.AGENCYASSTRECORDID == request.AgencyAsstRecordId); if (NursingHomeAsstRecord == null) { response.ResultCode = -1; response.ResultMessage = "未做日常生活能力评定量表"; } else { var adlTotalScore = NursingHomeAsstRecord.TOTALSCORE; if (adlTotalScore >= 60) { if (request.ActionStatus != 9) { response.ResultCode = -1; response.ResultMessage = "日常生活能力评定量表总分不能大于或等于60分"; } } } } if (response.ResultCode != -1) { //if (request.ActionStatus == 6 || request.ActionStatus == 9) //{ // var Applicant = unitOfWork.GetRepository<NCIA_APPLICANT>().dbSet.FirstOrDefault(m => m.IDNO == request.IdNo && m.ISDELETE == false); // if (Applicant != null) // { // if (request.ActionStatus == 6) // { // Applicant.LASTCERTRESULT = 6; // Applicant.LASTCERTDATE = Convert.ToDateTime(DateTime.Now.Year.ToString() + "/12/31"); // } // if (request.ActionStatus == 9) // { // Applicant.LASTCERTRESULT = 9; // } // unitOfWork.GetRepository<NCIA_APPLICANT>().Update(Applicant); // unitOfWork.Save(); // } //} #region 资格申请数据 if (request.ActionStatus == 6) { request.CertNo = GenerateCode("CertNo", EnumCodeKey.CertNo); request.CertStartTime = DateTime.Now; request.CertExpiredTime = Convert.ToDateTime(DateTime.Now.Year.ToString() + "/12/31"); } #endregion request.AgencyOperateTime = DateTime.Now; request.AgencyUserId = SecurityHelper.CurrentPrincipal.UserId.ToString(); request.AgencyId = SecurityHelper.CurrentPrincipal.OrgId; request.UpdateBy = SecurityHelper.CurrentPrincipal.UserId.ToString(); request.UpdateTime = DateTime.Now; response.Data = base.Save <NCIA_APPCERT, AppcertEntity>(request, (q) => q.APPCERTID == request.AppcertId).Data; } return(response); }
/// <summary> /// 保存护理保险待遇申请信息 /// </summary> /// <param name="request"></param> /// <returns></returns> public BaseResponse <AppcertEntity> SaveAppcert(AppcertEntity request) { lock (this) { var response = new BaseResponse <AppcertEntity>(); var otherNsAppcert = unitOfWork.GetRepository <NCIA_APPCERT>().dbSet.OrderByDescending(m => m.CREATETIME).FirstOrDefault(m => m.IDNO.ToUpper() == request.IdNo.ToUpper() && m.ISDELETE == false && m.NSID != SecurityHelper.CurrentPrincipal.OrgId && m.STATUS != 11 && m.APPCERTID != request.AppcertId); if (otherNsAppcert != null) { var msg = ((EnumAppCertStatus)otherNsAppcert.STATUS).ToString(); response.ResultCode = -1; if (otherNsAppcert.STATUS == 6) { response.ResultMessage = "在其他机构已存在" + msg + "的申请表,可以直接去申请住院"; } else { response.ResultMessage = "在其他机构已存在" + msg + "的申请表"; } return(response); } var appcert = unitOfWork.GetRepository <NCIA_APPCERT>().dbSet.OrderByDescending(m => m.CREATETIME).FirstOrDefault(m => m.IDNO.ToUpper() == request.IdNo.ToUpper() && m.ISDELETE == false && m.NSID == SecurityHelper.CurrentPrincipal.OrgId && m.STATUS != 11 && m.APPCERTID != request.AppcertId); if (appcert != null) { var currentStatus = appcert.STATUS; //var nursingHomeAsstRecord = unitOfWork.GetRepository<NCIA_APPLICANT>().dbSet.FirstOrDefault(m => m.IDNO.ToUpper() == request.IdNo.ToUpper() && m.ISDELETE == false && m.NSID == SecurityHelper.CurrentPrincipal.OrgId); var now = DateTime.Now; //DateTime lastCertdate = nursingHomeAsstRecord.LASTCERTDATE ?? DateTime.Now; //var lastCertResult = nursingHomeAsstRecord.LASTCERTRESULT; //if (nursingHomeAsstRecord != null) //{ DateTime AuditAppcertCertdate = (appcert.UPDATETIME ?? DateTime.Now).AddMonths(6); //2:check 申请过的不能再申请 提交过的不能再提交 //if (lastCertResult == 0 || lastCertResult == 9) //{ if (currentStatus == 0 || currentStatus == 1) { response.ResultCode = -1; response.ResultMessage = "已存在未提交的申请表"; } else if (currentStatus == 3) { response.ResultCode = -1; response.ResultMessage = "已存在未审核的申请表"; } else if (currentStatus == 6) { response.ResultCode = -1; response.ResultMessage = "申请通过的不能做第二次申请"; } else if (currentStatus == 9) //3:check 申请不通过的半年之内不能做第二次申请 { if (DateTime.Compare(AuditAppcertCertdate, now) > 0) { response.ResultCode = -1; response.ResultMessage = "复审不通过的在半年之内不可以再次申请"; } } } //4:check 申请通过的不能做第二次申请 // if (lastCertResult == 6) // { // response.ResultCode = -1; // response.ResultMessage = "申请通过的不能做第二次申请"; // } // } //} if (response.ResultCode != -1) { if (request.AppcertId == 0) { request.IsDelete = false; request.NsId = SecurityHelper.CurrentPrincipal.OrgId; //资格申请流水号: request.AppcertSN = GenerateCode("AppcertSN", EnumCodeKey.AppcertSN); request.CreateBy = SecurityHelper.CurrentPrincipal.UserId.ToString();; request.CreateTime = DateTime.Now; } request.NsOperateTime = DateTime.Now; request.NsUserId = SecurityHelper.CurrentPrincipal.UserId.ToString();; request.UpdateBy = SecurityHelper.CurrentPrincipal.UserId.ToString();; request.UpdateTime = DateTime.Now; response.Data = base.Save <NCIA_APPCERT, AppcertEntity>(request, (q) => q.APPCERTID == request.AppcertId).Data; } return(response); } }