Example #1
0
 /// <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));
 }
Example #2
0
        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));
        }
Example #3
0
 /// <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));
 }
Example #4
0
        /// <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);
            }
        }
Example #5
0
        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));
        }
Example #6
0
        /// <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);
        }
Example #7
0
        /// <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);
        }
Example #8
0
        /// <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);
            }
        }