From 744905acca8d26522d068d0acdd5755d0ede37bd Mon Sep 17 00:00:00 2001 From: mzr Date: Mon, 29 Sep 2025 20:53:14 +0800 Subject: [PATCH] =?UTF-8?q?feat(material):=20=E6=94=AF=E6=8C=81=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E5=A4=9A=E4=B8=AAPLM=E6=96=87=E4=BB=B6=E5=B9=B6?= =?UTF-8?q?=E6=89=93=E5=8C=85=E6=88=90ZIP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../action/MaterialPlmDownloadAction.java | 39 ++++++++++--------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/uapbd/src/client/nccloud/web/uapbd/material/action/MaterialPlmDownloadAction.java b/uapbd/src/client/nccloud/web/uapbd/material/action/MaterialPlmDownloadAction.java index e51ebbde..b6b0ba09 100644 --- a/uapbd/src/client/nccloud/web/uapbd/material/action/MaterialPlmDownloadAction.java +++ b/uapbd/src/client/nccloud/web/uapbd/material/action/MaterialPlmDownloadAction.java @@ -170,27 +170,28 @@ public class MaterialPlmDownloadAction implements ICommonAction { logger.error("物料编码 " + materialCode + " 未查询到" + fileType + "类型文件"); return false; } + for (int i = 0; i < jsonArray.size(); i++) { + JSONObject plmFileJson = (JSONObject) jsonArray.get(i); + String objId = plmFileJson.getString("objId"); + if (objId == null || objId.isEmpty()) { + logger.error("物料编码 " + materialCode + " 的" + fileType + "文件ID为空"); + continue; + } - JSONObject plmFileJson = jsonArray.getJSONObject(0); - String objId = plmFileJson.getString("objId"); - if (objId == null || objId.isEmpty()) { - logger.error("物料编码 " + materialCode + " 的" + fileType + "文件ID为空"); - return false; + String name = plmFileJson.getString("name"); + String suffix = plmFileJson.getString("suffix"); + byte[] fileBytes = downloadPlmFileByType(objId, fileType); + if (fileBytes.length == 0) { + logger.error("物料编码 " + materialCode + " 的" + fileType + "文件字节流为空"); + continue; + } + + // 生成带类型标识的文件名,避免重复 + String fname = name + "_" + materialCode + "_" + getTypeName(fileType) + "_" + (index + i) + "." + suffix; + zipStream.putNextEntry(new ZipEntry(fname)); + zipStream.write(fileBytes); + zipStream.closeEntry(); } - - String name = plmFileJson.getString("name"); - String suffix = plmFileJson.getString("suffix"); - byte[] fileBytes = downloadPlmFileByType(objId, fileType); - if (fileBytes.length == 0) { - logger.error("物料编码 " + materialCode + " 的" + fileType + "文件字节流为空"); - return false; - } - - // 生成带类型标识的文件名,避免重复 - String fname = name + "_" + materialCode + "_" + getTypeName(fileType) + "_" + index + "." + suffix; - zipStream.putNextEntry(new ZipEntry(fname)); - zipStream.write(fileBytes); - zipStream.closeEntry(); return true; }