From 97768ade114939b9d979a1b2fcdd24c17248aae3 Mon Sep 17 00:00:00 2001 From: zzs Date: Fri, 14 Feb 2025 10:07:03 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E8=B7=9F=E5=8D=95=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=8E=A7=E5=88=B6=E5=8F=B0=EF=BC=8C=E5=A1=AB=E5=86=99=E5=8F=96?= =?UTF-8?q?=E6=B6=88=E6=95=B0=E9=87=8F=E5=90=8E=EF=BC=8C=E4=B8=8D=E8=83=BD?= =?UTF-8?q?=E6=9C=89=E6=95=B4=E6=9C=BA=E7=94=9F=E4=BA=A7=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (cherry picked from commit 23142ed75e268b15ccfd450f225022b1c5409bd8) --- .../TracktaskconsoleSavevalidator.java | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/main/java/com/yem/wm/im/tracktaskconsole/validator/TracktaskconsoleSavevalidator.java b/src/main/java/com/yem/wm/im/tracktaskconsole/validator/TracktaskconsoleSavevalidator.java index b7c4204a..347e7c42 100644 --- a/src/main/java/com/yem/wm/im/tracktaskconsole/validator/TracktaskconsoleSavevalidator.java +++ b/src/main/java/com/yem/wm/im/tracktaskconsole/validator/TracktaskconsoleSavevalidator.java @@ -5,6 +5,11 @@ import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.entity.ExtendedDataEntity; import kd.bos.entity.validate.AbstractValidator; +import java.math.BigDecimal; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; + /** * @author zhouc * @date 2023/10/11 19:12 @@ -37,6 +42,32 @@ public class TracktaskconsoleSavevalidator extends AbstractValidator { } } } + + StringBuilder sb = new StringBuilder(); + DynamicObjectCollection c = dataEntity.getDynamicObjectCollection("yem_es_materialinfo"); + Map cancelQty = new LinkedHashMap<>(); + for (DynamicObject d : c) { + long id = d.getLong("id"); + BigDecimal cancel_num = d.getBigDecimal("yem_cancel_num"); + if (cancel_num.compareTo(BigDecimal.ZERO) > 0) { + cancelQty.put(id, c.indexOf(d)); + } + } + + DynamicObjectCollection backC = dataEntity.getDynamicObjectCollection("yem_es_salesorder_r"); + for (DynamicObject d : backC) { + long entrtyid = d.getLong("yem_entrtyid"); + if (cancelQty.containsKey(entrtyid)) { + Integer idx = cancelQty.get(entrtyid); + DynamicObjectCollection subC = d.getDynamicObjectCollection("yem_es_salesorder_z"); + if (!subC.isEmpty()) { + sb.append(String.format("商品明细第 %s 行已维护取消数量,不允许维护整机生产信息!", idx + 1)).append("\r\n"); + } + } + } + if (sb.length() > 0) { + this.addErrorMessage(dataEntitie, sb.toString()); + } } } }