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);