MrShi
2024-02-22 e622bd5e3b2638b9ab9a712ed1160a66018d6fd7
server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java
@@ -240,7 +240,7 @@
        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{
@@ -272,8 +272,12 @@
            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;
    }
@@ -443,6 +447,7 @@
        taxes.setAddr(entrustInvoicingDTO.getAddress());
        taxes.setCompanyName(company.getName());
        taxes.setApplyType(Constants.ZERO);
        taxes.setTaxBank(company.getTaxBank());
        taxesMapper.insert(taxes);
        List<TaxDetial> taxDetialList = entrustInvoicingDTO.getTaxDetialList();
@@ -540,6 +545,7 @@
        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" )
@@ -553,11 +559,13 @@
        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);
            }
        }
@@ -613,6 +621,7 @@
        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());
@@ -639,8 +648,8 @@
            taxDetial.setTaxId(taxes.getId());
            taxDetial.setTotalFee(taxesInvoicingVO.getAmount());
            taxDetial.setFee(taxesInvoicingVO.getAmount());
            taxDetial.setInsuranceApplyId(taxes.getApplyId());
            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());