| | |
| | | import com.doumee.dao.business.*; |
| | | import com.doumee.dao.business.dto.*; |
| | | import com.doumee.dao.business.join.ApplyDetailJoinMapper; |
| | | import com.doumee.dao.business.join.ApplyLogJoinMapper; |
| | | import com.doumee.dao.business.join.InsuranceApplyJoinMapper; |
| | | import com.doumee.dao.business.join.UnionApplyJoinMapper; |
| | | import com.doumee.dao.business.model.*; |
| | | import com.doumee.dao.system.model.SystemUser; |
| | | import com.doumee.service.business.SmsEmailService; |
| | | import com.doumee.service.business.UnionApplyService; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | |
| | | private SmsEmailService smsEmailService; |
| | | @Autowired |
| | | private ApplyLogMapper applyLogMapper; |
| | | @Autowired |
| | | private ApplyLogJoinMapper applyLogJoinMapper; |
| | | |
| | | @Value("${debug_model}") |
| | | private boolean debugModel; |
| | |
| | | return unionApplyMapper.selectCount(wrapper); |
| | | } |
| | | |
| | | @Override |
| | | public UnionApply findDetailForExport(UnionApply model){ |
| | | UnionApply insuranceApply = detail(model.getId()); |
| | | if(Objects.isNull(insuranceApply)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | |
| | | MPJLambdaWrapper<ApplyDetail> queryWrapper = new MPJLambdaWrapper<>(); |
| | | queryWrapper.selectAll(ApplyDetail.class); |
| | | queryWrapper.selectAs(DispatchUnit::getName,ApplyDetail::getDuName); |
| | | queryWrapper.selectAs(Company::getName,ApplyDetail::getCompanyName); |
| | | queryWrapper.selectAs(Worktype::getName,ApplyDetail::getWorkTypeName); |
| | | queryWrapper.selectAs(Member::getIdcardNo,ApplyDetail::getIdcardNo); |
| | | queryWrapper.selectAs(Member::getName,ApplyDetail::getMemberName); |
| | | queryWrapper.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyDetail::getDuId); |
| | | queryWrapper.leftJoin(Worktype.class,Worktype::getId,ApplyDetail::getWorktypeId); |
| | | queryWrapper.leftJoin(Member.class,Member::getId,ApplyDetail::getMemberId); |
| | | queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId); |
| | | queryWrapper.eq( ApplyDetail::getUnionApplyId,model.getId()); |
| | | List<ApplyDetail> detailList= applyDetailJoinMapper.selectJoinList( ApplyDetail.class, queryWrapper); |
| | | //查询明细 |
| | | if(detailList!=null){ |
| | | insuranceApply.setInsureNum(detailList.size()); |
| | | insuranceApply.setApplyDetailList(detailList); |
| | | } |
| | | insuranceApply.setRemark(model.getRemark()); |
| | | return insuranceApply; |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | |
| | | .selectAs(Solutions::getName,UnionApply::getSolutionName) |
| | | .selectAs(Company::getName,UnionApply::getCompanyName) |
| | | .select(" ( select count(DISTINCT(ad.MEMBER_ID)) from apply_detail ad where ad.UNION_APPLY_ID = t.id ) as insureNum") |
| | | .select(" ( select group_concat(DISTINCT(cd.name)) from insurance_apply ad left join company cd on ad.company_id = cd.id where ad.UNION_APPLY_ID = t.id ) as companyNames") |
| | | .leftJoin(Solutions.class,Solutions::getId,UnionApply::getSolutionId) |
| | | .leftJoin(Company.class,Company::getId,UnionApply::getCompanyId) |
| | | .eq(UnionApply::getId,applyId) |
| | |
| | | } |
| | | } |
| | | initStatusInfo(unionApply); |
| | | |
| | | //查询操作记录 |
| | | List<ApplyLog> applyLogList = applyLogJoinMapper.selectJoinList(ApplyLog.class, |
| | | new MPJLambdaWrapper<ApplyLog>() |
| | | .selectAll(ApplyLog.class) |
| | | .selectAs(SystemUser::getRealname,ApplyLog::getCreatorName) |
| | | .selectAs(Company::getName,ApplyLog::getCompanyName) |
| | | .selectAs(SystemUser::getType,ApplyLog::getCreatorType) |
| | | .leftJoin(SystemUser.class,SystemUser::getId,ApplyLog::getCreator) |
| | | .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId) |
| | | .in(ApplyLog::getObjType,Constants.ApplyLogType.getTypeList(Constants.THREE)) |
| | | .eq(ApplyLog::getApplyId,unionApply.getId()) |
| | | .orderByAsc(ApplyLog::getCreateDate) |
| | | ); |
| | | unionApply.setApplyLogList(applyLogList); |
| | | return unionApply; |
| | | } |
| | | |
| | |
| | | UnionApply unionApply = new UnionApply(); |
| | | unionApply.setCreateDate(new Date()); |
| | | unionApply.setCreator(user.getId()); |
| | | unionApply.setEditor(user.getId()); |
| | | unionApply.setEditDate(new Date()); |
| | | unionApply.setCompanyId(user.getCompanyId()); |
| | | unionApply.setStartTime(saveUnionApplyDTO.getStartDate()); |
| | | unionApply.setEndTime(saveUnionApplyDTO.getEndDate()); |
| | |
| | | if(!user.getType().equals(Constants.TWO)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"非商户用户,无法进行该操作!"); |
| | | } |
| | | if(Objects.isNull(closeDTO)||Objects.isNull(closeDTO.getId())){ |
| | | if(Objects.isNull(closeDTO) |
| | | ||Objects.isNull(closeDTO.getId()) |
| | | ||StringUtils.isBlank(closeDTO.getReason())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | UnionApply unionApply = unionApplyMapper.selectById(closeDTO.getId()); |
| | |
| | | //合并单状态处于待投保 |
| | | if(unionApply.getStatus().equals(Constants.UnionApplyStatus.UPLOAD_INSURANCE_POLICY.getKey()) |
| | | || unionApply.getStatus().equals(Constants.UnionApplyStatus.WAIT_SIGNATURE.getKey())){ |
| | | //TODO 删除企业投保单的 签署数据 |
| | | |
| | | multifileMapper.delete(new QueryWrapper<Multifile>() |
| | | .lambda() |
| | | .apply(" multifile.id in ( select i.id from insurance_apply i where i.UNION_APPLY_ID = "+unionApply.getId()+" ) ") |
| | | .eq(Multifile::getObjType,Constants.MultiFile.COMPANY_TBD_SIGNED.getKey())); |
| | | } |
| | | insuranceApplyJoinMapper.update(null,new UpdateWrapper<InsuranceApply>().lambda() |
| | | .set(InsuranceApply::getUnionApplyId,null) |
| | | .set(InsuranceApply::getCheckDate,new Date()) |
| | | .set(unionApply.getStatus().equals(Constants.UnionApplyStatus.UPLOAD_INSURANCE_POLICY.getKey()) |
| | | || unionApply.getStatus().equals(Constants.UnionApplyStatus.WAIT_SIGNATURE.getKey()), |
| | | InsuranceApply::getUnionApplyTbdStatus,Constants.ZERO) |
| | | .set(unionApply.getStatus().equals(Constants.UnionApplyStatus.UPLOAD_INSURANCE_POLICY.getKey()) |
| | | || unionApply.getStatus().equals(Constants.UnionApplyStatus.WAIT_SIGNATURE.getKey()), |
| | | InsuranceApply::getApplyTbdNo,null) |
| | | .set(InsuranceApply::getCheckUserId,user.getId()) |
| | | .set(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.WTB_BUSINESS_CHECK_PASS.getKey()) |
| | | .eq(InsuranceApply::getUnionApplyId,unionApply.getId())); |
| | | .eq(InsuranceApply::getUnionApplyId,unionApply.getId()) |
| | | ); |
| | | |
| | | applyDetailJoinMapper.update(null,new UpdateWrapper<ApplyDetail>().lambda() |
| | | .set(ApplyDetail::getUnionApplyId,null) |
| | |
| | | info = info.replace("${param}", closeDTO.getReason()); |
| | | ApplyLog log = new ApplyLog(unionApply,applyLogType.getName(), info |
| | | ,unionApply.getId(),applyLogType.getKey(),null, null); |
| | | applyLogMapper.insert(log); |
| | | |
| | | applyLogMapper.insert(log); |
| | | } |
| | | |
| | |
| | | .set(UnionApply::getCurrentFee,sumCurrFee) |
| | | .eq(UnionApply::getId,unionApply.getId()) |
| | | ); |
| | | //合并单 总保单 |
| | | //合并单 文件 |
| | | if(StringUtils.isNotBlank(unionApplyBXDDTO.getFileUrl())){ |
| | | Multifile multifile = new Multifile(); |
| | | multifile.setIsdeleted(Constants.ZERO); |
| | |
| | | multifileMapper.insert(multifile); |
| | | } |
| | | |
| | | |
| | | Constants.ApplyLogType applyLogType = Constants.ApplyLogType.IA_HBD_UPLOAD_TBD; |
| | | ApplyLog log = new ApplyLog(unionApply,applyLogType.getName(), null |
| | | String info = ""; |
| | | if(Objects.nonNull(unionApplyBXDDTO.getStartTime())&&Objects.nonNull(unionApplyBXDDTO.getEndTime())){ |
| | | info =applyLogType.getInfo(); |
| | | info = info.replace("${param1}",DateUtil.getPlusTime2(unionApplyBXDDTO.getStartTime())); |
| | | info = info.replace("${param2}",DateUtil.getPlusTime2(unionApplyBXDDTO.getEndTime())); |
| | | } |
| | | ApplyLog log = new ApplyLog(unionApply,applyLogType.getName(), info |
| | | ,unionApply.getId(),applyLogType.getKey(),null, JSONObject.toJSONString(unionApply)); |
| | | applyLogMapper.insert(log); |
| | | |