From 403461a6d07b170fbf085725951c559065791f9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Wed, 19 Jun 2024 11:48:57 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=B8=B4=E6=97=B6=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dsic/gj_erp/pc/DataFactory.java | 1 + .../java/com/dsic/gj_erp/pc/dto/data/Bom.java | 53 ++++++++++++++++++- .../dsic/gj_erp/pc/dto/套料图工序.java | 2 +- .../java/com/dsic/gj_erp/pc/dto/资源.java | 3 ++ 4 files changed, 57 insertions(+), 2 deletions(-) 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 2b2b635..c429370 100644 --- a/src/main/java/com/dsic/gj_erp/pc/DataFactory.java +++ b/src/main/java/com/dsic/gj_erp/pc/DataFactory.java @@ -63,6 +63,7 @@ public class DataFactory { CountDownLatch latch = new CountDownLatch(钢料需求.getBomList().size()); String xzglxq = 钢料需求.getXzglxq(); String dzglxq = 钢料需求.getDzglxq(); + 钢料需求.getBomList().forEach(bom -> { 套料图工序 _套料图工序 = 套料图工序工厂(bom); diff --git a/src/main/java/com/dsic/gj_erp/pc/dto/data/Bom.java b/src/main/java/com/dsic/gj_erp/pc/dto/data/Bom.java index 9f94c7b..5b769ab 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/data/Bom.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/data/Bom.java @@ -4,6 +4,8 @@ import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSONObject; import com.dsic.gj_erp.bean.jcsj.DmBom; import com.dsic.gj_erp.pc.Constant; +import com.dsic.gj_erp.pc.dto.gx.*; +import com.dsic.gj_erp.pc.dto.sb.*; import com.dsic.gj_erp.pc.dto.设备; import com.dsic.gj_erp.pc.dto.资源; import lombok.Getter; @@ -67,11 +69,60 @@ public class Bom { this.errors.add(ErrorType.需求日期按照中日程计算); } + public void 超出工序产能(Constant.工序 _工序){ + switch (_工序) { + case 上料: + this.errors.add(ErrorType.超出上料工序产能); + break; + case 抛丸: + this.errors.add(ErrorType.超出抛丸工序产能); + break; + case 理料: + this.errors.add(ErrorType.超出理料工序产能); + break; + case 划线: + this.errors.add(ErrorType.超出划线工序产能); + break; + case 切割: + this.errors.add(ErrorType.超出切割工序产能); + break; + case 坡口: + this.errors.add(ErrorType.超出坡口工序产能); + break; + case 型材面板: + this.errors.add(ErrorType.超出型材面板工序产能); + break; + case 曲型: + this.errors.add(ErrorType.超出曲加工工序产能); + break; + case 打磨: + this.errors.add(ErrorType.超出打磨工序产能); + break; + case 自由边处理: + this.errors.add(ErrorType.超出自由边处理工序产能); + break; + case 光电结束: + this.errors.add(ErrorType.超出光电工序产能); + break; + } + } + private enum ErrorType{ 坡口结束日期不满足大组需求期, 没有订货, 订货计划到齐日期格式错误, 上料之前无法到货, - 需求日期按照中日程计算 + 需求日期按照中日程计算, + 超出上料工序产能, + 超出抛丸工序产能, + 超出理料工序产能, + 超出划线工序产能, + 超出切割工序产能, + 超出打磨工序产能, + 超出坡口工序产能, + 超出型材面板工序产能, + 超出曲加工工序产能, + 超出自由边处理工序产能, + 超出光电工序产能 } } 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 7386f6a..83775dd 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/套料图工序.java @@ -32,6 +32,7 @@ public abstract class 套料图工序 implements 套料图工序接口 { protected String dzglxq; protected 钢料需求 _钢料需求; protected Bom bom; + protected double 需求数量 = 1;//默认数量为1,切割处理时候按照实际切割长度计算,切割产能在设备产能中单独计算 protected String 需求日期; protected DateTime _需求日期; protected DmZrcjh 中日程; @@ -83,7 +84,6 @@ public abstract class 套料图工序 implements 套料图工序接口 { bom.没有订货(); } - double 需求数量 = 1;//默认数量为1,切割处理时候按照实际切割长度计算,切割产能在设备产能中单独计算 this.工序.forEach(_工序 -> { 资源 _资源 = this.占用资源2(_工序, 需求数量); 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 1ff81ba..feb798d 100644 --- a/src/main/java/com/dsic/gj_erp/pc/dto/资源.java +++ b/src/main/java/com/dsic/gj_erp/pc/dto/资源.java @@ -35,6 +35,9 @@ public class 资源 { AtomicBoolean atomicBoolean = new AtomicBoolean(false); 工序产能 工序产能 = 工序产能MAP.get(工序); Optional.ofNullable(工序产能).ifPresent(it->{ + if (!it.判断是否可以占用(产能消耗)){ + bom.超出工序产能(工序); + } it.占用资源(产能消耗,bom); 设置套料图所在资源(bom.getTzbh()); atomicBoolean.set(true);