diff --git a/src/main/java/com/dsic/gj_erp/pc/Constant.java b/src/main/java/com/dsic/gj_erp/pc/Constant.java index 4cab553..519ee2a 100644 --- a/src/main/java/com/dsic/gj_erp/pc/Constant.java +++ b/src/main/java/com/dsic/gj_erp/pc/Constant.java @@ -29,27 +29,29 @@ public interface Constant { @Getter @AllArgsConstructor enum 设备产能{ - 上料01(工序.上料,"上料01","",0,0,200.0,200.0,400), - 抛丸01(工序.抛丸,"抛丸01","",0,0,240.0,286.0,526.0), - 理料01(工序.理料,"理料01","",0,0,240.0,286.0,526.0), - 划线01(工序.划线,"划线01","",0,0,240.0,286.0,526.0), + 上料01(工序.上料,"上料01","",0,0,500.0,400.0,400), + 抛丸01(工序.抛丸,"抛丸01","",0,0,480.0,286.0,526.0), + 理料01(工序.理料,"理料01","",0,0,480.0,286.0,526.0), + 划线01(工序.划线,"划线01","",0,0,480.0,286.0,526.0), - 龙门01(工序.切割,"龙门01","",2.4,3.6,19.6,15.6,25.2), - 火焰01(工序.切割,"火焰01","",0.3,11.15,2.0,0,2.0), + 龙门01(工序.切割,"龙门01","",2.4,3.6,40,15.6,25.2), + 火焰01(工序.切割,"火焰01","",0.3,11.15,40.0,0,2.0), 数控01(工序.切割,"数控01","",1.5,3.0,0,8.5,8.5), - 火焰03(工序.切割, "火焰03", "", 0.3, 11.5, 12.0, 0, 2.0), + 火焰03(工序.切割, "火焰03", "", 0.3, 11.5, 40.0, 0, 2.0), 数控03(工序.切割, "数控03", "", 2.0, 4.2, 0, 14.0, 14.0), - 龙门03(工序.切割, "龙门03", "", 1.6, 3.2, 17.2, 11.2, 18.4), + 龙门03(工序.切割, "龙门03", "", 1.6, 3.2, 40.0, 11.2, 18.4), - 火焰02(工序.切割, "火焰02", "", 0.3, 11.5, 13.9, 0, 3.9), + 火焰02(工序.切割, "火焰02", "", 0.3, 11.5, 40.0, 0, 3.9), 数控02(工序.切割, "数控02", "", 1.4, 3.0, 0, 18.2, 18.2), - 龙门02(工序.切割, "龙门02", "", 2.0, 3.0, 20.0, 13.0, 13.0), + 龙门02(工序.切割, "龙门02", "", 2.0, 3.0, 40.0, 13.0, 13.0), - 坡口01(工序.坡口, "坡口01", "", 2.0, 3.0, 50.0, 13.0, 13.0), - 型材01(工序.型材面板, "型材01", "", 2.0, 3.0, 50.0, 13.0, 13.0), - 曲加工01(工序.曲型, "曲加工01", "", 2.0, 3.0, 10.0, 13.0, 13.0), - 打磨01(工序.打磨, "打磨01", "", 2.0, 3.0, 10.0, 13.0, 13.0), - 未知01(工序.NULL, "未知01", "", 2.0, 3.0, 10.0, 13.0, 13.0), + 坡口01(工序.坡口, "坡口01", "", 2.0, 3.0, 100.0, 13.0, 13.0), + 型材01(工序.型材面板, "型材01", "", 2.0, 3.0, 100.0, 13.0, 13.0), + 曲加工01(工序.曲型, "曲加工01", "", 2.0, 3.0, 100.0, 13.0, 13.0), + 打磨01(工序.打磨, "打磨01", "", 2.0, 3.0, 100.0, 13.0, 13.0), + + 自由边处理01(工序.自由边处理, "自由边处理01", "", 2.0, 3.0, 100.0, 13.0, 13.0), + 未知01(工序.NULL, "未知01", "", 2.0, 3.0, 100.0, 13.0, 13.0), ; public 工序 _工序; public String 设备编号; @@ -69,14 +71,14 @@ public interface Constant { 理料("21"), 划线("01"), 切割("03,04,05,06"), - // 一跨龙门切割("03"),一跨数控切割("04"),二跨数控切割("04"),三跨数控切割("04"),三跨平铁切割("05"),手工切割("06"), + //一跨龙门切割("03"),一跨数控切割("04"),二跨数控切割("04"),三跨数控切割("04"),三跨平铁切割("05"),手工切割("06"), 坡口("08"), 型材面板("17"), 自由边处理("14,15"), 曲型("18"), 打磨("13,16"), 号料("02"), - // 平铁打磨("13"),手工打磨("16"), + //平铁打磨("13"),手工打磨("16"), 倒棱("09"), 切端头("11"), 预配盘(""), diff --git a/src/main/java/com/dsic/gj_erp/pc/DataFactory.java b/src/main/java/com/dsic/gj_erp/pc/DataFactory.java index d26e833..f22a771 100644 --- a/src/main/java/com/dsic/gj_erp/pc/DataFactory.java +++ b/src/main/java/com/dsic/gj_erp/pc/DataFactory.java @@ -24,6 +24,7 @@ import com.dsic.gj_erp.service.jcsj.EmSbcnpService; import com.dsic.gj_erp.service.jcsj.EmSbjbbService; import com.dsic.gj_erp.service.jhgk.DmSygdxqService; import com.google.common.collect.ImmutableMap; +import lombok.extern.slf4j.Slf4j; import java.io.FileOutputStream; import java.io.OutputStream; @@ -38,6 +39,7 @@ import static com.dsic.gj_erp.pc.Constant.工序CD; import static com.dsic.gj_erp.pc.Manager.排产; import static com.dsic.gj_erp.pc.Manager.*; +@Slf4j public class DataFactory { public static void 排产2() { @@ -76,6 +78,9 @@ public class DataFactory { } }); 清理冗余数据(list); + if (Manager.排产结果.size()>0){ + log.info("排产异常--{}个未完整排产,{}",Manager.排产结果.size(),Manager.排产结果); + } } private static void 清理冗余数据(List<钢料需求> list){ @@ -348,6 +353,11 @@ public class DataFactory { .put(Constant.设备产能.打磨01.设备编号, new 设备09打磨(Constant.设备产能.打磨01)) .build(); return new 工序09打磨(_设备); + case 自由边处理: + _设备=ImmutableMap.builder() + .put(Constant.设备产能.自由边处理01.设备编号, new 设备21自由边处理(Constant.设备产能.自由边处理01)) + .build(); + return new 工序21自由边处理(_设备); // case 预配盘: // return new 工序01上料(_工序,_设备); // case 光电结束: diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序21自由边处理.java b/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序21自由边处理.java new file mode 100644 index 0000000..deadfdb --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/pc/dto/gx/工序21自由边处理.java @@ -0,0 +1,33 @@ +package com.dsic.gj_erp.pc.dto.gx; + +import com.dsic.gj_erp.pc.Constant; +import com.dsic.gj_erp.pc.dto.工序产能; +import com.dsic.gj_erp.pc.dto.设备; +import lombok.Getter; +import lombok.Setter; + +import java.util.Map; + +@Getter +@Setter +public class 工序21自由边处理 extends 工序产能 { + public 工序21自由边处理(Map _设备) { + super(Constant.工序.自由边处理,_设备); + } + + @Override + public void 计算工作量() { + this.产能=0; + if (this.白班时长>0){ + this.产能+=this.白班时长*Constant.设备产能.型材01.get白班设备产能()/7.0; + } + if (this.二班时长>0){ + this.产能+=this.二班时长*Constant.设备产能.型材01.get二班设备产能()/7.0; + } + } + + @Override + public void 占用资源(double 所需产能) { + super.占用资源(所需产能); + } +} diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备21自由边处理.java b/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备21自由边处理.java new file mode 100644 index 0000000..8e66bf4 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/pc/dto/sb/设备21自由边处理.java @@ -0,0 +1,11 @@ +package com.dsic.gj_erp.pc.dto.sb; + +import com.dsic.gj_erp.pc.Constant; +import com.dsic.gj_erp.pc.dto.设备; + +public class 设备21自由边处理 extends 设备 { + + public 设备21自由边处理(Constant.设备产能 _设备产能) { + super(_设备产能); + } +} diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java b/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java index e76ef30..39e61a6 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java @@ -50,13 +50,13 @@ public abstract class 套料图工序 implements 套料图工序接口 { this.bom.get已排工序().add(0,_工序); } }); - - if (bom.get已排工序().size()==0) { - Manager.排产结果.add(this.bom); - atomicBoolean.set(true); - } } }); + //排产失败相关记录 + if (bom.get已排工序().size()!=this.工序.size()) { + Manager.排产结果.add(this.bom); + atomicBoolean.set(true); + } } protected boolean 占用资源(Constant.工序 _工序,double 需求数量){