company/.env.development
@@ -9,9 +9,9 @@ VUE_APP_COOKIE_NAME='dmplat-auth-token' # 测试服 VUE_APP_API = 'https://test.doumee.cn:8088/yyb_admin_api/' # VUE_APP_API = 'https://test.doumee.cn:8088/yyb_admin_api/' # 任康 # VUE_APP_API = 'http://192.168.0.131:10030/' VUE_APP_API = 'http://192.168.0.131:10030/' # VUE_APP_API = 'http://192.168.0.131:10031/' company/.env.developmentCom
@@ -7,10 +7,10 @@ VUE_APP_CONTEXT_PATH = '/yyb_web' VUE_APP_COOKIE_NAME='doumee-auth-token' VUE_APP_API = 'https://test.doumee.cn:8088/yyb_web_api/' # VUE_APP_API = 'https://test.doumee.cn:8088/yyb_web_api/' # VUE_APP_API = 'http://localhost:10031/' # VUE_APP_API = 'http://192.168.0.131:10031/' VUE_APP_API = 'http://192.168.0.131:10031/' # VUE_APP_API = 'https://www.yyb.red/yyb_web_api/' company/.env.productionShop
@@ -6,7 +6,7 @@ VUE_APP_COOKIE_NAME='dmshop-auth-token' VUE_APP_CONTEXT_PATH = '/yyb_shop' # 平台端 VUE_APP_API = 'https://dmtest.ahapp.net/yyb_shop_api/' VUE_APP_API = 'https://test.doumee.cn:8088/yyb_shop_api/' VUE_APP_SYSTEM_TITLE = '云易保客户服务系统-商户端' company/src/components/business/OpearaCaseEntryWindow.vue
@@ -186,7 +186,7 @@ <el-form-item label="报案时间" prop="reportDate"> <el-date-picker v-model="ruleForm.extData.reportDate" type="date" type="datetime" placeholder="选择日期" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"> company/src/components/enterprise/onlineReporting.vue
@@ -724,7 +724,7 @@ getSolutions (id) { const row = this.user.filter(item => item.id === id) this.form.idcardNo = row[0].idcardNo findList({ memberId: id }) findList({ memberId: id, isSettleClaims: 1 }) .then(res => { this.form.insuranceApplyId = '' res.forEach(item => { company/src/views/business/caseEntry.vue
@@ -76,7 +76,7 @@ <el-table-column prop="reportNum" label="案件号" min-width="150px" align="center"></el-table-column> <el-table-column prop="companyName" label="投保单位" min-width="150px" align="center"></el-table-column> <el-table-column prop="informantName" label="报案人" min-width="150px" align="center"></el-table-column> <el-table-column prop="createDateStr" label="报案时间" min-width="100px" align="center"></el-table-column> <el-table-column prop="reportDate" label="报案时间" min-width="100px" align="center"></el-table-column> <el-table-column prop="happenTime" label="出险时间" min-width="120px" align="center"></el-table-column> <el-table-column prop="memberName" label="出险人" min-width="120px" align="center"></el-table-column> <el-table-column prop="memberIdcardNo" label="身份证号" min-width="120px" align="center"></el-table-column> server/company/src/main/java/com/doumee/api/business/SettleRiskController.java
@@ -9,6 +9,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.models.auth.In; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -31,6 +32,7 @@ @PreventRepeat @ApiOperation("理赔报案") @PostMapping("/saveSettleClaims") @RequiresPermissions("business:settleRisk:saveSettleClaims") public ApiResponse<Integer> saveSettleClaims(@RequestBody SettleClaimsDTO settleClaimsDTO) { return ApiResponse.success(settleClaimsService.saveSettleClaims(settleClaimsDTO,systemDictDataService)); } @@ -39,6 +41,7 @@ @PreventRepeat @ApiOperation("添加材料") @PostMapping("/saveSupplementFile") @RequiresPermissions("business:settleRisk:saveSupplementFile") public ApiResponse saveSupplementFile(@RequestBody SaveSupplementDescribeDTO dto) { settleClaimsService.saveSupplementFile(dto); return ApiResponse.success(null); @@ -49,6 +52,7 @@ @PreventRepeat @ApiOperation("撤销报案") @PostMapping("/returnSettle") @RequiresPermissions("business:settleRisk:returnSettle") public ApiResponse returnSettle(@RequestBody OptSettleClaimsDTO dto) { settleClaimsService.returnSettle(dto); return ApiResponse.success(null); @@ -58,6 +62,7 @@ @PreventRepeat @ApiOperation("确认金额") @GetMapping("/confirmFee") @RequiresPermissions("business:settleRisk:confirmFee") public ApiResponse confirmFee(@RequestParam Integer id) { settleClaimsService.confirmFee(id); return ApiResponse.success(null); @@ -66,6 +71,7 @@ @PreventRepeat @ApiOperation("修改收款信息") @PostMapping("/updReceiveInfo") @RequiresPermissions("business:settleRisk:updReceiveInfo") public ApiResponse updReceiveInfo(@RequestBody UpdReceiveInfoDTO dto) { settleClaimsService.updReceiveInfo(dto); return ApiResponse.success(null); server/platform/src/main/java/com/doumee/api/business/SettleRiskController.java
@@ -13,6 +13,7 @@ import com.doumee.service.system.SystemDictDataService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -43,6 +44,7 @@ @ApiOperation("更新风险配置") @PostMapping("/updRiskConfig") @RequiresPermissions("business:settleRisk:updRiskConfig") public ApiResponse updRiskConfig(@RequestBody RiskConfigDTO riskConfigDTO) { systemDictDataService.updRiskConfig(riskConfigDTO); return ApiResponse.success(null); @@ -52,6 +54,7 @@ @PreventRepeat @ApiOperation("补充说明") @PostMapping("/saveSupplementDescribe") @RequiresPermissions("business:settleRisk:saveSupplementFile") public ApiResponse saveSupplementDescribe(@RequestBody SaveSupplementDescribeDTO dto) { settleClaimsService.saveSupplementDescribe(dto); return ApiResponse.success(null); @@ -60,6 +63,7 @@ @PreventRepeat @ApiOperation("添加材料") @PostMapping("/saveSupplementFile") @RequiresPermissions("business:settleRisk:saveSupplementFile") public ApiResponse saveSupplementFile(@RequestBody SaveSupplementDescribeDTO dto) { settleClaimsService.saveSupplementFile(dto); return ApiResponse.success(null); @@ -69,6 +73,7 @@ @PreventRepeat @ApiOperation("平台立案或退回") @PostMapping("/register") @RequiresPermissions("business:settleRisk:register") public ApiResponse register(@RequestBody OptSettleClaimsDTO dto) { settleClaimsService.register(dto); return ApiResponse.success(null); @@ -79,6 +84,7 @@ @PreventRepeat @ApiOperation("添加报案号") @PostMapping("/addReportNum") @RequiresPermissions("business:settleRisk:addReportNum") public ApiResponse addReportNum(@RequestBody OptSettleClaimsDTO dto) { settleClaimsService.addReportNum(dto); return ApiResponse.success(null); @@ -89,6 +95,7 @@ @PreventRepeat @ApiOperation("添加备注") @PostMapping("/addRemark") @RequiresPermissions("business:settleRisk:addRemark") public ApiResponse addRemark(@RequestBody OptSettleClaimsDTO dto) { settleClaimsService.addRemark(dto); return ApiResponse.success(null); @@ -98,6 +105,7 @@ @PreventRepeat @ApiOperation("受理业务") @PostMapping("/acceptance") @RequiresPermissions("business:settleRisk:acceptance") public ApiResponse acceptance(@RequestBody AcceptanceSettleClaimsDTO dto) { settleClaimsService.acceptance(dto); return ApiResponse.success(null); @@ -115,6 +123,7 @@ @PreventRepeat @ApiOperation("理算") @PostMapping("/compensation") @RequiresPermissions("business:settleRisk:compensation") public ApiResponse compensation(@RequestBody CompensationDTO dto) { settleClaimsService.compensation(dto); return ApiResponse.success(null); @@ -124,6 +133,7 @@ @PreventRepeat @ApiOperation("商议审批") @PostMapping("/discussAudit") @RequiresPermissions("business:settleRisk:discussAudit") public ApiResponse discussAudit(@RequestBody DiscussAuditDTO dto) { settleClaimsService.discussAudit(dto); return ApiResponse.success(null); @@ -134,6 +144,7 @@ @PreventRepeat @ApiOperation("核赔") @PostMapping("/nuclearCompensation") @RequiresPermissions("business:settleRisk:nuclearCompensation") public ApiResponse nuclearCompensation(@RequestBody CompensationDTO dto) { settleClaimsService.nuclearCompensation(dto); return ApiResponse.success(null); @@ -144,6 +155,7 @@ @PreventRepeat @ApiOperation("修改金额") @PostMapping("/updFee") @RequiresPermissions("business:settleRisk:updFee") public ApiResponse updFee(@RequestBody CompensationDTO dto) { settleClaimsService.updFee(dto); return ApiResponse.success(null); @@ -153,6 +165,7 @@ @PreventRepeat @ApiOperation("修改案件类型") @PostMapping("/updCaseType") @RequiresPermissions("business:settleRisk:updCaseType") public ApiResponse updCaseType(@RequestBody CaseTypeDTO dto) { settleClaimsService.updCaseType(dto); return ApiResponse.success(null); @@ -162,6 +175,7 @@ @PreventRepeat @ApiOperation("确认打款") @PostMapping("/payCash") @RequiresPermissions("business:settleRisk:payCash") public ApiResponse payCash(@RequestBody PayCashDTO dto) { settleClaimsService.payCash(dto); return ApiResponse.success(null); @@ -171,6 +185,7 @@ @PreventRepeat @ApiOperation("修改伤残类型") @PostMapping("/updHurtType") @RequiresPermissions("business:settleRisk:updHurtType") public ApiResponse updHurtType(@RequestBody UpdHurtTypeDTO dto) { settleClaimsService.updHurtType(dto); return ApiResponse.success(null); server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -2011,7 +2011,7 @@ ACCEPTANCE(9, "已受理",3),//待理算 WAIT_AUDIT_COMPENSATION(10, "待核赔",4), COMPENSATION(11, "已核赔",5), CONFIRM_FEE(12, "已确认金额",5), CONFIRM_FEE(12, "待结案",5), CLOSE_CASE(13, "已结案",6), RETURN(14, "已撤案",7), ; @@ -2070,7 +2070,7 @@ SUPPLEMENT(5, "补充说明","提交意见:${param}"), PLATFORM_LP_DEAL(6, "平台理赔处理","已在平台完成理赔"), PLATFORM_REMARK(7, "备注标签","${param}"), PLATFORM_ADDCODE(8, "平台添加报案号","备案号:${param}"), PLATFORM_ADDCODE(8, "平台修改报案号","备案号:${param}"), PLATFORM_UN_AGREE_BACK(9, "企业下载资料",""), PLATFORM_DOWNLOAD(10, "平台下载资料",""), PLATFORM_CHECK_PASS(11, "平台上传资料",""), server/service/src/main/java/com/doumee/dao/business/dto/ApplyDetailPageDTO.java
@@ -62,4 +62,6 @@ @ApiModelProperty(value = "类型:0=加保;1=减保;2=换厂 ") private List<Integer> types; @ApiModelProperty(value = "是否是报案使用;0=否;1=是") private Integer isSettleClaims; } server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
@@ -1416,8 +1416,6 @@ } } /** * 加保数据处理 * @param applyChange 加减保保单数据 @@ -1426,6 +1424,202 @@ * @param loginUserInfo 操作人 */ public void addChangeDetail(ApplyChange applyChange ,List<ApplyChagneDetail> addDetailList, List<DuSolution> duSolutionList, InsuranceApply insuranceApply,Solutions solutions,LoginUserInfo loginUserInfo,BigDecimal detailFee,Integer delSize, List<Integer> worktypeIdList){ if(applyChange.getApplyStartTime().getTime()>insuranceApply.getEndTime().getTime()){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "加保生效期不能大于保单结束日期"); } //查询本次加保所有人员信息 List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda() .eq(Member::getIsdeleted,Constants.ZERO) .in(Member::getIdcardNo,addDetailList.stream().map(i->i.getIdcardNo()).collect(Collectors.toList())) ); //查询本次加保所有人员的历史保单记录 List<ApplyDetail> applyDetailAllList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class, new MPJLambdaWrapper<ApplyDetail>() .selectAll(ApplyDetail.class) .selectAs(InsuranceApply::getCode,ApplyDetail::getApplyCode) .selectAs(InsuranceApply::getStatus,ApplyDetail::getApplyStatus) .selectAs(Company::getName,ApplyDetail::getCompanyName) .selectAs(Solutions::getBaseId,ApplyDetail::getSolutionBaseId) .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId) .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) .in(ApplyDetail::getMemberId,memberList.stream().map(i->i.getId()).collect(Collectors.toList())) .eq(ApplyDetail::getIsdeleted,Constants.ZERO)); List<ApplyChagneDetail> applyChangeDetailAllList = applyChagneDetailJoinMapper.selectJoinList(ApplyChagneDetail.class, new MPJLambdaWrapper<ApplyChagneDetail>() .selectAll(ApplyChagneDetail.class) .leftJoin(ApplyChange.class, ApplyChange::getId, ApplyChagneDetail::getApplyChangeId) .leftJoin(Member.class,Member::getId,ApplyChagneDetail::getMemberId) .eq(ApplyChange::getApplyId,applyChange.getApplyId()) .in(Member::getIdcardNo,memberList.stream().map(i->i.getId()).collect(Collectors.toList())) .in(ApplyChange::getStatus, Constants.ZERO, Constants.ONE)); for (int i = 0; i < addDetailList.size(); i++) { ApplyChagneDetail applyChagneDetail = addDetailList.get(i); if ( Constants.equalsInteger(solutions.getHasDispatchUnit(),Constants.ZERO) && Objects.isNull(applyChagneDetail.getDuId()) || Objects.isNull(applyChagneDetail.getWorktypeId()) || StringUtils.isBlank(applyChagneDetail.getIdcardNo()) ) { throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "加保人员【" + applyChagneDetail.getMemberName() + "】必填项缺失"); } //根据员工身份证进行判断年龄 long age = Constants.getAgeByIdCard(applyChagneDetail.getIdcardNo()); if(Objects.isNull(age) || age > solutions.getMaxAge() || age < solutions.getMinAge()){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"【"+applyChagneDetail.getMemberName()+"】员工年龄超出方案配置 方案配置【"+solutions.getMinAge()+" - "+solutions.getMaxAge()+"】存在异常数据!"); } //查询当前处理的人员信息 List<Member> optMembers = memberList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo())).collect(Collectors.toList()); Member member = new Member(); if(CollectionUtils.isEmpty(optMembers)){ member = new Member(); member.setCreateDate(new Date()); member.setCreator(loginUserInfo.getId()); member.setIsdeleted(Constants.ZERO); member.setName(applyChagneDetail.getMemberName()); member.setCompanyId(insuranceApply.getCompanyId()); member.setSex(Constants.getSexByIdCard(applyChagneDetail.getIdcardNo())); if(!IdcardUtil.isValidCard(applyChagneDetail.getIdcardNo())){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"加保员工信息身份证信息错误["+member.getName()+"]"); } member.setIdcardNo(applyChagneDetail.getIdcardNo()); member.setApplyId(insuranceApply.getId()); member.setDuId(applyChagneDetail.getDuId()); member.setWorktypeId(applyChagneDetail.getWorktypeId()); memberMapper.insert(member); applyChagneDetail.setMemberId(member.getId()); }else{ member = optMembers.get(Constants.ZERO); member.setApplyId(insuranceApply.getId()); member.setDuId(applyChagneDetail.getDuId()); member.setWorktypeId(applyChagneDetail.getWorktypeId()); member.setStartTime(applyChagneDetail.getStartTime()); member.setEndTime(applyChagneDetail.getEndTime()); memberMapper.updateById(member); applyChagneDetail.setMemberId(member.getId()); if(applyChangeDetailAllList.stream().filter( j->Constants.equalsInteger(j.getMemberId(),applyChagneDetail.getMemberId()) ).collect(Collectors.toList()).size()>Constants.ZERO){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "加保人员【" + applyChagneDetail.getMemberName() + "】存在申请中的加减保/换厂单据"); } } List<ApplyDetail> memberApplyDetailList = new ArrayList<>(); if(CollectionUtils.isNotEmpty(applyDetailAllList)){ memberApplyDetailList = applyDetailAllList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo())).collect(Collectors.toList()); } if(CollectionUtils.isEmpty(memberApplyDetailList)){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "保单中未存在明细记录"); } if(memberApplyDetailList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo())&&Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId()) && j.getStartTime().getTime() <= DateUtil.getMontageDate(applyChange.getApplyStartTime(),1).getTime() && j.getEndTime().getTime() >= DateUtil.getMontageDate(insuranceApply.getEndTime(),2).getTime() ).collect(Collectors.toList()).size()>Constants.ZERO){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "当前保单下,加保人员【" + applyChagneDetail.getMemberName() + "】存在日期冲突的数据"); }; if(memberApplyDetailList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo()) &&Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId()) && j.getStartTime().getTime() <= System.currentTimeMillis() && j.getEndTime().getTime() >= System.currentTimeMillis() ).collect(Collectors.toList()).size()>Constants.ZERO){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "加保人员【" + applyChagneDetail.getMemberName() + "】存在保障中的保单信息,无法进行加保"); }; List<ApplyDetail> optApplyDetailList = applyDetailAllList.stream() .filter(j->Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId()) ).collect(Collectors.toList()); if(CollectionUtils.isEmpty(optApplyDetailList)){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "保单中未存在明细记录"); } ApplyDetail applyDetail = optApplyDetailList.get(Constants.ZERO); applyChagneDetail.setPrice(applyDetail.getPrice()); applyChagneDetail.setCreateDate(new Date()); applyChagneDetail.setCreator(loginUserInfo.getId()); applyChagneDetail.setIsdeleted(Constants.ZERO); applyChagneDetail.setApplyChangeId(applyChange.getId()); applyChagneDetail.setStartTime(DateUtil.getMontageDate(applyChange.getApplyStartTime(),1)); applyChagneDetail.setEndTime(DateUtil.getMontageDate(insuranceApply.getEndTime(),2)); applyChagneDetail.setType(Constants.ZERO); List<ApplyDetail> checkStaticMemberSolutionList = memberApplyDetailList.stream() .filter(j->Constants.equalsInteger(j.getSolutionBaseId(),solutions.getBaseId()) && !( j.getApplyStatus() == Constants.InsuranceApplyStatus.CLOSE.getKey() || j.getApplyStatus() == Constants.InsuranceApplyStatus.WTB_CLOSED.getKey() ) && ( ( applyChange.getApplyStartTime().getTime()<= j.getStartTime().getTime() && j.getStartTime().getTime() < insuranceApply.getEndTime().getTime() ) || ( applyChange.getApplyStartTime().getTime()< j.getEndTime().getTime() && j.getEndTime().getTime() < insuranceApply.getEndTime().getTime() ) || ( applyChange.getApplyStartTime().getTime()> j.getStartTime().getTime() && insuranceApply.getEndTime().getTime() < j.getEndTime().getTime() ) ) ).collect(Collectors.toList()); if(checkStaticMemberSolutionList.size() >Constants.ZERO){ String companyName = checkStaticMemberSolutionList.get(Constants.ZERO).getCompanyName(); String idCode = checkStaticMemberSolutionList.get(Constants.ZERO).getIdcardNo(); if(StringUtils.isNotBlank(companyName)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"该员工【"+applyChagneDetail.getMemberName()+" "+idCode+"】已在【"+companyName+"】存在保险,请联系客服确认"); }else{ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"该员工【"+applyChagneDetail.getMemberName()+" "+idCode+"】在该保险方案下已存在投保记录,无法进行该操作"); } }; //查询员工是在主单下 是否存在生效中的数据 if(!Objects.isNull(applyChagneDetail.getMemberId())){ if (applyDetailJoinMapper.selectCount(new QueryWrapper<ApplyDetail>().lambda() .eq(ApplyDetail::getApplyId, applyChange.getApplyId()) .eq(ApplyDetail::getMemberId, applyChagneDetail.getMemberId()) .le(ApplyDetail::getStartTime, "now()") .ge(ApplyDetail::getEndTime, "now()") ) > Constants.ZERO) { throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "加保人员【" + applyChagneDetail.getMemberName() + "】存在保障中的保单信息,无法进行加保"); } } //验证派遣单位信息 与工种信息 是否存在 if(Constants.equalsInteger(solutions.getHasDispatchUnit(),Constants.ZERO)){ if (duSolutionList.stream().filter(d -> d.getDispatchUnitId().equals(applyChagneDetail.getDuId())).collect(Collectors.toList()).size() <= Constants.ZERO) { throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(), "【" + applyChagneDetail.getMemberName() + "】员工派遣单位未查询到!"); } } if (worktypeIdList.stream().filter(d -> Constants.equalsInteger(d,applyChagneDetail.getWorktypeId())) .collect(Collectors.toList()).size() <= Constants.ZERO) { throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(), "【" + applyChagneDetail.getMemberName() + "】员工工种信息未查询到!"); } applyChagneDetail.setMemberId(member.getId()); //如果是减保业务为仅替换 且 方案的扣费周期和总周期相等 则处理减保费用 if(Constants.equalsInteger(solutions.getDelOnlyReplace(),Constants.ONE) && Constants.equalsInteger(solutions.getTimeUnit(),solutions.getInsureCycleUnit()) && delSize> i){ applyChagneDetail.setFee(BigDecimal.ZERO); }else{ applyChagneDetail.setFee(detailFee); } applyChagneDetailJoinMapper.insert(applyChagneDetail); } } /** * 加保数据处理 * @param applyChange 加减保保单数据 * @param addDetailList 加保人员 * @param duSolutionList 派遣单位方案数据 * @param loginUserInfo 操作人 */ public void addChangeDetailOld(ApplyChange applyChange ,List<ApplyChagneDetail> addDetailList, List<DuSolution> duSolutionList, InsuranceApply insuranceApply,Solutions solutions,LoginUserInfo loginUserInfo,BigDecimal detailFee,Integer delSize, List<Integer> worktypeIdList){ @@ -1456,6 +1650,7 @@ ApplyDetail applyDetail = applyDetailJoinMapper.selectOne(new QueryWrapper<ApplyDetail>() .lambda() .eq(ApplyDetail::getApplyId,applyChange.getApplyId()).last("limit 1")); if(Objects.isNull(applyDetail)){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "保单中未存在明细记录"); } @@ -1548,6 +1743,7 @@ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "加保人员【" + applyChagneDetail.getMemberName() + "】存在保障中的保单信息,无法进行加保"); } } //验证派遣单位信息 与工种信息 是否存在 if(Constants.equalsInteger(solutions.getHasDispatchUnit(),Constants.ZERO)){ if (duSolutionList.stream().filter(d -> d.getDispatchUnitId().equals(applyChagneDetail.getDuId())).collect(Collectors.toList()).size() <= Constants.ZERO) { server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java
@@ -341,6 +341,11 @@ queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeE()),ApplyDetail::getStartTime,applyDetailPageDTO.getStartTimeE()+" 23:59:59.0"); queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeS()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeS()+" 00:00:00.0"); queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeE()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeE()+" 23:59:59.0"); queryWrapper.apply(Objects.nonNull(applyDetailPageDTO.getIsSettleClaims())&&Constants.equalsInteger(applyDetailPageDTO.getIsSettleClaims(),Constants.ONE), " ( t4.START_TIME <= now() and t4.END_TIME >= DATE_SUB(now(), INTERVAL 30 DAY) ) "); return applyDetailJoinMapper.selectJoinList(ApplyDetail.class,queryWrapper); } server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
@@ -2655,6 +2655,47 @@ return applyDetailList; } public static void checkStaticMemberSolutionNew(Integer solutionId,Integer memberId,String memberIdCard,String memberName,Date startTime, Date endTime,ApplyDetailJoinMapper applyDetailJoinMapper){ List<ApplyDetail> applyDetailList = new ArrayList<ApplyDetail>(); try { applyDetailList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class, new MPJLambdaWrapper<ApplyDetail>() .selectAll(ApplyDetail.class) .selectAs(InsuranceApply::getCode,ApplyDetail::getApplyCode) .selectAs(Company::getName,ApplyDetail::getCompanyName) .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId) .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) .eq(ApplyDetail::getIdcardNo,memberIdCard) .eq(Solutions::getBaseId,solutionId) .eq(ApplyDetail::getIsdeleted,Constants.ZERO) .notIn(InsuranceApply::getStatus ,Constants.InsuranceApplyStatus.CLOSE.getKey() ,Constants.InsuranceApplyStatus.WTB_CLOSED.getKey() ) .apply(" ( " + " '"+DateUtil.getPlusTime(startTime)+"' <= t.start_time AND t.start_time < '"+DateUtil.getPlusTime(endTime)+"' " + " or " + " ( '"+DateUtil.getPlusTime(startTime)+"' < t.end_time AND t.end_time < '"+DateUtil.getPlusTime(endTime)+"' ) " + " or " + " ( '"+DateUtil.getPlusTime(startTime)+"' > t.start_time AND '"+DateUtil.getPlusTime(endTime)+"' < t.end_time )" + " ) " )); }catch (Exception e){ } if(applyDetailList.size() >Constants.ZERO){ String companyName = applyDetailList.get(Constants.ZERO).getCompanyName(); String idCode = applyDetailList.get(Constants.ZERO).getIdcardNo(); if(StringUtils.isNotBlank(companyName)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"该员工【"+memberName+" "+idCode+"】已在【"+companyName+"】存在保险,请联系客服确认"); }else{ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"该员工【"+memberName+" "+idCode+"】在该保险方案下已存在投保记录,无法进行该操作"); } }; } public static void checkStaticMemberSolution(Integer solutionId,Integer memberId,String memberIdCard,String memberName,Date startTime, Date endTime,ApplyDetailJoinMapper applyDetailJoinMapper){ List<ApplyDetail> applyDetailList = new ArrayList<ApplyDetail>(); server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java
@@ -1146,7 +1146,7 @@ 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()); @@ -1311,7 +1311,7 @@ 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()); @@ -1388,6 +1388,7 @@ } SettleClaims settleClaims = new SettleClaims(); BeanUtils.copyProperties(settleClaimsDTO,settleClaims); settleClaims.setEditDate(new Date()); settleClaims.setReportNumStatus(Constants.ZERO); settleClaims.setCompanyId(loginUserInfo.getCompanyId()); settleClaims.setOrigin(Constants.ZERO); @@ -1865,6 +1866,7 @@ 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() @@ -1939,6 +1941,7 @@ multifileJoinMapper.insert(multifile); } } settleClaims.setEditDate(new Date()); //存储日志 this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.SUPPLEMENT,null,null); //删除企业的代办通知------ @@ -1971,13 +1974,12 @@ 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); @@ -2007,11 +2009,12 @@ ){ 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())); } @@ -2043,10 +2046,11 @@ 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())); @@ -2110,12 +2114,14 @@ // 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()); @@ -2129,6 +2135,7 @@ 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; @@ -2172,6 +2179,7 @@ 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; @@ -2205,10 +2213,11 @@ 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, @@ -2218,7 +2227,7 @@ }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, @@ -2227,7 +2236,7 @@ }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, @@ -2339,7 +2348,7 @@ } 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()); @@ -2396,10 +2405,11 @@ //存储日志 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);//删除通知 @@ -2440,9 +2450,9 @@ 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)); @@ -2485,9 +2495,9 @@ } 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); @@ -2544,8 +2554,9 @@ 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()); @@ -2581,8 +2592,9 @@ 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()); @@ -2803,15 +2815,18 @@ } 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()); @@ -2852,9 +2867,9 @@ ){ 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());