diff --git a/main/java/shkd/utils/AttachmentFileUtil.java b/main/java/shkd/utils/AttachmentFileUtil.java index 44d066b..e069086 100644 --- a/main/java/shkd/utils/AttachmentFileUtil.java +++ b/main/java/shkd/utils/AttachmentFileUtil.java @@ -124,6 +124,14 @@ public class AttachmentFileUtil { * @author yuxueliang */ public static boolean saveDirFile2Attchment(String appId, String entity, Object pk, String dirpath, String attachKey, JSONArray filenames) throws Exception { + //先删除合同对应附件面板中已存在的附件,再从nas上传新的附件 + List> contfiles = AttachmentServiceHelper.getAttachments(entity,pk,attachKey); + if(contfiles != null && !contfiles.isEmpty()){ + for (Map attItem : contfiles){ + logger.info(attachKey+"删除附件:"+attItem.get("name")); + AttachmentServiceHelper.remove(entity,pk,attItem.get("uid")); + } + } logger.info("传入的文件夹路径"+dirpath); List> attachments = new ArrayList<>(1); Map attachItem; @@ -178,7 +186,7 @@ public class AttachmentFileUtil { return true; } - /**将文件服务器上某个目录下的所有文件上传至星瀚对应单据附件上 + /**将文件服务器上某个目录下的所有文件上传至星瀚对应单据附件上-由于file server的限制,此方法不可行,无法读取到对应目录 * @param appId 目标单据所属应用标识 * @param entity 目标单据实体标识 * @param pk 目标数据id @@ -247,6 +255,7 @@ public class AttachmentFileUtil { } /**将星瀚nfs上某个目录下的所有文件关联至星瀚对应单据附件上,不需要文件上传 + * 此方法在明确文件路径情况下可行,但是删除时,也会将对应文件删掉,不建议使用 * @param appId 目标单据所属应用标识 * @param entity 目标单据实体标识 * @param pk 目标数据id