Browse Source

20241223

java8
qiezi 1 year ago
parent
commit
f575e9c607
  1. 38
      src/main/java/com/xujie/sys/modules/quote/strategy/ComputeFactory.java
  2. 13
      src/main/java/com/xujie/sys/modules/quote/strategy/ComputeStrategy.java
  3. 23
      src/main/java/com/xujie/sys/modules/quote/strategy/base/BaseBondingParisCompute.java
  4. 25
      src/main/java/com/xujie/sys/modules/quote/strategy/base/BaseBondingTalCompute.java
  5. 22
      src/main/java/com/xujie/sys/modules/quote/strategy/base/BaseDryBondingCompute.java
  6. 31
      src/main/java/com/xujie/sys/modules/quote/strategy/impl/BondingParisAfterCompute.java
  7. 28
      src/main/java/com/xujie/sys/modules/quote/strategy/impl/BondingParisAfterPrintCompute.java
  8. 29
      src/main/java/com/xujie/sys/modules/quote/strategy/impl/BondingParisCompute.java
  9. 31
      src/main/java/com/xujie/sys/modules/quote/strategy/impl/BondingParisPrintCompute.java
  10. 31
      src/main/java/com/xujie/sys/modules/quote/strategy/impl/BondingTalAfterCompute.java
  11. 30
      src/main/java/com/xujie/sys/modules/quote/strategy/impl/BondingTalAfterPrintCompute.java
  12. 28
      src/main/java/com/xujie/sys/modules/quote/strategy/impl/BondingTalCompute.java
  13. 31
      src/main/java/com/xujie/sys/modules/quote/strategy/impl/BondingTalPrintCompute.java
  14. 28
      src/main/java/com/xujie/sys/modules/quote/strategy/impl/DryBondingParisCompute.java
  15. 28
      src/main/java/com/xujie/sys/modules/quote/strategy/impl/DryBondingTalCompute.java

38
src/main/java/com/xujie/sys/modules/quote/strategy/ComputeFactory.java

@ -0,0 +1,38 @@
package com.xujie.sys.modules.quote.strategy;
import com.xujie.sys.modules.quote.strategy.impl.*;
import java.util.HashMap;
import java.util.Map;
public class ComputeFactory {
private static final Map<String,ComputeStrategy> computeMap = new HashMap<String,ComputeStrategy>();
static {
computeMap.put("Dry-Bonding-TAL",new DryBondingTalCompute());
computeMap.put("Dry-Bonding-Paris",new DryBondingParisCompute());
computeMap.put("Bonding-TAL",new BondingTalCompute());
computeMap.put("Bonding-TAL-After",new BondingTalAfterCompute());
computeMap.put("Bonding-TAL-Print",new BondingTalPrintCompute());
computeMap.put("Bonding-TAL-After-Print",new BondingTalAfterPrintCompute());
computeMap.put("Bonding-Paris",new BondingParisCompute());
computeMap.put("Bonding-Paris-After",new BondingParisAfterCompute());
computeMap.put("Bonding-Paris-Print",new BondingParisPrintCompute());
computeMap.put("Bonding-Paris-After-Print",new BondingParisAfterPrintCompute());
}
public static ComputeStrategy getComputeStrategy(String strategyName) {
return computeMap.get(strategyName);
}
// public static void main(String[] args) {
// ComputeStrategy strategy = ComputeFactory.getComputeStrategy("Bonding-Paris-Print");
// strategy.computeDL();
// System.out.println("----------");
// strategy.computeVOH();
// System.out.println("----------");
// strategy.computeFOH();
// }
}

13
src/main/java/com/xujie/sys/modules/quote/strategy/ComputeStrategy.java

@ -0,0 +1,13 @@
package com.xujie.sys.modules.quote.strategy;
import java.math.BigDecimal;
public interface ComputeStrategy {
BigDecimal computeDL();
BigDecimal computeVOH();
BigDecimal computeFOH();
}

23
src/main/java/com/xujie/sys/modules/quote/strategy/base/BaseBondingParisCompute.java

@ -0,0 +1,23 @@
package com.xujie.sys.modules.quote.strategy.base;
import com.xujie.sys.modules.quote.strategy.ComputeStrategy;
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
public abstract class BaseBondingParisCompute implements ComputeStrategy {
@Override
public abstract BigDecimal computeDL();
@Override
public abstract BigDecimal computeVOH();
@Override
public abstract BigDecimal computeFOH();
public BigDecimal compute(){
System.out.println("天线用量/bonding良率/converting良率*前道费率 +(Parts bonding工时/bonding良率/converting良率)* Paris费率+(bonding工时-paris Bonding时)/bonding良率/converting良率*后道费率");
return null;
}
}

25
src/main/java/com/xujie/sys/modules/quote/strategy/base/BaseBondingTalCompute.java

@ -0,0 +1,25 @@
package com.xujie.sys.modules.quote.strategy.base;
import com.xujie.sys.modules.quote.service.QuoteDetailBomService;
import com.xujie.sys.modules.quote.strategy.ComputeStrategy;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
public abstract class BaseBondingTalCompute implements ComputeStrategy {
@Override
public abstract BigDecimal computeDL();
@Override
public abstract BigDecimal computeVOH();
@Override
public abstract BigDecimal computeFOH();
public BigDecimal compute(){
System.out.println("天线用量/bonding良率/converting良率*前道费率");
return null;
}
}

22
src/main/java/com/xujie/sys/modules/quote/strategy/base/BaseDryBondingCompute.java

@ -0,0 +1,22 @@
package com.xujie.sys.modules.quote.strategy.base;
import com.xujie.sys.modules.quote.strategy.ComputeStrategy;
import java.math.BigDecimal;
public abstract class BaseDryBondingCompute implements ComputeStrategy {
@Override
public abstract BigDecimal computeDL();
@Override
public abstract BigDecimal computeVOH();
@Override
public abstract BigDecimal computeFOH();
public BigDecimal compute(){
System.out.println("天线用量/bonding良率*前道费率");
return null;
}
}

31
src/main/java/com/xujie/sys/modules/quote/strategy/impl/BondingParisAfterCompute.java

@ -0,0 +1,31 @@
package com.xujie.sys.modules.quote.strategy.impl;
import com.xujie.sys.modules.quote.strategy.base.BaseBondingParisCompute;
import java.math.BigDecimal;
public class BondingParisAfterCompute extends BaseBondingParisCompute {
@Override
public BigDecimal computeDL() {
return this.compute();
}
@Override
public BigDecimal computeVOH() {
return this.compute();
}
@Override
public BigDecimal computeFOH() {
BigDecimal decimal = super.compute();
System.out.println("+(converting工时-1/7000*1000)/converting良率*厚道费率");
return null;
}
@Override
public BigDecimal compute() {
BigDecimal decimal = super.compute();
System.out.println("+(converting工时/converting良率*后道费率)");
return null;
}
}

28
src/main/java/com/xujie/sys/modules/quote/strategy/impl/BondingParisAfterPrintCompute.java

@ -0,0 +1,28 @@
package com.xujie.sys.modules.quote.strategy.impl;
import com.xujie.sys.modules.quote.strategy.base.BaseBondingParisCompute;
import java.math.BigDecimal;
public class BondingParisAfterPrintCompute extends BaseBondingParisCompute {
@Override
public BigDecimal computeDL() {
BigDecimal decimal = super.compute();
System.out.println("(converting工时-后道检品工时-编码打印工时)/converting良率*后道费率+后道检品工时/converting良率*编码打印费率+编码打印工时/converting良率*编码打印费率");
return null;
}
@Override
public BigDecimal computeVOH() {
BigDecimal decimal = super.compute();
System.out.println("(converting工时-后道检品工时-编码打印工时)/converting良率*后道费率+编码打印工时/converting良率*编码打印费率");
return null;
}
@Override
public BigDecimal computeFOH() {
BigDecimal decimal = super.compute();
System.out.println("(converting工时-后道检品工时-编码打印工时-1/7000*1000)/converting良率*后道费率+编码打印工时/converting良率*编码打印费率");
return null;
}
}

29
src/main/java/com/xujie/sys/modules/quote/strategy/impl/BondingParisCompute.java

@ -0,0 +1,29 @@
package com.xujie.sys.modules.quote.strategy.impl;
import com.xujie.sys.modules.quote.strategy.base.BaseBondingParisCompute;
import java.math.BigDecimal;
public class BondingParisCompute extends BaseBondingParisCompute {
@Override
public BigDecimal computeDL() {
return this.compute();
}
@Override
public BigDecimal computeVOH() {
return this.compute();
}
@Override
public BigDecimal computeFOH() {
return this.compute();
}
@Override
public BigDecimal compute() {
BigDecimal decimal = super.compute();
System.out.println("+(converting工时/converting良率*后道费率)");
return null;
}
}

31
src/main/java/com/xujie/sys/modules/quote/strategy/impl/BondingParisPrintCompute.java

@ -0,0 +1,31 @@
package com.xujie.sys.modules.quote.strategy.impl;
import com.xujie.sys.modules.quote.strategy.base.BaseBondingParisCompute;
import java.math.BigDecimal;
public class BondingParisPrintCompute extends BaseBondingParisCompute {
@Override
public BigDecimal computeDL() {
BigDecimal decimal = super.compute();
System.out.println("(converting工时一后道检品工时-编码打印工时)/converting良率*后道费率)+后道检品工时/converting良率*编码打印费率+编码打印工时/converting良率*编码打印费率");
return null;
}
@Override
public BigDecimal computeVOH() {
return this.compute();
}
@Override
public BigDecimal computeFOH() {
return this.compute();
}
@Override
public BigDecimal compute() {
BigDecimal decimal = super.compute();
System.out.println("(converting工时-后道检品工时 编码打印工时)/converting良率*后道费率)+ 编码打印工时/converting良率*编码打印费率");
return null;
}
}

31
src/main/java/com/xujie/sys/modules/quote/strategy/impl/BondingTalAfterCompute.java

@ -0,0 +1,31 @@
package com.xujie.sys.modules.quote.strategy.impl;
import com.xujie.sys.modules.quote.strategy.base.BaseBondingTalCompute;
import java.math.BigDecimal;
public class BondingTalAfterCompute extends BaseBondingTalCompute {
@Override
public BigDecimal computeDL() {
return this.compute();
}
@Override
public BigDecimal computeVOH() {
return this.compute();
}
@Override
public BigDecimal computeFOH() {
BigDecimal decimal = super.compute();
System.out.println("{bonding工时/bonding良率/converting良率 +(converting工时-1/7000*1000)/converting良率}*后道费率");
return null;
}
public BigDecimal compute(){
BigDecimal compute = super.compute();
System.out.println("(bonding工时/bonding良率/converting良率+converting工时/converting良率)*后道费率");
return null;
}
}

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

@ -0,0 +1,30 @@
package com.xujie.sys.modules.quote.strategy.impl;
import com.xujie.sys.modules.quote.strategy.base.BaseBondingTalCompute;
import java.math.BigDecimal;
public class BondingTalAfterPrintCompute extends BaseBondingTalCompute {
@Override
public BigDecimal computeDL() {
BigDecimal decimal = super.compute();
System.out.println("+(bonding工时/bonding良率/converting良率 +{(converting工时-后道检品工时-编码打印工时)/converting良率)*后道费率 + 后道检品工时/converting良率*编码打印费率 + 编码打印工时/converting良率*编码打印费率");
return null;
}
@Override
public BigDecimal computeVOH() {
BigDecimal decimal = super.compute();
System.out.println("+(bonding工时/bonding良率/converting良率 +{(converting工时-后道检品工时-编码打印工时)/converting良率)*后道费率 +编码打印工时/converting良率*编码打印费率");
return null;
}
@Override
public BigDecimal computeFOH() {
BigDecimal decimal = super.compute();
System.out.println("+(bonding工时/bonding良率/converting良率+{(converting,工时-后道检品工时-编码打印工时-1/70*10)/converting良率}*后道费率 + 编码打印工时/converting良率*编码打印费率");
return null;
}
}

28
src/main/java/com/xujie/sys/modules/quote/strategy/impl/BondingTalCompute.java

@ -0,0 +1,28 @@
package com.xujie.sys.modules.quote.strategy.impl;
import com.xujie.sys.modules.quote.strategy.base.BaseBondingTalCompute;
import java.math.BigDecimal;
public class BondingTalCompute extends BaseBondingTalCompute {
@Override
public BigDecimal computeDL() {
return this.compute();
}
@Override
public BigDecimal computeVOH() {
return this.compute();
}
@Override
public BigDecimal computeFOH() {
return this.compute();
}
public BigDecimal compute(){
BigDecimal decimal = super.compute();
System.out.println("(bonding工时/bonding良率/converting良率+converting工时/converting良率)*后道费率");
return null;
}
}

31
src/main/java/com/xujie/sys/modules/quote/strategy/impl/BondingTalPrintCompute.java

@ -0,0 +1,31 @@
package com.xujie.sys.modules.quote.strategy.impl;
import com.xujie.sys.modules.quote.strategy.base.BaseBondingTalCompute;
import java.math.BigDecimal;
public class BondingTalPrintCompute extends BaseBondingTalCompute {
@Override
public BigDecimal computeDL() {
BigDecimal decimal = super.compute();
System.out.println("+(bonding工时/bonding良率/converting良率 +{converting工时-后道检品工时-编码打印工时)/converting良率}*后道费率 + 后道检品工时/converting良率*编码打印费率 + 编码打印工时/converting良率*编码打印费率");
return null;
}
@Override
public BigDecimal computeVOH() {
return this.compute();
}
@Override
public BigDecimal computeFOH() {
return this.compute();
}
@Override
public BigDecimal compute() {
BigDecimal decimal = super.compute();
System.out.println("+(bonding工时/bonding良率/converting良率+{(converting工时-后道检品工时-编码打印工时)/converting良率)*后道费率 +编码打印工时/converting良率*编码打印费率");
return null;
}
}

28
src/main/java/com/xujie/sys/modules/quote/strategy/impl/DryBondingParisCompute.java

@ -0,0 +1,28 @@
package com.xujie.sys.modules.quote.strategy.impl;
import com.xujie.sys.modules.quote.strategy.base.BaseDryBondingCompute;
import java.math.BigDecimal;
public class DryBondingParisCompute extends BaseDryBondingCompute {
@Override
public BigDecimal computeDL() {
return this.compute();
}
@Override
public BigDecimal computeVOH() {
return this.compute();
}
@Override
public BigDecimal computeFOH() {
return this.compute();
}
public BigDecimal compute(){
BigDecimal decimal = super.compute();
System.out.println("+(bonding工时-Paris Bonding工时)/bonding良率*后道费率+Paris Bonding工时/后道费率*Paris费率");
return null;
}
}

28
src/main/java/com/xujie/sys/modules/quote/strategy/impl/DryBondingTalCompute.java

@ -0,0 +1,28 @@
package com.xujie.sys.modules.quote.strategy.impl;
import com.xujie.sys.modules.quote.strategy.base.BaseDryBondingCompute;
import java.math.BigDecimal;
public class DryBondingTalCompute extends BaseDryBondingCompute {
@Override
public BigDecimal computeDL() {
return this.compute();
}
@Override
public BigDecimal computeVOH() {
return this.compute();
}
@Override
public BigDecimal computeFOH() {
return this.compute();
}
public BigDecimal compute(){
BigDecimal decimal = super.compute();
System.out.println("+bonding工时/bonding良率*后道费率");
return null;
}
}
Loading…
Cancel
Save