|  |  |  | 
|---|
|  |  |  | settleClaims.setOrigin(Constants.ONE); | 
|---|
|  |  |  | if(Objects.isNull(settleClaims) | 
|---|
|  |  |  | || Objects.isNull(settleClaims.getExtData()) | 
|---|
|  |  |  | || Objects.isNull(settleClaims.getExtData().getBxName()) | 
|---|
|  |  |  | || Objects.isNull(settleClaims.getExtData().getMemberName()) | 
|---|
|  |  |  | || Objects.isNull(settleClaims.getExtData().getMemberIdcardType()) | 
|---|
|  |  |  | || Objects.isNull(settleClaims.getExtData().getMemberIdcard())){ | 
|---|
|  |  |  | || Objects.isNull(settleClaims.getExtData().getMemberIdcard()) | 
|---|
|  |  |  | || Objects.isNull(settleClaims.getStatus()) | 
|---|
|  |  |  | ){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.BAD_REQUEST); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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()) | 
|---|
|  |  |  | || Objects.isNull(settleClaims.getInformantPhone()) )){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.BAD_REQUEST); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //        if(!Constants.equalsObject(settleClaims.getStatus(),Constants.ZERO) | 
|---|
|  |  |  | //                &&( Objects.isNull(settleClaims.getExtData().getReportDate()) | 
|---|
|  |  |  | //                || Objects.isNull(settleClaims.getExtData().getBxCode()) | 
|---|
|  |  |  | //                || Objects.isNull(settleClaims.getExtData().getBxEnddate()) | 
|---|
|  |  |  | //                || Objects.isNull(settleClaims.getExtData().getBxOrg()) | 
|---|
|  |  |  | //                || Objects.isNull(settleClaims.getInformantPhone()) )){ | 
|---|
|  |  |  | //            throw new BusinessException(ResponseStatus.BAD_REQUEST); | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | if(!Constants.equalsInteger(loginUserInfo.getType(),Constants.ZERO)){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"非平台管理员无法进行该操作"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | public void saveSettleClaimsLog(SettleClaims settleClaims, Constants.SettleClaimsLogType settleClaimsLogType, String content,Constants.SettleClaimsStatus settleClaimsStatus){ | 
|---|
|  |  |  | LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); | 
|---|
|  |  |  | SettleClaimsLog settleClaimsLog = new SettleClaimsLog(); | 
|---|
|  |  |  | settleClaimsLog.setCreateDate(new Date()); | 
|---|
|  |  |  | settleClaimsLog.setCreateDate(Objects.isNull(settleClaims.getEditDate())?new Date():settleClaims.getEditDate()); | 
|---|
|  |  |  | settleClaimsLog.setCreator(loginUserInfo.getId()); | 
|---|
|  |  |  | settleClaimsLog.setIsdeleted(Constants.ZERO); | 
|---|
|  |  |  | settleClaimsLog.setSettleClainmsId(settleClaims.getId()); | 
|---|
|  |  |  | 
|---|
|  |  |  | queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getInformantName()),SettleClaims::getInformantName, pageWrap.getModel().getInformantName()); | 
|---|
|  |  |  | queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getHappenTime()),SettleClaims::getHappenTime, pageWrap.getModel().getHappenTime()); | 
|---|
|  |  |  | queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCreateDateStr()),SettleClaims::getCreateDate, pageWrap.getModel().getCreateDateStr()); | 
|---|
|  |  |  | queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()),SettleClaimsExt::getMemberName, pageWrap.getModel().getMemberName()); | 
|---|
|  |  |  | queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getExtData().getMemberName()),SettleClaimsExt::getMemberName, pageWrap.getModel().getExtData().getMemberName()); | 
|---|
|  |  |  | queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getSolutionName()),SettleClaimsExt::getBxName, pageWrap.getModel().getSolutionName()); | 
|---|
|  |  |  | queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getApplyCode()),SettleClaimsExt::getBxCode, pageWrap.getModel().getApplyCode()); | 
|---|
|  |  |  | queryWrapper.eq(pageWrap.getModel().getInHospital()!=null,SettleClaims::getInHospital, pageWrap.getModel().getInHospital()); | 
|---|
|  |  |  | 
|---|
|  |  |  | ||Objects.isNull(settleClaimsDTO.getMedicalInsurance()) | 
|---|
|  |  |  | ||StringUtils.isBlank(settleClaimsDTO.getInformantName()) | 
|---|
|  |  |  | ||StringUtils.isBlank(settleClaimsDTO.getInformantPhone()) | 
|---|
|  |  |  | ||StringUtils.isBlank(settleClaimsDTO.getReceiveUserName()) | 
|---|
|  |  |  | ||StringUtils.isBlank(settleClaimsDTO.getReceiveBank()) | 
|---|
|  |  |  | ||StringUtils.isBlank(settleClaimsDTO.getReceiveAccount()) | 
|---|
|  |  |  | //                    ||StringUtils.isBlank(settleClaimsDTO.getReceiveUserName()) | 
|---|
|  |  |  | //                    ||StringUtils.isBlank(settleClaimsDTO.getReceiveBank()) | 
|---|
|  |  |  | //                    ||StringUtils.isBlank(settleClaimsDTO.getReceiveAccount()) | 
|---|
|  |  |  | ){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.BAD_REQUEST); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | SettleClaims settleClaims = new SettleClaims(); | 
|---|
|  |  |  | BeanUtils.copyProperties(settleClaimsDTO,settleClaims); | 
|---|
|  |  |  | settleClaims.setEditDate(new Date()); | 
|---|
|  |  |  | settleClaims.setReportNumStatus(Constants.ZERO); | 
|---|
|  |  |  | settleClaims.setCompanyId(loginUserInfo.getCompanyId()); | 
|---|
|  |  |  | settleClaims.setOrigin(Constants.ZERO); | 
|---|
|  |  |  | 
|---|
|  |  |  | if(Objects.isNull(model)){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.DATA_EMPTY); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(!(Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey())||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey()))){ | 
|---|
|  |  |  | if(!(Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey()) | 
|---|
|  |  |  | ||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey()) | 
|---|
|  |  |  | ||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.FINISH_ACCEPTANCE.getKey()))){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"数据状态已流转,无法进行修改"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | settleClaims.setEditDate(new Date()); | 
|---|
|  |  |  | 
|---|
|  |  |  | .ne(Objects.nonNull(settleClaims.getId()),SettleClaims::getId,settleClaims.getId()) | 
|---|
|  |  |  | .apply(" HAPPEN_TIME > DATE_SUB(now(), INTERVAL 365 DAY)  ") | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | if(cxcs>Integer.valueOf(riskConfigVO.getRiskTimesReportTimes())){ | 
|---|
|  |  |  | if(cxcs>=Integer.valueOf(riskConfigVO.getRiskTimesReportTimes())){ | 
|---|
|  |  |  | Map<String,String> map = new HashMap<>(); | 
|---|
|  |  |  | map.put("title","疑似多次出险"); | 
|---|
|  |  |  | map.put("info","出险人一年内已出险"+cxcs+"次"); | 
|---|
|  |  |  | 
|---|
|  |  |  | Long cxcs = settleClaimsMapper.selectCount(new QueryWrapper<SettleClaims>().lambda() | 
|---|
|  |  |  | .eq(SettleClaims::getMemberId,settleClaimsDTO.getMemberId()) | 
|---|
|  |  |  | .ne(Objects.nonNull(settleClaims.getId()),SettleClaims::getId,settleClaims.getId()) | 
|---|
|  |  |  | .apply(riskConfigVO.getRiskRepeatReportTimeUnit().equals("1")," HAPPEN_TIME > DATE_SUB(now(), INTERVAL "+riskConfigVO.getRiskRepeatReportTime()+" HOUR)  ") | 
|---|
|  |  |  | .apply(riskConfigVO.getRiskRepeatReportTimeUnit().equals("2")," HAPPEN_TIME > DATE_SUB(now(), INTERVAL "+riskConfigVO.getRiskRepeatReportTime()+" DAY)  ") | 
|---|
|  |  |  | .apply(riskConfigVO.getRiskRepeatReportTimeUnit().equals("1")," CREATE_DATE > DATE_SUB(now(), INTERVAL "+riskConfigVO.getRiskRepeatReportTime()+" HOUR)  ") | 
|---|
|  |  |  | .apply(riskConfigVO.getRiskRepeatReportTimeUnit().equals("2")," CREATE_DATE > DATE_SUB(now(), INTERVAL "+riskConfigVO.getRiskRepeatReportTime()+" DAY)  ") | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | if(cxcs >= Constants.TWO){ | 
|---|
|  |  |  | if(cxcs >= Constants.ONE){ | 
|---|
|  |  |  | Map<String,String> map = new HashMap<>(); | 
|---|
|  |  |  | map.put("title","疑似重复报案"); | 
|---|
|  |  |  | map.put("info","该出险人在"+riskConfigVO.getRiskRepeatReportTime()+(riskConfigVO.getRiskRepeatReportTimeUnit().equals("1")?"小时":"天")+"内已报案"+cxcs+"次"); | 
|---|
|  |  |  | 
|---|
|  |  |  | if(Constants.equalsInteger(settleClaims.getWaitSupplement(),Constants.ONE)){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"待企业补充文件,请等待企业补充文件"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | settleClaims.setEditDate(new Date()); | 
|---|
|  |  |  | //存储日志 | 
|---|
|  |  |  | this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.SUPPLEMENT_DESCRIBE,dto.getDescribe(),null); | 
|---|
|  |  |  | settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda() | 
|---|
|  |  |  | 
|---|
|  |  |  | multifileJoinMapper.insert(multifile); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | settleClaims.setEditDate(new Date()); | 
|---|
|  |  |  | //存储日志 | 
|---|
|  |  |  | this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.SUPPLEMENT,null,null); | 
|---|
|  |  |  | //删除企业的代办通知------ | 
|---|
|  |  |  | 
|---|
|  |  |  | if(!Constants.equalsInteger(settleClaims.getCompanyId(),loginUserInfo.getCompanyId())){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"非您企业的数据,您无法进行该操作"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //        if(!Constants.equalsInteger(Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey(),settleClaims.getStatus())){ | 
|---|
|  |  |  | //            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转~"); | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | settleClaims.setEditDate(new Date()); | 
|---|
|  |  |  | //存储日志 | 
|---|
|  |  |  | this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.RETURN_SETTLE,null,Constants.SettleClaimsStatus.RETURN); | 
|---|
|  |  |  | settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda() | 
|---|
|  |  |  | .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()).set(SettleClaims::getStatus,Constants.SettleClaimsStatus.RETURN.getKey())); | 
|---|
|  |  |  | .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,settleClaims.getEditDate()) | 
|---|
|  |  |  | .set(SettleClaims::getStatus,Constants.SettleClaimsStatus.RETURN.getKey())); | 
|---|
|  |  |  | deletedNoticeBiz(null,settleClaims);//删除通知 | 
|---|
|  |  |  | //给企业发通知,已结案------------- | 
|---|
|  |  |  | sendNoticeBiz(Constants.ZERO,settleClaims ,Constants.NoticeType.FOURTEEN); | 
|---|
|  |  |  | 
|---|
|  |  |  | ){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转~"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | settleClaims.setEditDate(new Date()); | 
|---|
|  |  |  | //存储日志 | 
|---|
|  |  |  | this.saveSettleClaimsLog(settleClaims, Constants.SettleClaimsLogType.UPD_CASE_TYPE,Constants.SettleClaimsLogType.UPD_CASE_TYPE.getInfo(),null); | 
|---|
|  |  |  | settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda() | 
|---|
|  |  |  | .eq(SettleClaims::getId,dto.getId()) | 
|---|
|  |  |  | .set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()) | 
|---|
|  |  |  | .set(SettleClaims::getEditDate,settleClaims.getEditDate()) | 
|---|
|  |  |  | .set(SettleClaims::getEditor,loginUserInfo.getId()) | 
|---|
|  |  |  | .set(SettleClaims::getCaseType,dto.getCaseType())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | Constants.SettleClaimsStatus settleClaimsStatus = | 
|---|
|  |  |  | Constants.equalsInteger(dto.getRegisterStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())?Constants.SettleClaimsStatus.CONFIRM_INFORMATION:Constants.SettleClaimsStatus.FINISH_ACCEPTANCE; | 
|---|
|  |  |  | //存储日志 | 
|---|
|  |  |  | settleClaims.setEditDate(new Date()); | 
|---|
|  |  |  | this.saveSettleClaimsLog(settleClaims, Constants.equalsInteger(dto.getRegisterStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())?Constants.SettleClaimsLogType.PLATFORM_REGISTER:Constants.SettleClaimsLogType.PLATFORM_RETURN,dto.getDescribe(),settleClaimsStatus); | 
|---|
|  |  |  | settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda() | 
|---|
|  |  |  | .eq(SettleClaims::getId,dto.getId()) | 
|---|
|  |  |  | .set(SettleClaims::getEditDate, DateUtil.getCurrDateTime()) | 
|---|
|  |  |  | .set(SettleClaims::getEditDate, settleClaims.getEditDate()) | 
|---|
|  |  |  | .set(SettleClaims::getEditor,loginUserInfo.getId()) | 
|---|
|  |  |  | .set(SettleClaims::getStatus,settleClaimsStatus.getKey())); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | //        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()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda() | 
|---|
|  |  |  | .eq(SettleClaims::getId,param.getId()).set(SettleClaims::getEditDate, | 
|---|
|  |  |  | update.getEditDate()).set(SettleClaims::getReportNum,param.getReportNum())); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | update.setEditor(user.getId()); | 
|---|
|  |  |  | update.setReportNumStatus(model.getReportNumStatus()+Constants.ONE); | 
|---|
|  |  |  | update.setId(model.getId()); | 
|---|
|  |  |  | 
|---|
|  |  |  | String info =applyLogType.getInfo(); | 
|---|
|  |  |  | info = info.replace("${param}", update.getReportNum()); | 
|---|
|  |  |  | SettleClaimsLog log = new SettleClaimsLog(update,applyLogType.getName(), info,update.getId(),applyLogType.getKey(), JSONObject.toJSONString(model), JSONObject.toJSONString(update)); | 
|---|
|  |  |  | log.setCreateDate(update.getEditDate()); | 
|---|
|  |  |  | settleClaimsLogMapper.insert(log); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return  1; | 
|---|
|  |  |  | 
|---|
|  |  |  | String info =applyLogType.getInfo(); | 
|---|
|  |  |  | info = info.replace("${param}", param.getDescribe()); | 
|---|
|  |  |  | SettleClaimsLog log = new SettleClaimsLog(update,applyLogType.getName(), info,update.getId(),applyLogType.getKey(), JSONObject.toJSONString(model), JSONObject.toJSONString(update)); | 
|---|
|  |  |  | log.setCreateDate(update.getEditDate()); | 
|---|
|  |  |  | settleClaimsLogMapper.insert(log); | 
|---|
|  |  |  | return  1; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | if(!Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey(),settleClaims.getStatus())){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转~"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | settleClaims.setEditDate(new Date()); | 
|---|
|  |  |  | if(Constants.equalsInteger(dto.getStatus(),Constants.ZERO) || Constants.equalsInteger(dto.getStatus(),Constants.THREE)){ | 
|---|
|  |  |  | //受理 | 
|---|
|  |  |  | settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda() | 
|---|
|  |  |  | .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()).set(SettleClaims::getEditor,loginUserInfo.getId()) | 
|---|
|  |  |  | .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,settleClaims.getEditDate()).set(SettleClaims::getEditor,loginUserInfo.getId()) | 
|---|
|  |  |  | .set(SettleClaims::getStatus,Constants.SettleClaimsStatus.ACCEPTANCE.getKey())); | 
|---|
|  |  |  | //存储日志 | 
|---|
|  |  |  | this.saveSettleClaimsLog(settleClaims, | 
|---|
|  |  |  | 
|---|
|  |  |  | }else if(Constants.equalsInteger(dto.getStatus(),Constants.ONE)){ | 
|---|
|  |  |  | //拒绝受理 | 
|---|
|  |  |  | settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda() | 
|---|
|  |  |  | .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()).set(SettleClaims::getEditor,loginUserInfo.getId()) | 
|---|
|  |  |  | .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,settleClaims.getEditDate()).set(SettleClaims::getEditor,loginUserInfo.getId()) | 
|---|
|  |  |  | .set(SettleClaims::getStatus,Constants.SettleClaimsStatus.REJECT_DEAL.getKey())); | 
|---|
|  |  |  | //存储日志 | 
|---|
|  |  |  | this.saveSettleClaimsLog(settleClaims, | 
|---|
|  |  |  | 
|---|
|  |  |  | }else if(Constants.equalsInteger(dto.getStatus(),Constants.TWO)){ | 
|---|
|  |  |  | //受理商议审批 | 
|---|
|  |  |  | settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda() | 
|---|
|  |  |  | .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()).set(SettleClaims::getEditor,loginUserInfo.getId()) | 
|---|
|  |  |  | .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,settleClaims.getEditDate()).set(SettleClaims::getEditor,loginUserInfo.getId()) | 
|---|
|  |  |  | .set(SettleClaims::getStatus,Constants.SettleClaimsStatus.WAIT_DISCUSS_AUDIT.getKey())); | 
|---|
|  |  |  | //存储日志 | 
|---|
|  |  |  | this.saveSettleClaimsLog(settleClaims, | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<CompensationVO> modelList = JSONArray.parseArray(dto.getCompensationJson(),CompensationVO.class); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | settleClaims.setEditDate(new Date()); | 
|---|
|  |  |  | SettleClaims update = new SettleClaims(); | 
|---|
|  |  |  | update.setEditDate(new Date()); | 
|---|
|  |  |  | update.setEditor(loginUserInfo.getId()); | 
|---|
|  |  |  | 
|---|
|  |  |  | //存储日志 | 
|---|
|  |  |  | Constants.SettleClaimsLogType settleClaimsLogType = Constants.equalsInteger(dto.getStatus(),Constants.ZERO) | 
|---|
|  |  |  | ?Constants.SettleClaimsLogType.PLATFORM_DISCUSS_PASS:Constants.SettleClaimsLogType.PLATFORM_DISCUSS_REFUSE; | 
|---|
|  |  |  | settleClaims.setEditDate(new Date()); | 
|---|
|  |  |  | this.saveSettleClaimsLog(settleClaims, settleClaimsLogType | 
|---|
|  |  |  | ,settleClaimsLogType.getInfo().replace("${param}",dto.getDescribe()),settleClaimsStatus); | 
|---|
|  |  |  | settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda() | 
|---|
|  |  |  | .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate, DateUtil.getCurrDateTime()) | 
|---|
|  |  |  | .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate, settleClaims.getEditDate()) | 
|---|
|  |  |  | .set(SettleClaims::getEditor,loginUserInfo.getId()) | 
|---|
|  |  |  | .set(SettleClaims::getStatus,settleClaimsStatus.getKey())); | 
|---|
|  |  |  | deletedNoticeBiz(null,settleClaims);//删除通知 | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<CompensationVO> modelList = JSONArray.parseArray(dto.getCompensationJson(),CompensationVO.class); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | settleClaims.setEditDate(new Date()); | 
|---|
|  |  |  | SettleClaims update = new SettleClaims(); | 
|---|
|  |  |  | update.setEditDate(new Date()); | 
|---|
|  |  |  | update.setEditDate(settleClaims.getEditDate()); | 
|---|
|  |  |  | update.setEditor(loginUserInfo.getId()); | 
|---|
|  |  |  | update.setHpAccountContent(dto.getCompensationJson()); | 
|---|
|  |  |  | update.setHpAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ZERO)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<CompensationVO> modelList = JSONArray.parseArray(dto.getCompensationJson(),CompensationVO.class); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | settleClaims.setEditDate(new Date()); | 
|---|
|  |  |  | SettleClaims update = new SettleClaims(); | 
|---|
|  |  |  | update.setEditDate(new Date()); | 
|---|
|  |  |  | update.setEditDate(settleClaims.getEditDate()); | 
|---|
|  |  |  | update.setEditor(loginUserInfo.getId()); | 
|---|
|  |  |  | if(Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_FEE.getKey(),settleClaims.getStatus())){ | 
|---|
|  |  |  | update.setFeeUpdate(Constants.ONE); | 
|---|
|  |  |  | 
|---|
|  |  |  | if(!Constants.equalsInteger(settleClaims.getCompanyId(),loginUserInfo.getCompanyId())){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"非您企业的数据,您无法进行该操作"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | settleClaims.setEditDate(new Date()); | 
|---|
|  |  |  | SettleClaims update = new SettleClaims(); | 
|---|
|  |  |  | update.setEditDate(new Date()); | 
|---|
|  |  |  | update.setEditDate(settleClaims.getEditDate()); | 
|---|
|  |  |  | update.setEditor(loginUserInfo.getId()); | 
|---|
|  |  |  | update.setStatus(Constants.SettleClaimsStatus.CONFIRM_FEE.getKey()); | 
|---|
|  |  |  | update.setId(settleClaims.getId()); | 
|---|
|  |  |  | 
|---|
|  |  |  | if(!Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_FEE.getKey(),settleClaims.getStatus())){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转~"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | settleClaims.setEditDate(new Date()); | 
|---|
|  |  |  | SettleClaims update = new SettleClaims(); | 
|---|
|  |  |  | update.setEditDate(new Date()); | 
|---|
|  |  |  | update.setEditDate(settleClaims.getEditDate()); | 
|---|
|  |  |  | update.setEditor(loginUserInfo.getId()); | 
|---|
|  |  |  | update.setStatus(Constants.SettleClaimsStatus.CLOSE_CASE.getKey()); | 
|---|
|  |  |  | update.setCheckDate(new Date()); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(!(Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey(),settleClaims.getStatus()) | 
|---|
|  |  |  | || Constants.equalsInteger(Constants.SettleClaimsStatus.ACCEPTANCE.getKey(),settleClaims.getStatus()) | 
|---|
|  |  |  | //        || Constants.equalsInteger(Constants.SettleClaimsStatus.WAIT_DEAL.getKey(),settleClaims.getStatus()) | 
|---|
|  |  |  | || Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_FEE.getKey(),settleClaims.getStatus()) | 
|---|
|  |  |  | || Constants.equalsInteger(Constants.SettleClaimsStatus.COMPENSATION.getKey(),settleClaims.getStatus()) | 
|---|
|  |  |  | || Constants.equalsInteger(Constants.SettleClaimsStatus.WAIT_AUDIT_COMPENSATION.getKey(),settleClaims.getStatus()) | 
|---|
|  |  |  | )){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转~"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(!Constants.equalsInteger(settleClaims.getHurtType(),Constants.TWO)){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"已修改过,无法再次修改"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | settleClaims.setEditDate(new Date()); | 
|---|
|  |  |  | SettleClaims update = new SettleClaims(); | 
|---|
|  |  |  | update.setEditDate(new Date()); | 
|---|
|  |  |  | update.setEditDate(settleClaims.getEditDate()); | 
|---|
|  |  |  | update.setEditor(loginUserInfo.getId()); | 
|---|
|  |  |  | update.setHurtType(dto.getHurtType()); | 
|---|
|  |  |  | update.setId(settleClaims.getId()); | 
|---|
|  |  |  | 
|---|
|  |  |  | ){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转~"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | settleClaims.setEditDate(new Date()); | 
|---|
|  |  |  | SettleClaims update = new SettleClaims(); | 
|---|
|  |  |  | update.setEditDate(new Date()); | 
|---|
|  |  |  | update.setEditDate(settleClaims.getEditDate()); | 
|---|
|  |  |  | update.setEditor(loginUserInfo.getId()); | 
|---|
|  |  |  | update.setReceiveBank(dto.getReceiveBank()); | 
|---|
|  |  |  | update.setReceiveAccount(dto.getReceiveAccount()); | 
|---|
|  |  |  | 
|---|
|  |  |  | settleClaimsDataVO.setSettleClaimsTotal(settleClaimsList.size()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //平均理赔处理时长天数 总计处理时长(单位小时)除以 记录数  换算到天 | 
|---|
|  |  |  | settleClaimsDataVO.setAverageSettleClaimsTime( | 
|---|
|  |  |  | new BigDecimal(closeCaseList.stream().map(i->i.getTotalHours()).reduce(Constants.ZERO,Integer::sum).toString()) | 
|---|
|  |  |  | .divide(new BigDecimal((closeCaseList.size()*24)+"") ,2,BigDecimal.ROUND_HALF_UP) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | if(CollectionUtils.isNotEmpty(closeCaseList)){ | 
|---|
|  |  |  | settleClaimsDataVO.setAverageSettleClaimsTime( | 
|---|
|  |  |  | new BigDecimal(closeCaseList.stream().map(i->i.getTotalHours()).reduce(Constants.ZERO,Integer::sum).toString()) | 
|---|
|  |  |  | .divide(new BigDecimal((closeCaseList.size()*24)+"") ,2,BigDecimal.ROUND_HALF_UP) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String monthDate = DateUtil.getFomartDate(new Date(),"yyyy-MM"); | 
|---|
|  |  |  | Calendar calendar = Calendar.getInstance(); | 
|---|