| | |
| | | update.setImgurl(taxes.getImgurl()); |
| | | taxesMapper.updateById(update); |
| | | |
| | | //查询开票明细记录 |
| | | List<TaxDetial> taxDetialList = taxDetialMapper.selectList(new QueryWrapper<TaxDetial>().lambda() |
| | | .eq(TaxDetial::getTaxId,taxes.getId()) |
| | | .eq(TaxDetial::getType,Constants.TWO)); |
| | | if(CollectionUtils.isNotEmpty(taxDetialList)){ |
| | | for (TaxDetial taxDetial:taxDetialList) { |
| | | taxesMapper.update(null,new UpdateWrapper<Taxes>().lambda() |
| | | .set(Taxes::getEditDate,new Date()) |
| | | .set(Taxes::getEditor,user.getId()) |
| | | .set(Taxes::getStatus,3).eq(Taxes::getId,taxDetial.getDelTaxId())); |
| | | } |
| | | } |
| | | |
| | | |
| | | //存储待办信息 |
| | | Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.TAXES; |
| | | //删除其他待办 |
| | |
| | | MPJLambdaWrapper<Taxes> queryWrapper = new MPJLambdaWrapper<>(); |
| | | queryWrapper.selectAll(Taxes.class); |
| | | queryWrapper.selectAs(Solutions::getName,Taxes::getSolutionName); |
| | | queryWrapper.selectAs(SystemUser::getRealname,Taxes::getCancelUserName); |
| | | queryWrapper.leftJoin(Solutions.class,Solutions::getId,Taxes::getSolutionId); |
| | | queryWrapper.leftJoin(SystemUser.class,SystemUser::getId,Taxes::getCancelUserId); |
| | | Taxes model =taxesJoinMapper.selectById(id); |
| | | if(model==null || !Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | if(Constants.equalsInteger(model.getType(),Constants.ZERO)){ |
| | | if(Constants.equalsInteger(model.getApplyType(),Constants.ZERO)){ |
| | | List<TaxDetial> detialList = getDetailsApplysListById(id); |
| | | model.setApplyList(detialList); |
| | | }else{ |
| | |
| | | queryWrapper.selectAll(TaxDetial.class); |
| | | queryWrapper.selectAs(InsuranceApply::getCode,TaxDetial::getApplyCode); |
| | | queryWrapper.selectAs(Solutions::getName,TaxDetial::getSolutionName); |
| | | queryWrapper.selectAs(ApplyChange::getValidCode,TaxDetial::getChangApplyCode); |
| | | queryWrapper.leftJoin(InsuranceApply.class,InsuranceApply::getId,TaxDetial::getInsuranceApplyId); |
| | | queryWrapper.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId); |
| | | queryWrapper.leftJoin(ApplyChange.class,ApplyChange::getId,TaxDetial::getApplyChangeId); |
| | | queryWrapper.in(TaxDetial::getType,Constants.ZERO,Constants.ONE); |
| | | queryWrapper.eq(TaxDetial::getTaxId,id); |
| | | List<TaxDetial> detialList = taxDetailJoinMapper.selectJoinList(TaxDetial.class,queryWrapper.orderByAsc(TaxDetial::getType)); |
| | | return detialList; |
| | | } |
| | |
| | | Taxes queryModel = pageWrap.getModel(); |
| | | if(!user.getType().equals(Constants.ONE)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"非企业用户无法进行该业务查询"); |
| | | }else{ |
| | | queryWrapper.eq(Taxes::getCompanyId,user.getCompanyId()); |
| | | } |
| | | if(!Objects.isNull(queryModel)){ |
| | | queryWrapper.ge(pageWrap.getModel().getStartDate() != null,Taxes::getCreateDate, (pageWrap.getModel().getStartDate())); |
| | |
| | | queryWrapper.le(queryModel.getEndDate() != null,Taxes::getCreateDate, (queryModel.getEndDate())); |
| | | queryWrapper.eq(!Objects.isNull(queryModel.getInsuranceApplyId()),Taxes::getInsuranceApplyId,queryModel.getInsuranceApplyId()); |
| | | queryWrapper.eq(!Objects.isNull(queryModel.getStatus()),Taxes::getStatus,queryModel.getStatus()); |
| | | queryWrapper.exists(!Objects.isNull(queryModel.getApplyId())," select 1 from tax_detial td where td.insurance_apply_id = "+queryModel.getApplyId()+" and t.id = td.tax_id "); |
| | | } |
| | | queryWrapper.orderByAsc(Taxes::getCreateDate); |
| | | return taxesJoinMapper.selectJoinList(Taxes.class, queryWrapper); |
| | | |
| | | List<Taxes> result = taxesJoinMapper.selectJoinList(Taxes.class, queryWrapper); |
| | | String path =systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+systemDictDataBiz.queryByCode(Constants.OSS,Constants.TAXES_FILE).getCode(); |
| | | for(Taxes t : result){ |
| | | if(StringUtils.isNotBlank(t.getImgurl())){ |
| | | t.setImgurlFull(path + t.getImgurl()); |
| | | } |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | |
| | |
| | | || Objects.isNull(entrustInvoicingDTO.getInvoicingMoney()) |
| | | || Objects.isNull(entrustInvoicingDTO.getType()) |
| | | || Objects.isNull(entrustInvoicingDTO.getTaxDetialList()) |
| | | || StringUtils.isNotBlank(entrustInvoicingDTO.getAddress()) |
| | | || StringUtils.isBlank(entrustInvoicingDTO.getAddress()) |
| | | ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | |
| | | taxes.setAddr(entrustInvoicingDTO.getAddress()); |
| | | taxes.setCompanyName(company.getName()); |
| | | taxes.setApplyType(Constants.ZERO); |
| | | taxes.setTaxBank(company.getTaxBank()); |
| | | taxesMapper.insert(taxes); |
| | | |
| | | List<TaxDetial> taxDetialList = entrustInvoicingDTO.getTaxDetialList(); |
| | |
| | | ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | //查询每个保单下可以投保的金额 |
| | | //查询每个保单下可以报销的金额 |
| | | InsuranceApply insuranceApply = insuranceApplyJoinMapper.selectJoinOne(InsuranceApply.class,new MPJLambdaWrapper<InsuranceApply>() |
| | | .selectAll(InsuranceApply.class) |
| | | .select(" ( select sum(td.fee) from taxes ts inner join tax_detial td on ts.TAX_ID = ts.id where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id ) as taxesMoney ") |
| | | // .select(" ifnull(( select sum(td.fee) from taxes ts inner join tax_detial td on td.TAX_ID = ts.id where ts.status = 1 and td.INSURANCE_APPLY_ID = t.id ),0) as taxesMoney") |
| | | .select(" ifnull(( select sum(td.fee) from taxes ts inner join tax_detial td on td.TAX_ID = ts.id where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id ),0) as taxesMoney ") |
| | | .eq(InsuranceApply::getId,taxDetial.getInsuranceApplyId()) |
| | | ); |
| | | if(Objects.isNull(insuranceApply)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"保单号【"+taxDetial.getApplyCode()+"】未查询到保单信息"); |
| | | } |
| | | if(insuranceApply.getCurrentFee().subtract(insuranceApply.getTaxesMoney()).compareTo(taxDetial.getFee())!=Constants.ZERO){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"保单号【"+taxDetial.getApplyCode()+"】可报销金额错误【"+insuranceApply.getCurrentFee().subtract(insuranceApply.getTaxesMoney())+"】"); |
| | | //throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"保单号【"+taxDetial.getApplyCode()+"】可报销金额错误【"+insuranceApply.getCurrentFee().subtract(insuranceApply.getTaxesMoney())+"】"); |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"保单号【"+taxDetial.getApplyCode()+"】不满足开票条件"); |
| | | } |
| | | taxDetial.setCreator(user.getId()); |
| | | taxDetial.setCreateDate(new Date()); |
| | |
| | | taxDetial.setTotalFee(insuranceApply.getCurrentFee()); |
| | | taxDetial.setType(Constants.ZERO); |
| | | } |
| | | taxDetailJoinMapper.insertBatchSomeColumn(taxDetialList); |
| | | taxDetailJoinMapper.insert(taxDetialList); |
| | | |
| | | |
| | | //存储待办信息 |
| | |
| | | List<ApplyChange> applyChangeList = applyChangeJoinMapper.selectJoinList(ApplyChange.class,new MPJLambdaWrapper<ApplyChange>() |
| | | .selectAll(ApplyChange.class) |
| | | .selectAs(InsuranceApply::getCode,ApplyChange::getApplyCode) |
| | | .selectAs(Solutions::getName,ApplyChange::getSolutionsName) |
| | | .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 0 ) as addNum ") |
| | | .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 1 ) as delNum ") |
| | | .select("( select ifnull(sum(ad.FEE),0) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID ) as changeMoney" ) |
| | |
| | | |
| | | if(CollectionUtils.isNotEmpty(applyChangeList)){ |
| | | for (ApplyChange applyChange:applyChangeList) { |
| | | insuranceApply.setFee(insuranceApply.getFee().subtract(applyChange.getFee())); |
| | | TaxesInvoicingVO taxesInvoicingVO = applyChange.toTaxesInvoicingVO(); |
| | | if(!Objects.isNull(insuranceApply)){ |
| | | taxesInvoicingVO.setAmount(BigDecimal.ZERO); |
| | | insuranceApply.setFee(insuranceApply.getFee().subtract(applyChange.getFee())); |
| | | } |
| | | TaxesInvoicingVO taxesInvoicingVO = applyChange.toTaxesInvoicingVO(); |
| | | // if(!Objects.isNull(insuranceApply)){ |
| | | // taxesInvoicingVO.setAmount(BigDecimal.ZERO); |
| | | // } |
| | | taxesInvoicingVOList.add(taxesInvoicingVO); |
| | | } |
| | | } |
| | |
| | | taxes.setType(directInvoicingDTO.getType()); |
| | | taxes.setTaxCode(company.getTaxCode()); |
| | | taxes.setTaxAccount(company.getTaxAccount()); |
| | | taxes.setTaxBank(company.getTaxBank()); |
| | | taxes.setTaxAddr(company.getTaxAddr()); |
| | | taxes.setAddr(directInvoicingDTO.getAddress()); |
| | | taxes.setCompanyName(company.getName()); |
| | |
| | | taxDetial.setTaxId(taxes.getId()); |
| | | taxDetial.setTotalFee(taxesInvoicingVO.getAmount()); |
| | | taxDetial.setFee(taxesInvoicingVO.getAmount()); |
| | | taxDetial.setInsuranceApplyId(taxes.getInsuranceApplyId()); |
| | | if(taxesInvoicingVO.getType().equals(Constants.ZERO)){ |
| | | taxDetial.setInsuranceApplyId(taxesInvoicingVO.getId()); |
| | | taxDetial.setType(taxesInvoicingVO.getType()); |
| | | }else if(taxesInvoicingVO.getType().equals(Constants.ONE)){ |
| | | taxDetial.setApplyChangeId(taxesInvoicingVO.getId()); |
| | |
| | | taxDetial.setTotalFee(chTaxes.getPrice()); |
| | | taxDetial.setFee(chTaxes.getPrice()); |
| | | taxDetial.setDelTaxId(chTaxes.getId()); |
| | | taxDetial.setInsuranceApplyId(taxes.getInsuranceApplyId()); |
| | | taxDetial.setType(Constants.TWO); |
| | | taxDetailList.add(taxDetial); |
| | | } |
| | | } |
| | | if(CollectionUtils.isNotEmpty(taxDetailList)){ |
| | | taxDetailJoinMapper.insertBatchSomeColumn(taxDetailList); |
| | | taxDetailJoinMapper.insert(taxDetailList); |
| | | }else{ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"无可开票数据,操作失败"); |
| | | } |