| | |
| | | import com.doumee.dao.business.model.*; |
| | | import com.doumee.dao.business.vo.CompensationVO; |
| | | import com.doumee.dao.business.vo.RiskConfigVO; |
| | | import com.doumee.dao.business.vo.SettleClaimsMoneyVO; |
| | | import com.doumee.dao.system.model.SystemUser; |
| | | import com.doumee.service.business.SettleClaimsLogService; |
| | | import com.doumee.service.business.SettleClaimsService; |
| | |
| | | |
| | | @Autowired |
| | | private SettleClaimsMapper settleClaimsMapper; |
| | | @Autowired |
| | | private SettleClaimsExtMapper settleClaimsExtMapper; |
| | | |
| | | @Autowired |
| | | private SettleClaimsLogMapper settleClaimsLogMapper; |
| | |
| | | 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())){ |
| | | || Objects.isNull(settleClaims.getExtData()) |
| | | || Objects.isNull(settleClaims.getExtData().getMemberName()) |
| | | || Objects.isNull(settleClaims.getExtData().getMemberIdcardType()) |
| | | || Objects.isNull(settleClaims.getExtData().getMemberIdcard())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | if(!loginUserInfo.getType().equals(Constants.ONE)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"非企业员工无法进行该操作"); |
| | | if(!Constants.equalsObject(settleClaims.getStatus(),Constants.ZERO) |
| | | &&( Objects.isNull(settleClaims.getExtData().getBxName()) |
| | | || 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(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(),"存在提报中的报案数据!"); |
| | | if(!Constants.equalsInteger(loginUserInfo.getType(),Constants.ZERO)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"非平台管理员无法进行该操作"); |
| | | } |
| | | settleClaims.setCreateDate(new Date()); |
| | | Date date =new Date(); |
| | | settleClaims.setCreateDate(date); |
| | | settleClaims.setEditDate(date); |
| | | settleClaims.setIsdeleted(Constants.ZERO); |
| | | settleClaims.setCompanyId(loginUserInfo.getCompanyId()); |
| | | settleClaims.setStatus(Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey()); |
| | | settleClaims.setCreator(loginUserInfo.getId()); |
| | | settleClaims.setCheckUserId(loginUserInfo.getId()); |
| | | // |
| | | List<SettleClaimsMoneyVO> feeList = settleClaims.getAccountList(); |
| | | settleClaimsMapper.insert(settleClaims); |
| | | |
| | | |
| | | settleClaims.getExtData().setCreator(settleClaims.getCreator()); |
| | | settleClaims.getExtData().setCreateDate(date); |
| | | settleClaims.getExtData().setEditor(settleClaims.getCreator()); |
| | | settleClaims.getExtData().setEditDate(date); |
| | | settleClaims.getExtData().setSettileClaimsId(settleClaims.getId()); |
| | | settleClaimsExtMapper.insert(settleClaims.getExtData()); |
| | | |
| | | //--------------处理附件开始---------------- |
| | | List<Multifile> reportVideo = settleClaims.getReportFileList(); |
| | | if(CollectionUtils.isNotEmpty(reportVideo)){ |
| | | for (int i = 0; i < reportVideo.size(); i++) { |
| | |
| | | multifileJoinMapper.insert(multifile); |
| | | } |
| | | } |
| | | //--------------处理附件结束---------------- |
| | | |
| | | return settleClaims.getId(); |
| | | } |