15 changed files with 416 additions and 0 deletions
-
38src/main/java/com/xujie/sys/modules/quote/strategy/ComputeFactory.java
-
13src/main/java/com/xujie/sys/modules/quote/strategy/ComputeStrategy.java
-
23src/main/java/com/xujie/sys/modules/quote/strategy/base/BaseBondingParisCompute.java
-
25src/main/java/com/xujie/sys/modules/quote/strategy/base/BaseBondingTalCompute.java
-
22src/main/java/com/xujie/sys/modules/quote/strategy/base/BaseDryBondingCompute.java
-
31src/main/java/com/xujie/sys/modules/quote/strategy/impl/BondingParisAfterCompute.java
-
28src/main/java/com/xujie/sys/modules/quote/strategy/impl/BondingParisAfterPrintCompute.java
-
29src/main/java/com/xujie/sys/modules/quote/strategy/impl/BondingParisCompute.java
-
31src/main/java/com/xujie/sys/modules/quote/strategy/impl/BondingParisPrintCompute.java
-
31src/main/java/com/xujie/sys/modules/quote/strategy/impl/BondingTalAfterCompute.java
-
30src/main/java/com/xujie/sys/modules/quote/strategy/impl/BondingTalAfterPrintCompute.java
-
28src/main/java/com/xujie/sys/modules/quote/strategy/impl/BondingTalCompute.java
-
31src/main/java/com/xujie/sys/modules/quote/strategy/impl/BondingTalPrintCompute.java
-
28src/main/java/com/xujie/sys/modules/quote/strategy/impl/DryBondingParisCompute.java
-
28src/main/java/com/xujie/sys/modules/quote/strategy/impl/DryBondingTalCompute.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(); |
|||
// } |
|||
} |
|||
@ -0,0 +1,13 @@ |
|||
package com.xujie.sys.modules.quote.strategy; |
|||
|
|||
import java.math.BigDecimal; |
|||
|
|||
public interface ComputeStrategy { |
|||
|
|||
BigDecimal computeDL(); |
|||
|
|||
BigDecimal computeVOH(); |
|||
|
|||
BigDecimal computeFOH(); |
|||
|
|||
} |
|||
@ -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; |
|||
} |
|||
} |
|||
@ -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; |
|||
} |
|||
} |
|||
@ -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; |
|||
} |
|||
} |
|||
@ -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; |
|||
} |
|||
} |
|||
@ -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; |
|||
} |
|||
} |
|||
@ -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; |
|||
} |
|||
} |
|||
@ -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; |
|||
} |
|||
} |
|||
@ -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; |
|||
} |
|||
} |
|||
@ -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; |
|||
} |
|||
|
|||
|
|||
} |
|||
@ -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; |
|||
} |
|||
} |
|||
@ -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; |
|||
} |
|||
} |
|||
@ -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; |
|||
} |
|||
} |
|||
@ -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; |
|||
} |
|||
} |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue