diff --git a/uapbd/src/private/nc/bs/uapbd/task/mes/epic/BomToEpicMesPlugin.java b/uapbd/src/private/nc/bs/uapbd/task/mes/epic/BomToEpicMesPlugin.java index d371d299..2ac8bed7 100644 --- a/uapbd/src/private/nc/bs/uapbd/task/mes/epic/BomToEpicMesPlugin.java +++ b/uapbd/src/private/nc/bs/uapbd/task/mes/epic/BomToEpicMesPlugin.java @@ -23,10 +23,7 @@ import nc.vo.fi.pub.SqlUtils; import nc.vo.org.OrgVO; import nc.vo.pub.BusinessException; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; /** * BOM-艾普MES-定时重推失败的数据 @@ -181,11 +178,20 @@ public class BomToEpicMesPlugin implements IBackgroundWorkPlugin { String cbomid = hvo.getCbomid(); ids.add(cbomid); } + // 定义每批次处理的最大数量 + int batchSize = 500; try { - String inSql = SqlUtils.getInStr("cbomid", ids.toArray(new String[0]), Boolean.TRUE); - String updateSql = "update bd_bom set hvdef19 = '[errorCode]' where " + inSql; - updateSql = updateSql.replace("[errorCode]", errorCode); - int updatedRows = getDao().executeUpdate(updateSql); + List idList = new ArrayList<>(ids); + for (int i = 0; i < idList.size(); i += batchSize) { + // 取出当前批次的ID + List batchIds = idList.subList(i, Math.min(i + batchSize, idList.size())); + String inSql = SqlUtils.getInStr("cbomid", batchIds.toArray(new String[0]), Boolean.TRUE); + String updateSql = "update bd_bom set hvdef19 = '[errorCode]' where " + inSql; + updateSql = updateSql.replace("[errorCode]", errorCode); + // NCCForUAPLogger.debug("EpicMes-handleSyncBomExp-updateSql = " + updateSql); + int updatedRows = getDao().executeUpdate(updateSql); + // NCCForUAPLogger.debug("EpicMes-BOM-handleSyncBomExp-updateRows = " + updatedRows); + } } catch (BusinessException e) { logDl.error("EpicMes-BOM-updateErrorInfo = " + e.getMessage(), e); } diff --git a/uapbd/src/private/nc/bs/uapbd/task/mes/epic/MaterialToEpicMesPlugin.java b/uapbd/src/private/nc/bs/uapbd/task/mes/epic/MaterialToEpicMesPlugin.java index 0e83a4cc..9549604a 100644 --- a/uapbd/src/private/nc/bs/uapbd/task/mes/epic/MaterialToEpicMesPlugin.java +++ b/uapbd/src/private/nc/bs/uapbd/task/mes/epic/MaterialToEpicMesPlugin.java @@ -198,11 +198,22 @@ public class MaterialToEpicMesPlugin implements IBackgroundWorkPlugin { String pkMaterial = vo.getPk_material(); ids.add(pkMaterial); } + // 定义每批次处理的最大数量 + int batchSize = 500; try { - String inSql = SqlUtils.getInStr("pk_material", ids.toArray(new String[0]), Boolean.TRUE); - String updateSql = "update bd_material set def30 = '[errorCode]' where " + inSql; - updateSql = updateSql.replace("[errorCode]", errorCode); - int updatedRows = getDao().executeUpdate(updateSql); + List idList = new ArrayList<>(ids); + for (int i = 0; i < idList.size(); i += batchSize) { + // 取出当前批次的ID + List batchIds = idList.subList(i, Math.min(i + batchSize, idList.size())); + + // 构造并执行SQL + String inSql = SqlUtils.getInStr("pk_material", batchIds.toArray(new String[0]), Boolean.TRUE); + String updateSql = "update bd_material set def30 = '[errorCode]' where " + inSql; + updateSql = updateSql.replace("[errorCode]", errorCode); + // NCCForUAPLogger.debug("EpicMes-handleSyncMaterialExp-updateSql = " + updateSql); + int updatedRows = getDao().executeUpdate(updateSql); + // NCCForUAPLogger.debug("EpicMes-Material-handleSyncMaterialExp-updateRows = " + updatedRows); + } } catch (BusinessException e) { logDl.error("EpicMes-Material-handleSyncMaterialExp = " + e.getMessage(), e); } diff --git a/uapbd/src/private/nc/impl/bd/material/baseinfo/MaterialToGyMesListener.java b/uapbd/src/private/nc/impl/bd/material/baseinfo/MaterialToGyMesListener.java index 778bff1b..011adb29 100644 --- a/uapbd/src/private/nc/impl/bd/material/baseinfo/MaterialToGyMesListener.java +++ b/uapbd/src/private/nc/impl/bd/material/baseinfo/MaterialToGyMesListener.java @@ -38,7 +38,7 @@ import java.util.stream.Stream; * @date 2025/09/11 */ public class MaterialToGyMesListener implements IBusinessListener { - private static final String LOG_INFO_NAME = "gyMesLog"; + private static final String LOG_INFO_NAME = "gymeslog"; private static final Log logger = Log.getInstance(LOG_INFO_NAME); private static final String addUrl = "/bip/order/materialAdd"; private static final String updateUrl = "/bip/order/materialUpdate";