| | |
| | | |
| | | |
| | | @Override |
| | | public Integer createSys(SettleClaims settleClaims) { |
| | | LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | settleClaims.setOrigin(Constants.ONE); |
| | | if(Objects.isNull(settleClaims) |
| | | || Objects.isNull(settleClaims.getMemberName()) |
| | | || Objects.isNull(settleClaims.getSolutionName()) |
| | | || Objects.isNull(settleClaims.getDuId()) |
| | | || Objects.isNull(settleClaims.getWorktypeId()) |
| | | || Objects.isNull(settleClaims.getHappenTime()) |
| | | || Objects.isNull(settleClaims.getType()) |
| | | || Objects.isNull(settleClaims.getInHospital()) |
| | | || Objects.isNull(settleClaims.getMedicalInsurance()) |
| | | || Objects.isNull(settleClaims.getContent()) |
| | | || Objects.isNull(settleClaims.getInformantName()) |
| | | || Objects.isNull(settleClaims.getInformantPhone())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | if(!loginUserInfo.getType().equals(Constants.ONE)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"非企业员工无法进行该操作"); |
| | | } |
| | | //查询是否存在已提报的数据 根据人员和保险方案进行过滤 是否存在进行中的数据 |
| | | if(settleClaimsMapper.selectCount(new QueryWrapper<SettleClaims>().lambda() |
| | | .eq(SettleClaims::getSolutionId,settleClaims.getSolutionId()) |
| | | .eq(SettleClaims::getMemberId,loginUserInfo.getId()) |
| | | .in(SettleClaims::getStatus,Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey(), |
| | | Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey()) |
| | | )>Constants.ZERO){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"存在提报中的报案数据!"); |
| | | } |
| | | settleClaims.setCreateDate(new Date()); |
| | | settleClaims.setIsdeleted(Constants.ZERO); |
| | | settleClaims.setCompanyId(loginUserInfo.getCompanyId()); |
| | | settleClaims.setStatus(Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey()); |
| | | settleClaims.setCreator(loginUserInfo.getId()); |
| | | settleClaims.setCheckUserId(loginUserInfo.getId()); |
| | | settleClaimsMapper.insert(settleClaims); |
| | | |
| | | List<Multifile> reportVideo = settleClaims.getReportFileList(); |
| | | if(CollectionUtils.isNotEmpty(reportVideo)){ |
| | | for (int i = 0; i < reportVideo.size(); i++) { |
| | | Multifile multifile = reportVideo.get(i); |
| | | if(Objects.isNull(multifile.getFileurl()) |
| | | || Objects.isNull(multifile.getType()) |
| | | || StringUtils.isBlank(multifile.getName()) |
| | | ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"附件内容异常"); |
| | | } |
| | | multifile.setCreator(loginUserInfo.getId()); |
| | | multifile.setCreateDate(new Date()); |
| | | multifile.setIsdeleted(Constants.ZERO); |
| | | multifile.setObjId(settleClaims.getId()); |
| | | multifile.setObjType(Constants.ONE); |
| | | multifile.setSortnum(i+1); |
| | | multifileJoinMapper.insert(multifile); |
| | | } |
| | | } |
| | | |
| | | return settleClaims.getId(); |
| | | } |
| | | @Override |
| | | public Integer create(SettleClaims settleClaims) { |
| | | LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | if(Objects.isNull(settleClaims) |
| | |
| | | } |
| | | SettleClaims settleClaims = new SettleClaims(); |
| | | BeanUtils.copyProperties(settleClaimsDTO,settleClaims); |
| | | settleClaims.setReportNumStatus(Constants.ZERO); |
| | | if(Objects.nonNull(settleClaims.getId())){ |
| | | settleClaims.setEditDate(new Date()); |
| | | settleClaims.setEditor(loginUserInfo.getId()); |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = {BusinessException.class,Exception.class}) |
| | | public void updCaseType(CaseTypeDTO dto){ |
| | | if(Objects.isNull(dto) |
| | | || Objects.isNull(dto.getId()) |
| | | || Objects.isNull(dto.getCaseType()) |
| | | || !(dto.getCaseType()>=Constants.ONE&&dto.getCaseType()<=Constants.THREE) |
| | | ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | if(!loginUserInfo.getType().equals(Constants.ZERO)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"非管理员无法进行该操作"); |
| | | } |
| | | SettleClaims settleClaims = settleClaimsJoinMapper.selectById(dto.getId()); |
| | | if(Objects.isNull(settleClaims)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | if(!Constants.equalsInteger(Constants.SettleClaimsStatus.ACCEPTANCE.getKey(),settleClaims.getStatus())){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转~"); |
| | | } |
| | | //存储日志 |
| | | this.saveSettleClaimsLog(settleClaims, Constants.SettleClaimsLogType.UPD_CASE_TYPE,Constants.SettleClaimsLogType.UPD_CASE_TYPE.getInfo()); |
| | | settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda() |
| | | .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()) |
| | | .set(SettleClaims::getEditor,loginUserInfo.getId()) |
| | | .set(SettleClaims::getCaseType,dto.getCaseType())); |
| | | } |
| | | |
| | | |
| | | |
| | |
| | | if(!user.getType().equals(Constants.ZERO)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"非管理员无法进行该操作"); |
| | | } |
| | | //查询是否有报案号更改记录 |
| | | if(Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.ACCEPTANCE.getKey()) |
| | | && settleClaimsLogMapper.selectCount(new QueryWrapper<SettleClaimsLog>().lambda() |
| | | .eq(SettleClaimsLog::getObjType,Constants.SettleClaimsLogType.PLATFORM_ADDCODE.getKey()) |
| | | .eq(SettleClaimsLog::getSettleClainmsId,param.getId()))>=Constants.ONE){ |
| | | if(Constants.equalsInteger(model.getReportNumStatus(),Constants.TWO)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"仅可修改一次报案号"); |
| | | } |
| | | if(Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())&&StringUtils.isNotBlank(model.getReportNum())){ |
| | | 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.WAIT_DEAL.getKey())&&Constants.equalsInteger(model.getReportNumStatus(),Constants.ZERO)))){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"仅可修改一次报案号"); |
| | | } |
| | | |
| | | |
| | | // //查询是否有报案号更改记录 |
| | | // if(Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.ACCEPTANCE.getKey()) |
| | | // && settleClaimsLogMapper.selectCount(new QueryWrapper<SettleClaimsLog>().lambda() |
| | | // .eq(SettleClaimsLog::getObjType,Constants.SettleClaimsLogType.PLATFORM_ADDCODE.getKey()) |
| | | // .eq(SettleClaimsLog::getSettleClainmsId,param.getId()))>=Constants.ONE){ |
| | | // throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"仅可修改一次报案号"); |
| | | // } |
| | | // if(Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())&&StringUtils.isNotBlank(model.getReportNum())){ |
| | | // throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"已修改报案号,无法再次修改"); |
| | | // } |
| | | settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda() |
| | | .eq(SettleClaims::getId,param.getId()).set(SettleClaims::getEditDate, |
| | | DateUtil.getCurrDateTime()).set(SettleClaims::getReportNum,param.getReportNum())); |
| | |
| | | SettleClaims update = new SettleClaims(); |
| | | update.setEditDate(new Date()); |
| | | update.setEditor(user.getId()); |
| | | update.setReportNumStatus(model.getReportNumStatus()+Constants.ONE); |
| | | update.setId(model.getId()); |
| | | update.setCheckDate(update.getEditDate()); |
| | | update.setCheckInfo("添加备案号"); |
| | |
| | | ||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.WAIT_DISCUSS_REJECT.getKey()) |
| | | ||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.WAIT_AUDIT_COMPENSATION.getKey()) |
| | | ||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.COMPENSATION.getKey()) |
| | | ||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.WAIT_CLOSE_CASE.getKey()) |
| | | ||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.CONFIRM_FEE.getKey()) |
| | | ||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.CLOSE_CASE.getKey()) |
| | | )){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,该申请当前不支持该操作~"); |
| | |
| | | if(Objects.isNull(settleClaims)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | if(!Constants.equalsInteger(Constants.SettleClaimsStatus.COMPENSATION.getKey(),settleClaims.getStatus())){ |
| | | if(!(Constants.equalsInteger(Constants.SettleClaimsStatus.COMPENSATION.getKey(),settleClaims.getStatus()) |
| | | || Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_FEE.getKey(),settleClaims.getStatus())) |
| | | ){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转~"); |
| | | } |
| | | |
| | |
| | | SettleClaims update = new SettleClaims(); |
| | | update.setEditDate(new Date()); |
| | | update.setEditor(loginUserInfo.getId()); |
| | | if(Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_FEE.getKey(),settleClaims.getStatus())){ |
| | | update.setFeeUpdate(Constants.ONE); |
| | | } |
| | | update.setYlClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&i.getName().equals(Constants.compensation.YL_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); |
| | | update.setWgClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&i.getName().equals(Constants.compensation.WG_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); |
| | | update.setScClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&i.getName().equals(Constants.compensation.SC_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); |
| | | update.setSwClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&i.getName().equals(Constants.compensation.SW_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); |
| | | update.setClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); |
| | | |
| | | //处理历史数据 |
| | | List<CompensationVO> oldList = JSONArray.parseArray(settleClaims.getAccountContent(),CompensationVO.class); |
| | | for (CompensationVO compensationVO:oldList) { |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = {BusinessException.class,Exception.class}) |
| | | public void confirmFee(Integer id){ |
| | | |
| | | LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | if(!loginUserInfo.getType().equals(Constants.ZERO)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"非管理员无法进行该操作"); |
| | |
| | | if(!Constants.equalsInteger(Constants.SettleClaimsStatus.COMPENSATION.getKey(),settleClaims.getStatus())){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转~"); |
| | | } |
| | | |
| | | SettleClaims update = new SettleClaims(); |
| | | update.setEditDate(new Date()); |
| | | update.setEditor(loginUserInfo.getId()); |
| | | update.setStatus(Constants.SettleClaimsStatus.WAIT_DEAL.getKey()); |
| | | update.setId(settleClaims.getId()); |
| | | settleClaimsMapper.updateById(update); |
| | | |
| | | //存储日志 |
| | | this.saveSettleClaimsLog(settleClaims, |
| | |
| | | } |
| | | |
| | | |
| | | // @Override |
| | | // @Transactional(rollbackFor = {BusinessException.class,Exception.class}) |
| | | // public void payCash(PayCashDTO dto){ |
| | | // if(Objects.isNull(dto) |
| | | // || Objects.isNull(dto.getId()) |
| | | // || StringUtils.isBlank(dto.getDescribe()) |
| | | // ){ |
| | | // throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | // } |
| | | // LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | // if(!loginUserInfo.getType().equals(Constants.ZERO)){ |
| | | // throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"非管理员无法进行该操作"); |
| | | // } |
| | | // SettleClaims settleClaims = settleClaimsJoinMapper.selectById(dto.getId()); |
| | | // if(Objects.isNull(settleClaims)){ |
| | | // throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | // } |
| | | // if(!Constants.equalsInteger(Constants.SettleClaimsStatus.COMPENSATION.getKey(),settleClaims.getStatus())){ |
| | | // throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转~"); |
| | | // } |
| | | // SettleClaims update = new SettleClaims(); |
| | | // update.setEditDate(new Date()); |
| | | // update.setEditor(loginUserInfo.getId()); |
| | | // update.setStatus(Constants.SettleClaimsStatus.WAIT_DEAL.getKey()); |
| | | // update.setId(settleClaims.getId()); |
| | | // settleClaimsMapper.updateById(update); |
| | | // |
| | | // //存储日志 |
| | | // this.saveSettleClaimsLog(settleClaims, |
| | | // Constants.SettleClaimsLogType.CONFIRM_FEE, |
| | | // Constants.SettleClaimsLogType.CONFIRM_FEE.getInfo()); |
| | | // } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |