| | |
| | | @Autowired |
| | | private SettleClaimsMapper settleClaimsMapper; |
| | | @Autowired |
| | | private MemberMapper memberMapper; |
| | | @Autowired |
| | | private SettleClaimsExtMapper settleClaimsExtMapper; |
| | | |
| | | @Autowired |
| | |
| | | } |
| | | if(!Constants.equalsObject(settleClaims.getStatus(),Constants.ZERO) |
| | | &&( Objects.isNull(settleClaims.getExtData().getBxName()) |
| | | || Objects.isNull(settleClaims.getExtData().getReportDate()) |
| | | || Objects.isNull(settleClaims.getExtData().getBxCode()) |
| | | || Objects.isNull(settleClaims.getExtData().getBxEnddate()) |
| | | || Objects.isNull(settleClaims.getExtData().getBxOrg()) |
| | |
| | | )>Constants.ZERO){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"存在提报中的报案数据!"); |
| | | } |
| | | |
| | | settleClaims.setCreateDate(new Date()); |
| | | settleClaims.setIsdeleted(Constants.ZERO); |
| | | settleClaims.setCompanyId(loginUserInfo.getCompanyId()); |
| | |
| | | settleClaims.setRefuseSettleClaimsLog(settleClaimsLog); |
| | | } |
| | | |
| | | |
| | | if((Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.ACCEPTANCE.getKey()) |
| | | || Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.WAIT_AUDIT_COMPENSATION.getKey())) |
| | | && Constants.equalsInteger(settleClaims.getWaitSupplement(),Constants.ONE)){ |
| | | SettleClaimsLog settleClaimsLog = settleClaimsLogJoinMapper.selectJoinOne(SettleClaimsLog.class, |
| | | new MPJLambdaWrapper<SettleClaimsLog>() |
| | | .selectAll(SettleClaimsLog.class) |
| | | .selectAs(SystemUser::getRealname,SettleClaimsLog::getCreatorName) |
| | | .selectAs(SystemUser::getType,SettleClaimsLog::getCreatorType) |
| | | .selectAs(Company::getName,SettleClaimsLog::getCompanyName) |
| | | .leftJoin(SystemUser.class,SystemUser::getId,SettleClaimsLog::getCreator) |
| | | .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId) |
| | | .eq(SettleClaimsLog::getSettleClainmsId,settleClaims.getId()) |
| | | .in(SettleClaimsLog::getObjType,Constants.SettleClaimsLogType.SUPPLEMENT_DESCRIBE.getKey()) |
| | | .orderByDesc(SettleClaimsLog::getCreateDate) |
| | | .last(" limit 1") |
| | | ); |
| | | settleClaims.setSupplementSettleClaimsLog(settleClaimsLog); |
| | | } |
| | | |
| | | |
| | | |
| | |
| | | .selectAs(Member::getIdcardNo,SettleClaims::getMemberIdcardNo) |
| | | .selectAs(Worktype::getName,SettleClaims::getWorktypeName) |
| | | .selectAs(InsuranceApply::getStartTime,SettleClaims::getBaoxianStartTime) |
| | | .selectAs(InsuranceApply::getCode,SettleClaims::getApplyCode) |
| | | .selectAs(DispatchUnit::getName,SettleClaims::getDuName) |
| | | .selectAs(InsuranceApply::getStartTime,SettleClaims::getBaoxianStartTime) |
| | | .selectAs(InsuranceApply::getEndTime,SettleClaims::getBaoxianEndTime) |
| | |
| | | }else { |
| | | queryWrapper. in(Company::getId, user.getCompanyIdList()); |
| | | } |
| | | } else { |
| | | queryWrapper.ne(SettleClaims::getStatus,Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey()); |
| | | }{ |
| | | //企业用户只看自己的数据 |
| | | pageWrap.getModel().setCompanyId(user.getCompanyId()); |
| | | } |
| | |
| | | .selectAs(SettleClaimsExt::getBxStartdate,SettleClaims::getBaoxianStartTime) |
| | | .selectAs(SettleClaimsExt::getBxEnddate,SettleClaims::getBaoxianEndTime) |
| | | .selectAs(SettleClaimsExt::getBxCode,SettleClaims::getApplyCode) |
| | | .selectAs(SettleClaimsExt::getReportDate,SettleClaims::getReportDate) |
| | | .innerJoin(SettleClaimsExt.class,SettleClaimsExt::getSettileClaimsId,SettleClaims::getId); |
| | | queryWrapper.eq(SettleClaims::getIsdeleted,Constants.ZERO); |
| | | queryWrapper.eq(SettleClaims::getOrigin,Constants.ONE); |
| | |
| | | queryWrapper.orderByDesc(SettleClaims::getCreateDate); |
| | | PageData<SettleClaims> pageData = PageData.from(settleClaimsJoinMapper.selectJoinPage(page,SettleClaims.class, queryWrapper)); |
| | | for (SettleClaims settleClaims:pageData.getRecords()) { |
| | | settleClaims.setStatusName(Constants.SettleClaimsStatus.getName(settleClaims.getStatus())); |
| | | if(Objects.nonNull(settleClaims.getStatus())){ |
| | | settleClaims.setStatusName(Constants.SettleClaimsStatus.getName(settleClaims.getStatus())); |
| | | } |
| | | settleClaims.setPcAccount(settleClaims.getHpAccount().add(settleClaims.getHpOtherAccount())); |
| | | } |
| | | return pageData; |
| | |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | } |
| | | Member member =memberMapper.selectById(settleClaimsDTO.getMemberId()); |
| | | if(member == null){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,出险人信息不正确!"); |
| | | } |
| | | SettleClaims settleClaims = new SettleClaims(); |
| | | BeanUtils.copyProperties(settleClaimsDTO,settleClaims); |
| | | settleClaims.setReportNumStatus(Constants.ZERO); |
| | | settleClaims.setCompanyId(loginUserInfo.getCompanyId()); |
| | | settleClaims.setOrigin(Constants.ZERO); |
| | | settleClaims.setMemberName(member.getName()); |
| | | settleClaims.setCreateDate(new Date()); |
| | | if(Constants.equalsInteger(settleClaimsDTO.getSaveType(),Constants.ONE)&&StringUtils.isBlank(settleClaims.getCode())){ |
| | | Long nextCode = settleClaimsMapper.selectCount(new QueryWrapper<SettleClaims>().lambda().ne(SettleClaims::getStatus,Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey()) |
| | | .eq(SettleClaims::getOrigin,Constants.ZERO) .like(SettleClaims::getCreateDate,DateUtil.getDate(new Date(),"yyyy-MM-dd")) |
| | | )+1; |
| | | settleClaims.setCode("YYBLP-"+DateUtil.getDate(new Date(),"yyyyMMdd")+ |
| | | (StringUtils.leftPad(nextCode.toString(),2,"0")) |
| | | ); |
| | | } |
| | | if(Objects.nonNull(settleClaims.getId())){ |
| | | settleClaims.setEditDate(new Date()); |
| | | settleClaims.setEditor(loginUserInfo.getId()); |
| | |
| | | } |
| | | settleClaimsMapper.updateById(settleClaims); |
| | | }else{ |
| | | settleClaims.setCreateDate(new Date()); |
| | | settleClaims.setIsdeleted(Constants.ZERO); |
| | | settleClaims.setCompanyId(loginUserInfo.getCompanyId()); |
| | | settleClaims.setStatus(Constants.equalsInteger(settleClaimsDTO.getSaveType(),Constants.ONE)? |
| | | Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey():Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey()); |
| | | if(Constants.equalsInteger(settleClaimsDTO.getSaveType(),Constants.ONE)){ |
| | |
| | | this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.PLATFORM_REGISTER,null,Constants.SettleClaimsStatus.CONFIRM_INFORMATION); |
| | | } |
| | | } |
| | | if( Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey()) || |
| | | Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())){ |
| | | //-如果是待立案或者已立案待审核,发待办通知------------- |
| | | Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.SETTLE_CLAIMS; |
| | | noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,settleClaims.getId())); |
| | | Notices notices = new Notices(noticeObjectType,Constants.ZERO,settleClaims.getId(),getNoticeConttent(settleClaims), |
| | | settleClaims.getCompanyId(), |
| | | Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey())?Constants.NoticeType.ZERO:Constants.NoticeType.TWO); |
| | | noticesMapper.insert(notices); |
| | | } |
| | | return settleClaims.getId(); |
| | | } |
| | | |
| | | private String getNoticeConttent(SettleClaims settleClaims) { |
| | | return "报案号:"+StringUtils.defaultString(settleClaims.getCode(),"")+" 出险人:"+StringUtils.defaultString(settleClaims.getMemberName(),""); |
| | | } |
| | | |
| | | public void saveRisk(SettleClaims settleClaims, SettleClaimsDTO settleClaimsDTO, SystemDictDataServiceImpl systemDictDataService){ |
| | |
| | | } |
| | | Date happenTime = DateUtil.StringToDate(settleClaims.getHappenTime()); |
| | | if(happenTime.getTime() < insuranceApply.getStartTime().getTime() || happenTime.getTime() > insuranceApply.getEndTime().getTime()){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"事故发生事件未在保单生效范围内"); |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"事故发生时间未在保单生效范围内"); |
| | | } |
| | | Solutions solutions = solutionsMapper.selectById(insuranceApply.getSolutionId()); |
| | | if(Objects.isNull(solutions)){ |
| | |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"仅可修改一次报案号"); |
| | | } |
| | | if(!( |
| | | (Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.ACCEPTANCE.getKey())&&Constants.equalsInteger(model.getReportNumStatus(),Constants.ONE)) |
| | | ||(Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey()) |
| | | (Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.ACCEPTANCE.getKey()) |
| | | &&Constants.equalsInteger(model.getReportNumStatus(),Constants.ONE)) |
| | | ||((Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey()) |
| | | || Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.ACCEPTANCE.getKey()) |
| | | || Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.WAIT_DISCUSS_AUDIT.getKey())) |
| | | &&Constants.equalsInteger(model.getReportNumStatus(),Constants.ZERO)) |
| | | // ||(Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.WAIT_DEAL.getKey()) |
| | | // &&Constants.equalsInteger(model.getReportNumStatus(),Constants.ZERO)) |
| | |
| | | //受理商议审批 |
| | | settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda() |
| | | .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()).set(SettleClaims::getEditor,loginUserInfo.getId()) |
| | | .set(SettleClaims::getStatus,Constants.SettleClaimsStatus.REJECT_DEAL.getKey())); |
| | | .set(SettleClaims::getStatus,Constants.SettleClaimsStatus.WAIT_DISCUSS_AUDIT.getKey())); |
| | | //存储日志 |
| | | this.saveSettleClaimsLog(settleClaims, |
| | | Constants.SettleClaimsLogType.PLATFORM_WAIT_DISCUSS, |
| | | dto.getDescribe(),Constants.SettleClaimsStatus.REJECT_DEAL); |
| | | dto.getDescribe(),Constants.SettleClaimsStatus.WAIT_DISCUSS_AUDIT); |
| | | } |
| | | |
| | | if( Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.ACCEPTANCE.getKey()) || |
| | | Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.WAIT_DISCUSS_AUDIT.getKey())){ |
| | | //-如果是待立案或者已立案待审核,发待办通知------------- |
| | | Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.SETTLE_CLAIMS; |
| | | noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,settleClaims.getId())); |
| | | Notices notices = new Notices(noticeObjectType,Constants.ZERO,settleClaims.getId(),getNoticeConttent(settleClaims), |
| | | settleClaims.getCompanyId(), |
| | | Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey())?Constants.NoticeType.ZERO:Constants.NoticeType.TWO); |
| | | noticesMapper.insert(notices); |
| | | } |
| | | } |
| | | |