zhuguifei
2025-04-28 442928123f63ee497d766f9a7a14f0a6ee067e25
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package org.jeecg.modules.bonus.service.impl;
 
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.modules.bonus.entity.BonusPayment;
import org.jeecg.modules.bonus.entity.BonusQuotaParam;
import org.jeecg.modules.bonus.mapper.BonusPaymentMapper;
import org.jeecg.modules.bonus.mapper.BonusQuotaParamMapper;
import org.jeecg.modules.bonus.service.IBonusPaymentService;
import org.jeecg.modules.bonus.service.IBonusQuotaParamService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.math.BigDecimal;
import java.util.List;
 
 
@Service
@Slf4j
public class BonusQuotaParamServiceImpl extends ServiceImpl<BonusQuotaParamMapper, BonusQuotaParam> implements IBonusQuotaParamService {
    @Autowired
    private BonusQuotaParamMapper quotaParamMapper;
 
 
    @Override
    public BonusQuotaParam calcScParam(BonusQuotaParam param) {
 
        //1.计算市场机会系数和
        double market = param.getScHyhj() + param.getScZlyy() + param.getScLrl() + param.getScXqjj();
        BigDecimal b = new BigDecimal(market);
        double m = b.setScale(1, BigDecimal.ROUND_HALF_DOWN).doubleValue();
        //2.根据系数计算出定额
        double quota = m * param.getScJscs() * (param.getScGzxs() / 10) * param.getBase()  ;
        BigDecimal q = new BigDecimal(quota);
        BigDecimal quotaBonus = q.setScale(0, BigDecimal.ROUND_HALF_DOWN);
        param.setQuotaBonus(quotaBonus);
        return param;
    }
}