| | |
| | | import com.doumee.dao.business.*; |
| | | import com.doumee.dao.business.dto.SaveUnionApplyDTO; |
| | | import com.doumee.dao.business.dto.SaveUnionChangeDTO; |
| | | import com.doumee.dao.business.dto.SmsCheckDTO; |
| | | import com.doumee.dao.business.dto.UnionChangeBXDDTO; |
| | | import com.doumee.dao.business.join.*; |
| | | import com.doumee.dao.business.model.*; |
| | | import com.doumee.dao.business.vo.CountCyclePriceVO; |
| | | import com.doumee.service.business.SmsEmailService; |
| | | import com.doumee.service.business.UnionChangeService; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | |
| | | @Autowired |
| | | private InsuranceApplyMapper insuranceApplyMapper; |
| | | |
| | | @Value("${debug_model}") |
| | | private boolean debugModel; |
| | | @Autowired |
| | | private SmsEmailService smsEmailService; |
| | | @Autowired |
| | | private MultifileMapper multifileMapper; |
| | | |
| | | @Override |
| | | public Integer create(UnionChange unionChange) { |
| | | unionChangeMapper.insert(unionChange); |
| | |
| | | return unionChangeMapper.selectById(id); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public UnionChange getDetail(Integer id){ |
| | | UnionChange unionChange = unionChangeJoinMapper.selectJoinOne(UnionChange.class, |
| | | new MPJLambdaWrapper<UnionChange>() |
| | | .selectAll(UnionChange.class) |
| | | .selectAs(UnionApply::getCode,UnionChange::getApplyCode) |
| | | .selectAs(Solutions::getName,UnionChange::getSolutionsName) |
| | | .selectAs(UnionApply::getStartTime,UnionChange::getStartTime) |
| | | .selectAs(UnionApply::getEndTime,UnionChange::getEndTime) |
| | | .selectAs(Company::getName,UnionChange::getShopName) |
| | | .select("( select count(1) from apply_chagne_detail ad where t.id = ad.UNION_CHANGE_ID and ad.TYPE = 0 )",UnionChange::getAddNum) |
| | | .select("( select count(1) from apply_chagne_detail ad where t.id = ad.UNION_CHANGE_ID and ad.TYPE = 1 )",UnionChange::getDelNum) |
| | | .select("( select count(1) from apply_chagne_detail ad where t.id = ad.UNION_CHANGE_ID and ad.TYPE = 2 )",UnionChange::getChangeNum) |
| | | .leftJoin(UnionApply.class,UnionApply::getId,UnionChange::getUnionApplyId) |
| | | .leftJoin(Solutions.class,Solutions::getId,UnionApply::getSolutionId) |
| | | .leftJoin(Company.class,Company::getId,UnionChange::getShopId) |
| | | .eq(UnionChange::getId,id) |
| | | .last(" limit 1 ") |
| | | ); |
| | | return unionChange; |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | | public UnionChange findOne(UnionChange unionChange) { |
| | | QueryWrapper<UnionChange> wrapper = new QueryWrapper<>(unionChange); |
| | |
| | | @Override |
| | | public PageData<UnionChange> findPage(PageWrap<UnionChange> pageWrap) { |
| | | IPage<UnionChange> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | QueryWrapper<UnionChange> queryWrapper = new QueryWrapper<>(); |
| | | MPJLambdaWrapper<UnionChange> queryWrapper = new MPJLambdaWrapper<>(); |
| | | queryWrapper.selectAll(UnionChange.class); |
| | | queryWrapper.selectAs(UnionApply::getCode,UnionChange::getApplyCode) |
| | | .select("( select count(1) from apply_chagne_detail ad where t.id = ad.UNION_CHANGE_ID and ad.TYPE = 0 )",UnionChange::getAddNum) |
| | | .select("( select count(1) from apply_chagne_detail ad where t.id = ad.UNION_CHANGE_ID and ad.TYPE = 1 )",UnionChange::getDelNum) |
| | | .select("( select count(1) from apply_chagne_detail ad where t.id = ad.UNION_CHANGE_ID and ad.TYPE = 2 )",UnionChange::getChangeNum); |
| | | queryWrapper.leftJoin(UnionApply.class,UnionApply::getId,UnionChange::getUnionApplyId); |
| | | queryWrapper.leftJoin(Solutions.class,Solutions::getId,UnionApply::getSolutionId); |
| | | LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | if(user.getType().equals(Constants.TWO)){ |
| | | queryWrapper.eq(UnionChange::getShopId, pageWrap.getModel().getShopId()); |
| | | } |
| | | Utils.MP.blankToNull(pageWrap.getModel()); |
| | | if (pageWrap.getModel().getId() != null) { |
| | | queryWrapper.lambda().eq(UnionChange::getId, pageWrap.getModel().getId()); |
| | | queryWrapper.eq(UnionChange::getId, pageWrap.getModel().getId()); |
| | | } |
| | | if (pageWrap.getModel().getCreator() != null) { |
| | | queryWrapper.lambda().eq(UnionChange::getCreator, pageWrap.getModel().getCreator()); |
| | | queryWrapper.eq(UnionChange::getCreator, pageWrap.getModel().getCreator()); |
| | | } |
| | | |
| | | if (pageWrap.getModel().getQueryStartTime() != null) { |
| | | queryWrapper.ge(UnionChange::getCreateDate, pageWrap.getModel().getQueryStartTime() +" 00:00:00" ); |
| | | } |
| | | if (pageWrap.getModel().getQueryEndTime() != null) { |
| | | queryWrapper.le(UnionChange::getCreateDate, pageWrap.getModel().getQueryEndTime() +" 23:59:59"); |
| | | } |
| | | |
| | | if (pageWrap.getModel().getCreateDate() != null) { |
| | | queryWrapper.lambda().ge(UnionChange::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); |
| | | queryWrapper.lambda().le(UnionChange::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); |
| | | queryWrapper.ge(UnionChange::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); |
| | | queryWrapper.le(UnionChange::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); |
| | | } |
| | | if (pageWrap.getModel().getEditor() != null) { |
| | | queryWrapper.lambda().eq(UnionChange::getEditor, pageWrap.getModel().getEditor()); |
| | | queryWrapper.eq(UnionChange::getEditor, pageWrap.getModel().getEditor()); |
| | | } |
| | | if (pageWrap.getModel().getEditDate() != null) { |
| | | queryWrapper.lambda().ge(UnionChange::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); |
| | | queryWrapper.lambda().le(UnionChange::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); |
| | | queryWrapper.ge(UnionChange::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); |
| | | queryWrapper.le(UnionChange::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); |
| | | } |
| | | if (pageWrap.getModel().getIsdeleted() != null) { |
| | | queryWrapper.lambda().eq(UnionChange::getIsdeleted, pageWrap.getModel().getIsdeleted()); |
| | | queryWrapper.eq(UnionChange::getIsdeleted, pageWrap.getModel().getIsdeleted()); |
| | | } |
| | | if (pageWrap.getModel().getRemark() != null) { |
| | | queryWrapper.lambda().eq(UnionChange::getRemark, pageWrap.getModel().getRemark()); |
| | | queryWrapper.eq(UnionChange::getRemark, pageWrap.getModel().getRemark()); |
| | | } |
| | | if (pageWrap.getModel().getSortnum() != null) { |
| | | queryWrapper.lambda().eq(UnionChange::getSortnum, pageWrap.getModel().getSortnum()); |
| | | queryWrapper.eq(UnionChange::getSortnum, pageWrap.getModel().getSortnum()); |
| | | } |
| | | if (pageWrap.getModel().getShopId() != null) { |
| | | queryWrapper.lambda().eq(UnionChange::getShopId, pageWrap.getModel().getShopId()); |
| | | queryWrapper.eq(UnionChange::getShopId, pageWrap.getModel().getShopId()); |
| | | } |
| | | if (pageWrap.getModel().getCode() != null) { |
| | | queryWrapper.lambda().eq(UnionChange::getCode, pageWrap.getModel().getCode()); |
| | | queryWrapper.eq(UnionChange::getCode, pageWrap.getModel().getCode()); |
| | | } |
| | | if (pageWrap.getModel().getApplyStartTime() != null) { |
| | | queryWrapper.lambda().ge(UnionChange::getApplyStartTime, Utils.Date.getStart(pageWrap.getModel().getApplyStartTime())); |
| | | queryWrapper.lambda().le(UnionChange::getApplyStartTime, Utils.Date.getEnd(pageWrap.getModel().getApplyStartTime())); |
| | | queryWrapper.ge(UnionChange::getApplyStartTime, Utils.Date.getStart(pageWrap.getModel().getApplyStartTime())); |
| | | queryWrapper.le(UnionChange::getApplyStartTime, Utils.Date.getEnd(pageWrap.getModel().getApplyStartTime())); |
| | | } |
| | | if (pageWrap.getModel().getStatus() != null) { |
| | | queryWrapper.lambda().eq(UnionChange::getStatus, pageWrap.getModel().getStatus()); |
| | | queryWrapper.eq(UnionChange::getStatus, pageWrap.getModel().getStatus()); |
| | | } |
| | | if (pageWrap.getModel().getValidTime() != null) { |
| | | queryWrapper.lambda().ge(UnionChange::getValidTime, Utils.Date.getStart(pageWrap.getModel().getValidTime())); |
| | | queryWrapper.lambda().le(UnionChange::getValidTime, Utils.Date.getEnd(pageWrap.getModel().getValidTime())); |
| | | queryWrapper.ge(UnionChange::getValidTime, Utils.Date.getStart(pageWrap.getModel().getValidTime())); |
| | | queryWrapper.le(UnionChange::getValidTime, Utils.Date.getEnd(pageWrap.getModel().getValidTime())); |
| | | } |
| | | if (pageWrap.getModel().getValidCode() != null) { |
| | | queryWrapper.lambda().eq(UnionChange::getValidCode, pageWrap.getModel().getValidCode()); |
| | | queryWrapper.eq(UnionChange::getValidCode, pageWrap.getModel().getValidCode()); |
| | | } |
| | | if (pageWrap.getModel().getType() != null) { |
| | | queryWrapper.lambda().eq(UnionChange::getType, pageWrap.getModel().getType()); |
| | | queryWrapper.eq(UnionChange::getType, pageWrap.getModel().getType()); |
| | | } |
| | | if (pageWrap.getModel().getSignApplyNo() != null) { |
| | | queryWrapper.lambda().eq(UnionChange::getSignApplyNo, pageWrap.getModel().getSignApplyNo()); |
| | | queryWrapper.eq(UnionChange::getSignApplyNo, pageWrap.getModel().getSignApplyNo()); |
| | | } |
| | | for(PageWrap.SortData sortData: pageWrap.getSorts()) { |
| | | if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { |
| | |
| | | queryWrapper.orderByAsc(sortData.getProperty()); |
| | | } |
| | | } |
| | | return PageData.from(unionChangeMapper.selectPage(page, queryWrapper)); |
| | | PageData<UnionChange> pageData = PageData.from(unionChangeJoinMapper.selectJoinPage(page,UnionChange.class, queryWrapper)); |
| | | return pageData; |
| | | } |
| | | |
| | | @Override |
| | |
| | | |
| | | /** |
| | | * 合并单(加减保/换厂) - 投保申请签署 |
| | | * @param id |
| | | * @param smsCheckDTO |
| | | * @return |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class,BusinessException.class}) |
| | | public String getSignLink(Integer id) { |
| | | if(id == null ){ |
| | | public String getSignLink(SmsCheckDTO smsCheckDTO) { |
| | | if(Objects.isNull(smsCheckDTO) |
| | | || Objects.isNull(smsCheckDTO.getBusinessId()) |
| | | || StringUtils.isBlank(smsCheckDTO.getCode()) |
| | | ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | //验证 验证码 |
| | | if(!debugModel){ |
| | | smsEmailService.validateCode(smsCheckDTO.getCode()); |
| | | } |
| | | LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | UnionChange unionChange = this.unionChangeDetail(id); |
| | | UnionChange unionChange = this.unionChangeDetail(smsCheckDTO.getBusinessId()); |
| | | if(Objects.isNull(unionChange)||!Constants.equalsInteger(unionChange.getIsdeleted(),Constants.ZERO)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | |
| | | if(Objects.isNull(unionChangeBXDDTO) |
| | | || Objects.isNull(unionChangeBXDDTO.getId()) |
| | | || Objects.isNull(unionChangeBXDDTO.getApplyDate()) |
| | | || StringUtils.isBlank(unionChangeBXDDTO.getFileName()) |
| | | || StringUtils.isBlank(unionChangeBXDDTO.getFileUrl()) |
| | | || StringUtils.isBlank(unionChangeBXDDTO.getName()) |
| | | || StringUtils.isBlank(unionChangeBXDDTO.getFileurl()) |
| | | || StringUtils.isBlank(unionChangeBXDDTO.getCode()) |
| | | ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | |
| | | .selectAs(InsuranceApply::getCode,ApplyChange::getApplyCode) |
| | | .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId) |
| | | .eq(ApplyChange::getUnionChangeId,unionChange.getId())); |
| | | |
| | | //存储合并单保险单 |
| | | Multifile multifile = new Multifile(); |
| | | multifile.setIsdeleted(Constants.ZERO); |
| | | multifile.setCreator(user.getId()); |
| | | multifile.setCreateDate(new Date()); |
| | | multifile.setObjId(unionChangeBXDDTO.getId()); |
| | | multifile.setCreateDate(new Date()); |
| | | multifile.setObjType(Constants.MultiFile.WTB_CA_DONE_PDF.getKey()); |
| | | multifile.setType(Constants.TWO); |
| | | multifile.setFileurl(unionChangeBXDDTO.getFileurl()); |
| | | multifile.setName(unionChangeBXDDTO.getName()); |
| | | multifileMapper.insert(multifile); |
| | | |
| | | if(CollectionUtils.isNotEmpty(unionChangeBXDDTO.getApplyChangeBXDList())){ |
| | | //查询是否不存在当前合并单的数据 |
| | | if(applyChangeJoinMapper.selectCount(new QueryWrapper<ApplyChange>() |
| | | .lambda().ne(ApplyChange::getUnionChangeId,unionChangeBXDDTO.getId()) |
| | | .in(ApplyChange::getId, |
| | | unionChangeBXDDTO.getApplyChangeBXDList().stream().map(m->m.getObjId()).collect(Collectors.toList()) |
| | | ) |
| | | )>Constants.ZERO){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"批单明细记录存在非本合并单数据"); |
| | | }; |
| | | for (Multifile m:unionChangeBXDDTO.getApplyChangeBXDList()) { |
| | | if(Objects.isNull(m.getObjId()) |
| | | ||StringUtils.isBlank(m.getFileurl()) |
| | | ||StringUtils.isBlank(m.getName()) |
| | | ){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"加减保/换厂业务批单文件信息缺失"); |
| | | } |
| | | multifile.setIsdeleted(Constants.ZERO); |
| | | multifile.setCreator(user.getId()); |
| | | multifile.setCreateDate(new Date()); |
| | | multifile.setCreateDate(new Date()); |
| | | multifile.setObjType(Constants.MultiFile.CA_PD_PDF.getKey()); |
| | | multifile.setType(Constants.TWO); |
| | | multifileMapper.insert(multifile); |
| | | } |
| | | } |
| | | |
| | | |
| | | if(CollectionUtils.isNotEmpty(applyChangeList)){ |
| | | for (ApplyChange applyChange:applyChangeList) { |
| | | applyChange.setApplyStartTime(unionChangeBXDDTO.getApplyDate()); |
| | | applyChange.setValidTime(unionChangeBXDDTO.getApplyDate()); |
| | | applyChange.setEditDate(new Date()); |
| | | applyChange.setEditor(user.getId()); |
| | | applyChange.setStatus(Constants.ApplyChangeStatus.APPROVE.getKey()); |
| | | List<ApplyChagneDetail> allList = applyChagneDetailJoinMapper.selectList(new QueryWrapper<ApplyChagneDetail>().lambda().eq(ApplyChagneDetail::getApplyChangeId,applyChange.getId())); |
| | | this.dealApplyChangeDetail(applyChange,allList); |
| | | applyChange.setCode(unionChangeBXDDTO.getCode()); |
| | | applyChange.setCheckUserId(user.getId()); |
| | | applyChangeJoinMapper.updateById(applyChange); |
| | | } |
| | | } |
| | | unionChangeMapper.update(null,new UpdateWrapper<UnionChange>().lambda() |