demand: TMS系统 - 提成管理 - 员工提成方案配置管理 - 海运计提 方式“按柜计算”,柜子数量取值取 运单表“柜数”

This commit is contained in:
aike 2026-04-22 15:09:57 +08:00
parent 35a202a92f
commit d38c1bddd9

View File

@ -598,6 +598,22 @@ public class EmisCommissionProfitServiceImpl extends EmisBaseService implements
env.put("d", exprItem.getAdditionalWeight());
profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExp,env).toString());
}
// 柜数
else if ("5".equals(quoteItem.getCalcType())) {
BigDecimal cabinetNumber = BigDecimal.ZERO;
if (waybill.getWaybillOther() != null && waybill.getWaybillOther().getCabinetNumber() != null) {
cabinetNumber = new BigDecimal(waybill.getWaybillOther().getCabinetNumber().toString());
}
calcExprStr = calcExp.replaceAll("w", cabinetNumber.stripTrailingZeros().toPlainString())
.replaceAll("s", exprItem.getInitialWeight().toString())
.replaceAll("d", exprItem.getAdditionalWeight().toString());
log.info("按柜数:计算公式:" + calcExprStr + ",柜数:" + cabinetNumber.stripTrailingZeros().toPlainString());
Map<String, Object> env = new HashMap<>();
env.put("w", cabinetNumber);
env.put("s", exprItem.getInitialWeight());
env.put("d", exprItem.getAdditionalWeight());
profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExp, env).toString());
}
// 参与分成人员计算
if(BigDecimal.valueOf(profitMoney).compareTo(BigDecimal.ZERO)>0) {
@ -738,6 +754,22 @@ public class EmisCommissionProfitServiceImpl extends EmisBaseService implements
profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExp,env).toString());
}
// 柜数
else if ("5".equals(quoteItem.getCalcType())) {
BigDecimal cabinetNumber = BigDecimal.ZERO;
if (waybill.getWaybillOther() != null && waybill.getWaybillOther().getCabinetNumber() != null) {
cabinetNumber = new BigDecimal(waybill.getWaybillOther().getCabinetNumber().toString());
}
calcExprStr = calcExp.replaceAll("w", cabinetNumber.stripTrailingZeros().toPlainString())
.replaceAll("s", exprItem.getInitialWeight().toString())
.replaceAll("d", exprItem.getAdditionalWeight().toString());
log.info("按柜数:计算公式:" + calcExprStr + ",柜数:" + cabinetNumber.stripTrailingZeros().toPlainString());
Map<String, Object> env = new HashMap<>();
env.put("w", cabinetNumber);
env.put("s", exprItem.getInitialWeight());
env.put("d", exprItem.getAdditionalWeight());
profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExp, env).toString());
}
// 插入参与分成人员
// 插入提成
@ -888,6 +920,22 @@ public class EmisCommissionProfitServiceImpl extends EmisBaseService implements
env.put("d", exprItem.getAdditionalWeight());
profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExp,env).toString());
}
// 柜数
else if ("5".equals(quoteItem.getCalcType())) {
BigDecimal cabinetNumber = BigDecimal.ZERO;
if (waybill.getWaybillOther() != null && waybill.getWaybillOther().getCabinetNumber() != null) {
cabinetNumber = new BigDecimal(waybill.getWaybillOther().getCabinetNumber().toString());
}
calcExprStr = calcExp.replaceAll("w", cabinetNumber.stripTrailingZeros().toPlainString())
.replaceAll("s", exprItem.getInitialWeight().toString())
.replaceAll("d", exprItem.getAdditionalWeight().toString());
log.info("按柜数:计算公式:" + calcExprStr + ",柜数:" + cabinetNumber.stripTrailingZeros().toPlainString());
Map<String, Object> env = new HashMap<>();
env.put("w", cabinetNumber);
env.put("s", exprItem.getInitialWeight());
env.put("d", exprItem.getAdditionalWeight());
profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExp, env).toString());
}
// 插入提成
if(BigDecimal.valueOf(profitMoney).compareTo(BigDecimal.ZERO)>0) {
@ -1044,6 +1092,22 @@ public class EmisCommissionProfitServiceImpl extends EmisBaseService implements
env.put("d", exprItem.getAdditionalWeight());
profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExp,env).toString());
}
// 柜数
else if ("5".equals(quoteItem.getCalcType())) {
BigDecimal cabinetNumber = BigDecimal.ZERO;
if (waybill.getWaybillOther() != null && waybill.getWaybillOther().getCabinetNumber() != null) {
cabinetNumber = new BigDecimal(waybill.getWaybillOther().getCabinetNumber().toString());
}
calcExprStr = calcExp.replaceAll("w", cabinetNumber.stripTrailingZeros().toPlainString())
.replaceAll("s", exprItem.getInitialWeight().toString())
.replaceAll("d", exprItem.getAdditionalWeight().toString());
log.info("按柜数:计算公式:" + calcExprStr + ",柜数:" + cabinetNumber.stripTrailingZeros().toPlainString());
Map<String, Object> env = new HashMap<>();
env.put("w", cabinetNumber);
env.put("s", exprItem.getInitialWeight());
env.put("d", exprItem.getAdditionalWeight());
profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExp, env).toString());
}
// 插入提成
if(BigDecimal.valueOf(profitMoney).compareTo(BigDecimal.ZERO)>0) {
@ -1202,6 +1266,22 @@ public class EmisCommissionProfitServiceImpl extends EmisBaseService implements
profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExp,env).toString());
}
// 柜数
else if ("5".equals(quoteItem.getCalcType())) {
BigDecimal cabinetNumber = BigDecimal.ZERO;
if (waybill.getWaybillOther() != null && waybill.getWaybillOther().getCabinetNumber() != null) {
cabinetNumber = new BigDecimal(waybill.getWaybillOther().getCabinetNumber().toString());
}
calcExprStr = calcExp.replaceAll("w", cabinetNumber.stripTrailingZeros().toPlainString())
.replaceAll("s", exprItem.getInitialWeight().toString())
.replaceAll("d", exprItem.getAdditionalWeight().toString());
log.info("按柜数:计算公式:" + calcExprStr + ",柜数:" + cabinetNumber.stripTrailingZeros().toPlainString());
Map<String, Object> env = new HashMap<>();
env.put("w", cabinetNumber);
env.put("s", exprItem.getInitialWeight());
env.put("d", exprItem.getAdditionalWeight());
profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExp, env).toString());
}
// 插入提成
if(BigDecimal.valueOf(profitMoney).compareTo(BigDecimal.ZERO)>0) {
@ -1352,6 +1432,22 @@ public class EmisCommissionProfitServiceImpl extends EmisBaseService implements
profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExp,env).toString());
}
// 柜数
else if ("5".equals(quoteItem.getCalcType())) {
BigDecimal cabinetNumber = BigDecimal.ZERO;
if (waybill.getWaybillOther() != null && waybill.getWaybillOther().getCabinetNumber() != null) {
cabinetNumber = new BigDecimal(waybill.getWaybillOther().getCabinetNumber().toString());
}
calcExprStr = calcExp.replaceAll("w", cabinetNumber.stripTrailingZeros().toPlainString())
.replaceAll("s", exprItem.getInitialWeight().toString())
.replaceAll("d", exprItem.getAdditionalWeight().toString());
log.info("按柜数:计算公式:" + calcExprStr + ",柜数:" + cabinetNumber.stripTrailingZeros().toPlainString());
Map<String, Object> env = new HashMap<>();
env.put("w", cabinetNumber);
env.put("s", exprItem.getInitialWeight());
env.put("d", exprItem.getAdditionalWeight());
profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExp, env).toString());
}
// 插入提成
if (BigDecimal.valueOf(profitMoney).compareTo(BigDecimal.ZERO) > 0) {
@ -1575,6 +1671,22 @@ public class EmisCommissionProfitServiceImpl extends EmisBaseService implements
profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExp,env).toString());
}
// 柜数
else if ("5".equals(quoteItem.getCalcType())) {
BigDecimal cabinetNumber = BigDecimal.ZERO;
if (waybill.getWaybillOther() != null && waybill.getWaybillOther().getCabinetNumber() != null) {
cabinetNumber = new BigDecimal(waybill.getWaybillOther().getCabinetNumber().toString());
}
calcExprStr = calcExp.replaceAll("w", cabinetNumber.stripTrailingZeros().toPlainString())
.replaceAll("s", exprItem.getInitialWeight().toString())
.replaceAll("d", exprItem.getAdditionalWeight().toString());
log.info("按柜数:计算公式:" + calcExprStr + ",柜数:" + cabinetNumber.stripTrailingZeros().toPlainString());
Map<String, Object> env = new HashMap<>();
env.put("w", cabinetNumber);
env.put("s", exprItem.getInitialWeight());
env.put("d", exprItem.getAdditionalWeight());
profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExp, env).toString());
}
// 插入提成
if(BigDecimal.valueOf(profitMoney).compareTo(BigDecimal.ZERO)>0) {