|
@@ -2,14 +2,25 @@ package org.springblade.manager.vo;
|
|
|
|
|
|
import com.alibaba.fastjson.annotation.JSONField;
|
|
|
import lombok.Data;
|
|
|
+import org.springblade.common.utils.BaseUtils;
|
|
|
|
|
|
/**
|
|
|
* @author yangyj
|
|
|
* @Date 2024/6/18 17:18
|
|
|
* @description 回扣动员预付款一览表
|
|
|
+ * #1.当进度总额>(合同总额(不含变更)*30%)的时候开始计算,否则直接按零计
|
|
|
+ * #2.本期扣款=A-上期末扣回款 A=上期末已支付动员预付款总额*(进度总额-合同总额(不含变更)*30%)* 2 / 合同总额(不含变更)
|
|
|
+ * #3.当A>上期末已支付动员预付款总额的时候,本期扣回=上期末已支付动员预付款总额-上期末扣回款
|
|
|
+ * #4.如果本期扣款计算结果<0,则不能显示负数,按零计。
|
|
|
*/
|
|
|
@Data
|
|
|
public class RebateIncentiveAdvPay implements DataModel{
|
|
|
+ /*#1.当进度总额>(合同总额(不含变更)*30%)的时候开始计算,否则直接按零计
|
|
|
+#2.本期扣款=A-上期末扣回款 A=上期末已支付动员预付款总额*(进度总额-合同总额(不含变更)*30%)* 2 / 合同总额(不含变更)
|
|
|
+#3.当A>上期末已支付动员预付款总额的时候,本期扣回=上期末已支付动员预付款总额-上期末扣回款
|
|
|
+#4.如果本期扣款计算结果<0,则不能显示负数,按零计。
|
|
|
+ E=2*((C-A*0.3)*B)/A
|
|
|
+*/
|
|
|
public static final String ID="20360000000";
|
|
|
public static final String TBN="RIAdvPay";
|
|
|
public static final String TBN_CH="回扣动员预付款一览表";
|
|
@@ -27,4 +38,18 @@ public class RebateIncentiveAdvPay implements DataModel{
|
|
|
private String previousPay ;
|
|
|
@JSONField(name = "key_4",label="本期扣回金额",ordinal = 10)
|
|
|
private String currentPay ;
|
|
|
+ public void calc(String contractAmount,String dyTotalAmount){
|
|
|
+ double contractAmountD=BaseUtils.obj2DoubleZero(contractAmount);
|
|
|
+ double x=(2*(BaseUtils.obj2DoubleZero(subtotal)-0.3*contractAmountD)*BaseUtils.obj2DoubleZero(dyTotalAmount))/contractAmountD;
|
|
|
+ if(x<0){
|
|
|
+ /*扣回款本身就是负数*/
|
|
|
+ x=Math.abs(x);
|
|
|
+ String s=Double.toString(x);
|
|
|
+ this.retained =s ;
|
|
|
+ this.currentPay=s;
|
|
|
+ this.endPay=s;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
}
|