Browse Source

20250115

java8
qiezi 1 year ago
parent
commit
025604cae2
  1. 60
      src/main/java/com/xujie/sys/modules/quote/strategy/impl/BondingTalAfterPrintCompute.java

60
src/main/java/com/xujie/sys/modules/quote/strategy/impl/BondingTalAfterPrintCompute.java

@ -3,37 +3,53 @@ package com.xujie.sys.modules.quote.strategy.impl;
import com.xujie.sys.modules.quote.strategy.base.BaseBondingTalCompute;
import java.math.BigDecimal;
import java.math.RoundingMode;
public class BondingTalAfterPrintCompute extends BaseBondingTalCompute {
@Override
public BigDecimal computeDL(BigDecimal val1,BigDecimal val2,BigDecimal val3,BigDecimal val4,BigDecimal val5,BigDecimal val6
,BigDecimal val7,BigDecimal val8,BigDecimal val9,BigDecimal val10,BigDecimal val11,BigDecimal val12,BigDecimal val13
,BigDecimal val14,BigDecimal val15,BigDecimal val16,BigDecimal val17,BigDecimal val18,BigDecimal val19,BigDecimal val20
,BigDecimal val21) {
BigDecimal decimal = super.compute(val1,val2,val3,val4,val5,val6,val7,val8,val9,val10,val11,val12,val13,val14,val15,val16,val17,val18,val19,val20,val21);
System.out.println("+(bonding工时/bonding良率/converting良率 +{(converting工时-后道检品工时-编码打印工时)/converting良率)*后道费率 + 后道检品工时/converting良率*编码打印费率 + 编码打印工时/converting良率*编码打印费率");
return null;
public BigDecimal computeDL(BigDecimal antennaUsage, BigDecimal bondingYield, BigDecimal convertingYield, BigDecimal beforeFeeRate,
BigDecimal bondingManHour, BigDecimal afterFeeRate, BigDecimal parisBondingManHour, BigDecimal parisFeeRate,
BigDecimal convertingManHour, BigDecimal convertingRate, BigDecimal afterConvertingManHour, BigDecimal printConvertingManHour,
BigDecimal printRate, BigDecimal val14, BigDecimal val15, BigDecimal val16,
BigDecimal val17, BigDecimal val18, BigDecimal val19, BigDecimal val20,
BigDecimal val21) {
BigDecimal decimal = this.compute(antennaUsage, bondingYield, convertingYield, beforeFeeRate, bondingManHour, afterFeeRate, parisBondingManHour, parisFeeRate, convertingManHour, convertingRate, afterConvertingManHour, printConvertingManHour, printRate, val14, val15, val16, val17, val18, val19, val20, val21);
// System.out.println("+ 后道检品工时/converting良率*编码打印费率 + 编码打印工时/converting良率*编码打印费率");
BigDecimal val =this.compute(bondingManHour,bondingYield,convertingYield,convertingManHour,BigDecimal.ZERO,afterConvertingManHour,parisBondingManHour,afterFeeRate);
return decimal.add(val).add(afterConvertingManHour.divide(convertingYield,4,RoundingMode.HALF_UP).multiply(printRate))
.add(printConvertingManHour.divide(convertingYield,4,RoundingMode.HALF_UP));
}
@Override
public BigDecimal computeVOH(BigDecimal val1,BigDecimal val2,BigDecimal val3,BigDecimal val4,BigDecimal val5,BigDecimal val6
,BigDecimal val7,BigDecimal val8,BigDecimal val9,BigDecimal val10,BigDecimal val11,BigDecimal val12,BigDecimal val13
,BigDecimal val14,BigDecimal val15,BigDecimal val16,BigDecimal val17,BigDecimal val18,BigDecimal val19,BigDecimal val20
,BigDecimal val21) {
BigDecimal decimal = super.compute(val1,val2,val3,val4,val5,val6,val7,val8,val9,val10,val11,val12,val13,val14,val15,val16,val17,val18,val19,val20,val21);
System.out.println("+(bonding工时/bonding良率/converting良率 +{(converting工时-后道检品工时-编码打印工时)/converting良率)*后道费率 +编码打印工时/converting良率*编码打印费率");
return null;
public BigDecimal computeVOH(BigDecimal antennaUsage, BigDecimal bondingYield, BigDecimal convertingYield, BigDecimal beforeFeeRate,
BigDecimal bondingManHour, BigDecimal afterFeeRate, BigDecimal parisBondingManHour, BigDecimal parisFeeRate,
BigDecimal convertingManHour, BigDecimal convertingRate, BigDecimal afterConvertingManHour, BigDecimal printConvertingManHour,
BigDecimal printRate, BigDecimal val14, BigDecimal val15, BigDecimal val16,
BigDecimal val17, BigDecimal val18, BigDecimal val19, BigDecimal val20,
BigDecimal val21) {
BigDecimal decimal = this.compute(antennaUsage, bondingYield, convertingYield, beforeFeeRate, bondingManHour, afterFeeRate, parisBondingManHour, parisFeeRate, convertingManHour, convertingRate, afterConvertingManHour, printConvertingManHour, printRate, val14, val15, val16, val17, val18, val19, val20, val21);
// System.out.println(" +编码打印工时/converting良率*编码打印费率");
BigDecimal val =this.compute(bondingManHour,bondingYield,convertingYield,convertingManHour,BigDecimal.ZERO,afterConvertingManHour,parisBondingManHour,afterFeeRate);
return decimal.add(val).add(printConvertingManHour.divide(convertingYield,4,RoundingMode.HALF_UP));
}
@Override
public BigDecimal computeFOH(BigDecimal val1,BigDecimal val2,BigDecimal val3,BigDecimal val4,BigDecimal val5,BigDecimal val6
,BigDecimal val7,BigDecimal val8,BigDecimal val9,BigDecimal val10,BigDecimal val11,BigDecimal val12,BigDecimal val13
,BigDecimal val14,BigDecimal val15,BigDecimal val16,BigDecimal val17,BigDecimal val18,BigDecimal val19,BigDecimal val20
,BigDecimal val21) {
BigDecimal decimal = super.compute(val1,val2,val3,val4,val5,val6,val7,val8,val9,val10,val11,val12,val13,val14,val15,val16,val17,val18,val19,val20,val21);
System.out.println("+(bonding工时/bonding良率/converting良率+{(converting,工时-后道检品工时-编码打印工时-1/70*10)/converting良率}*后道费率 + 编码打印工时/converting良率*编码打印费率");
return null;
public BigDecimal computeFOH(BigDecimal antennaUsage, BigDecimal bondingYield, BigDecimal convertingYield, BigDecimal beforeFeeRate,
BigDecimal bondingManHour, BigDecimal afterFeeRate, BigDecimal parisBondingManHour, BigDecimal parisFeeRate,
BigDecimal convertingManHour, BigDecimal convertingRate, BigDecimal afterConvertingManHour, BigDecimal printConvertingManHour,
BigDecimal printRate, BigDecimal val14, BigDecimal val15, BigDecimal val16,
BigDecimal val17, BigDecimal val18, BigDecimal val19, BigDecimal val20,
BigDecimal val21) {
BigDecimal decimal = this.compute(antennaUsage, bondingYield, convertingYield, beforeFeeRate, bondingManHour, afterFeeRate, parisBondingManHour, parisFeeRate, convertingManHour, convertingRate, afterConvertingManHour, printConvertingManHour, printRate, val14, val15, val16, val17, val18, val19, val20, val21);
// System.out.println("+编码打印工时/converting良率*编码打印费率"); 1/7000*1000
BigDecimal val = this.compute(bondingManHour, bondingYield, convertingYield, convertingManHour, convertingRate, afterConvertingManHour, parisBondingManHour, afterFeeRate);
return decimal.add(val).add(printConvertingManHour.divide(convertingYield,4,RoundingMode.HALF_UP));
}
private BigDecimal compute(BigDecimal bondingManHour, BigDecimal bondingYield, BigDecimal convertingYield, BigDecimal convertingManHour,
BigDecimal convertingRate, BigDecimal afterConvertingManHour, BigDecimal parisBondingManHour, BigDecimal afterFeeRate){
// (bonding工时/bonding良率/converting良率+(converting工时-后道检品工时-编码打印工时-convertingRate)/converting良率)*后道费率
BigDecimal decimal = bondingManHour.divide(bondingYield, 4, RoundingMode.HALF_UP).divide(convertingYield, 4, RoundingMode.HALF_UP);
return decimal.add(convertingManHour.subtract(afterConvertingManHour.subtract(parisBondingManHour).subtract(convertingRate)).divide(convertingYield, 4, RoundingMode.HALF_UP)).multiply(afterFeeRate);
}
}
Loading…
Cancel
Save