liusheng
2023-08-10 c8707150e15be1425a096e40d44f043e9ecce5a2
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java
@@ -6,7 +6,10 @@
import java.util.Date;
import java.util.List;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.ruoyi.common.tax.TaxtUtils;
import com.ruoyi.common.utils.bean.DtoConversionUtils;
import com.ruoyi.project.domain.*;
import com.ruoyi.project.domain.vo.TaxMoneyVO;
import com.ruoyi.project.domain.vo.TaxedMoneyVO;
@@ -101,7 +104,7 @@
     * @return
     */
    @Override
    public Double getTaxBeforeByBeneFiciaryNo(TaxMoneyVO taxMoneyVo) {
    public Double getTaxByBeneFiciaryNo(TaxMoneyVO taxMoneyVo) {
        Double sum = 0.00;
        Double totalScore = 0.00;
        List<ServiceFunddetail> taxationByBeneFiciaryNo = serviceFunddetailMapper.getTaxBeforeByBeneFiciaryNo(taxMoneyVo);
@@ -123,7 +126,7 @@
    /**
     * 根据税后工资,算出税前工资
     *
     * @param money
     * @param taxMoneyVo
     * @return
     */
    @Override
@@ -139,7 +142,7 @@
            totalScore = taxationByBeneFiciaryNo.stream().mapToDouble(ServiceFunddetail::getTaxamount).sum();
        }
        //计算出总的税后薪酬(包含本次)
        sum = sum + taxMoneyVo.getMoney();
        sum = sum + Double.valueOf(taxMoneyVo.getMoney());
        //税前总金额
        String taxationBefore = TaxtUtils.getTaxationBefore(new BigDecimal(sum));
        //总个税
@@ -200,20 +203,32 @@
        ServiceFunddetail serviceFunddetail = serviceFunddetailMapper.selectById(id);
        Long fundid = serviceFunddetail.getFundid();
        ServiceFund serviceFund = serviceFundMapper.selectById(fundid);
        if (ObjectUtils.isNotEmpty(serviceFund)) {
            Double pretax = serviceFund.getPretaxcost();
            Double aftertax = serviceFund.getTaxedcost();
            pretax = pretax - serviceFunddetail.getAmount();
            aftertax = aftertax - serviceFunddetail.getTaxedamount();
            Double amount = pretax + aftertax;
        Double pretax = serviceFund.getPretaxcost();
        Double aftertax = serviceFund.getTaxedcost();
        pretax = pretax - serviceFunddetail.getAmount();
        aftertax = aftertax - serviceFunddetail.getTaxedamount();
        Double amount = pretax + aftertax;
        serviceFund.setPretaxcost(pretax);
        serviceFund.setTaxedcost(aftertax);
        serviceFund.setAmountrequested(amount);
        int updateAmount = serviceFundMapper.updateById(serviceFund);
            serviceFund.setPretaxcost(pretax);
            serviceFund.setTaxedcost(aftertax);
            serviceFund.setAmountrequested(amount);
            int updateAmount = serviceFundMapper.updateById(serviceFund);
        }
        return serviceFunddetailMapper.deleteById(id);
    }
    @Override
    public List<ServiceFunddetailVO> getFundDetail(Long id) {
        List<ServiceFunddetail> serviceFunddetails = serviceFunddetailMapper.selectFundDetailListById(id);
        List<ServiceFunddetailVO> serviceFunddetailVOS = DtoConversionUtils.sourceToTarget(serviceFunddetails, ServiceFunddetailVO.class);
        for (ServiceFunddetailVO serviceFunddetailVO : serviceFunddetailVOS) {
            if (!StringUtils.isEmpty(serviceFunddetailVO.getAnnexfiles())) {
                List<RbDetailFile> rbDetailFiles = JSONArray.parseArray(serviceFunddetailVO.getAnnexfiles(), RbDetailFile.class);
                serviceFunddetailVO.setAnnexfilesList(rbDetailFiles);
            }
        }
        return serviceFunddetailVOS;
    }
}