From ea23765d50e3282e1d0ec71e8cc956e3b9a01f6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A3=E5=9C=A3=E5=8D=8E?= <752718920@qq.com> Date: Thu, 9 Feb 2023 00:26:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=A1=E9=AA=8C=EF=BC=9A=E5=BA=8F=E5=88=97?= =?UTF-8?q?=E5=8F=B7=E5=8D=95=E6=8D=AE=E5=BD=95=E5=85=A5=E4=B8=AD=EF=BC=8C?= =?UTF-8?q?=E5=95=86=E5=93=81=E6=9D=A1=E7=A0=81=E6=95=B0=E9=87=8F=E4=B8=8E?= =?UTF-8?q?=E5=BA=8F=E5=88=97=E5=8F=B7=E4=B8=8D=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jsh/erp/constants/ExceptionConstants.java | 3 +++ .../jsh/erp/service/depotItem/DepotItemService.java | 13 ++++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/jshERP-boot/src/main/java/com/jsh/erp/constants/ExceptionConstants.java b/jshERP-boot/src/main/java/com/jsh/erp/constants/ExceptionConstants.java index 57bba327..710ab0cc 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/constants/ExceptionConstants.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/constants/ExceptionConstants.java @@ -397,6 +397,9 @@ public class ExceptionConstants { //单据录入-单据明细中必须要有组合件和普通子件 public static final int DEPOT_HEAD_CHECK_ASSEMBLE_EMPTY_CODE = 8000020; public static final String DEPOT_HEAD_CHECK_ASSEMBLE_EMPTY_MSG = "抱歉,单据明细中必须要有组合件和普通子件"; + //单据录入-商品条码XXX的数量与序列号不一致 + public static final int DEPOT_HEAD_SN_NUMBERE_FAILED_CODE = 8000021; + public static final String DEPOT_HEAD_SN_NUMBERE_FAILED_MSG = "抱歉,商品条码:%s的数量与序列号不一致"; /** * 单据明细信息 diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java index 4f098c63..49789879 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java @@ -434,9 +434,16 @@ public class DepotItemService { if (StringUtil.isExist(rowObj.get("snList"))) { depotItem.setSnList(rowObj.getString("snList")); if(StringUtil.isExist(rowObj.get("depotId"))) { - Long depotId = rowObj.getLong("depotId"); - serialNumberService.addSerialNumberByBill(depotHead.getType(), depotHead.getSubType(), - depotHead.getNumber(), materialExtend.getMaterialId(), depotId, depotItem.getSnList()); + String [] snArray = depotItem.getSnList().split(","); + int operNum = rowObj.getInteger("operNumber"); + if(snArray.length == operNum) { + Long depotId = rowObj.getLong("depotId"); + serialNumberService.addSerialNumberByBill(depotHead.getType(), depotHead.getSubType(), + depotHead.getNumber(), materialExtend.getMaterialId(), depotId, depotItem.getSnList()); + } else { + throw new BusinessRunTimeException(ExceptionConstants.DEPOT_HEAD_SN_NUMBERE_FAILED_CODE, + String.format(ExceptionConstants.DEPOT_HEAD_SN_NUMBERE_FAILED_MSG, barCode)); + } } } else { //入库或出库