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