| 
														
															@@ -1,5 +1,6 @@ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 package com.fs.his.service.impl; 
														 | 
														
														 | 
														
															 package com.fs.his.service.impl; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import java.util.ArrayList; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import java.util.Collections; 
														 | 
														
														 | 
														
															 import java.util.Collections; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import java.util.List; 
														 | 
														
														 | 
														
															 import java.util.List; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import java.util.Objects; 
														 | 
														
														 | 
														
															 import java.util.Objects; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -18,6 +19,7 @@ import org.springframework.stereotype.Service; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.fs.his.mapper.FsAttachmentMapper; 
														 | 
														
														 | 
														
															 import com.fs.his.mapper.FsAttachmentMapper; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.fs.his.domain.FsAttachment; 
														 | 
														
														 | 
														
															 import com.fs.his.domain.FsAttachment; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.fs.his.service.IFsAttachmentService; 
														 | 
														
														 | 
														
															 import com.fs.his.service.IFsAttachmentService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import org.springframework.transaction.annotation.Transactional; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 /** 
														 | 
														
														 | 
														
															 /** 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  * 附件管理Service业务层处理 
														 | 
														
														 | 
														
															  * 附件管理Service业务层处理 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -52,7 +54,20 @@ public class FsAttachmentServiceImpl extends ServiceImpl<FsAttachmentMapper, FsA 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Override 
														 | 
														
														 | 
														
															     @Override 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     public List<FsAttachment> selectFsAttachmentList(FsAttachmentPageParam fsAttachment) { 
														 | 
														
														 | 
														
															     public List<FsAttachment> selectFsAttachmentList(FsAttachmentPageParam fsAttachment) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        return baseMapper.selectFsAttachmentListPage(fsAttachment); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        List<FsAttachment> list = baseMapper.selectFsAttachmentListPage(fsAttachment); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //查询文件夹大小 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        for (FsAttachment attachment : list) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            long size = 0; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if (attachment.getType() == 0){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                FsAttachment queryParam = new FsAttachment(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                queryParam.setParentId(attachment.getAttachmentId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                queryParam.setUserId(attachment.getUserId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                List<FsAttachment> list1 = baseMapper.selectFsAttachmentList(queryParam); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                size = size + attachment.getSize(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        return list; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /** 
														 | 
														
														 | 
														
															     /** 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -62,6 +77,7 @@ public class FsAttachmentServiceImpl extends ServiceImpl<FsAttachmentMapper, FsA 
														 | 
													
												
											
												
													
														| 
														 | 
														
															      * @return 结果 
														 | 
														
														 | 
														
															      * @return 结果 
														 | 
													
												
											
												
													
														| 
														 | 
														
															      */ 
														 | 
														
														 | 
														
															      */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Override 
														 | 
														
														 | 
														
															     @Override 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @Transactional(rollbackFor = Exception.class) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     public R insertFsAttachment(FsAttachment fsAttachment) { 
														 | 
														
														 | 
														
															     public R insertFsAttachment(FsAttachment fsAttachment) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if (fsAttachment.getUserId() == null) { 
														 | 
														
														 | 
														
															         if (fsAttachment.getUserId() == null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             return R.error("未获取到创建人!"); 
														 | 
														
														 | 
														
															             return R.error("未获取到创建人!"); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -86,6 +102,7 @@ public class FsAttachmentServiceImpl extends ServiceImpl<FsAttachmentMapper, FsA 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             //上传类型为文件时可获取为文件名称 
														 | 
														
														 | 
														
															             //上传类型为文件时可获取为文件名称 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             if (StringUtils.isBlank(fileName)) { 
														 | 
														
														 | 
														
															             if (StringUtils.isBlank(fileName)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 fileName = FileNameExtractor.getFileNameFromUrl(fsAttachment.getUrl()); 
														 | 
														
														 | 
														
															                 fileName = FileNameExtractor.getFileNameFromUrl(fsAttachment.getUrl()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                list = selectFsAttachmentList(queryParam); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             if (list != null && !list.isEmpty()) { 
														 | 
														
														 | 
														
															             if (list != null && !list.isEmpty()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 if (fileName.contains(".")) { 
														 | 
														
														 | 
														
															                 if (fileName.contains(".")) { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -125,9 +142,10 @@ public class FsAttachmentServiceImpl extends ServiceImpl<FsAttachmentMapper, FsA 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if (fsAttachment.getParentId() == null) { 
														 | 
														
														 | 
														
															         if (fsAttachment.getParentId() == null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             fsAttachment.setParentId(0L); 
														 | 
														
														 | 
														
															             fsAttachment.setParentId(0L); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        FsAttachment parentItem = new FsAttachment(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if (fsAttachment.getParentId() != 0) { 
														 | 
														
														 | 
														
															         if (fsAttachment.getParentId() != 0) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             //查询父文件是否是文件夹 
														 | 
														
														 | 
														
															             //查询父文件是否是文件夹 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            FsAttachment parentItem = selectFsAttachmentByAttachmentId(fsAttachment.getParentId()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            parentItem = selectFsAttachmentByAttachmentId(fsAttachment.getParentId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             if (parentItem == null) { 
														 | 
														
														 | 
														
															             if (parentItem == null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 return R.error("上级文件夹不存在"); 
														 | 
														
														 | 
														
															                 return R.error("上级文件夹不存在"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } else { 
														 | 
														
														 | 
														
															             } else { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -137,7 +155,15 @@ public class FsAttachmentServiceImpl extends ServiceImpl<FsAttachmentMapper, FsA 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         fsAttachment.setCreateTime(DateUtils.getNowDate()); 
														 | 
														
														 | 
														
															         fsAttachment.setCreateTime(DateUtils.getNowDate()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        return baseMapper.insertFsAttachment(fsAttachment) > 0 ? R.ok() : R.error(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        int i = baseMapper.insertFsAttachment(fsAttachment); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //修改文件夹大小 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (i>0 && fsAttachment.getType() == 1 && fsAttachment.getParentId() != 0) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            Long size = parentItem.getSize(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            parentItem.setSize(size + fsAttachment.getSize()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            parentItem.setUpdateTime(fsAttachment.getCreateTime()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            baseMapper.updateFsAttachment(parentItem); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        return i>0 ? R.ok() : R.error(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /** 
														 | 
														
														 | 
														
															     /** 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -147,9 +173,115 @@ public class FsAttachmentServiceImpl extends ServiceImpl<FsAttachmentMapper, FsA 
														 | 
													
												
											
												
													
														| 
														 | 
														
															      * @return 结果 
														 | 
														
														 | 
														
															      * @return 结果 
														 | 
													
												
											
												
													
														| 
														 | 
														
															      */ 
														 | 
														
														 | 
														
															      */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Override 
														 | 
														
														 | 
														
															     @Override 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    public int updateFsAttachment(FsAttachment fsAttachment) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @Transactional(rollbackFor = Exception.class) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    public R updateFsAttachment(FsAttachment fsAttachment) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (fsAttachment.getUserId() == null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            return R.error("未获取到修改人!"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        FsAttachment oldAttachment = baseMapper.selectFsAttachmentByAttachmentId(fsAttachment.getAttachmentId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (oldAttachment == null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            return R.error("未查到该文件!"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        Integer type = fsAttachment.getType(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (type == null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            type = oldAttachment.getType(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            fsAttachment.setType(type); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (!Objects.equals(oldAttachment.getUserId(), fsAttachment.getUserId()) || !Objects.equals(oldAttachment.getType(), type)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            return R.error("非本人修改/不支持修改文件类型"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //获取文件名 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        String fileName = fsAttachment.getFileName(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //查询文件名是否存在 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        FsAttachment queryParam = new FsAttachment(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (StringUtils.isNotBlank(fileName) && !oldAttachment.getFileName().equals(fileName)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            queryParam.setUserId(fsAttachment.getUserId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            queryParam.setParentId(fsAttachment.getParentId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            queryParam.setType(fsAttachment.getType()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            queryParam.setFileName(fsAttachment.getFileName()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (type == 1) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            //文件 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if (StringUtils.isBlank(fsAttachment.getUrl()) && StringUtils.isBlank(oldAttachment.getUrl())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                return R.error("文件不存在"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            //上传类型为文件时可获取为文件名称 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if (StringUtils.isBlank(fileName) && StringUtils.isBlank(oldAttachment.getFileName())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                fileName = FileNameExtractor.getFileNameFromUrl(fsAttachment.getUrl()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                queryParam.setFileName(fsAttachment.getFileName()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                List<FsAttachment> list = selectFsAttachmentList(queryParam); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if (list != null && !list.isEmpty()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    if (fileName.contains(".")) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        int index = fileName.lastIndexOf("."); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        String name = fileName.substring(0, index); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        fileName = name + "(" + (list.size() + 1) + ")" + "." + fileName.substring(index + 1); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                long size = Objects.requireNonNull(ImageUtils.getImage(fsAttachment.getUrl())).length / 1024; // 单位为 KB 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                fsAttachment.setSize(size); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                fsAttachment.setSize(oldAttachment.getSize()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } else if (type == 0) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            //文件夹 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if (StringUtils.isBlank(fsAttachment.getFileName()) && StringUtils.isBlank(oldAttachment.getFileName())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                return R.error("文件夹名称不能为空"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            queryParam.setFileName(fsAttachment.getFileName()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            List<FsAttachment> list = selectFsAttachmentList(queryParam); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if (list != null && !list.isEmpty()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                fileName = fileName + "(" + (list.size() + 1) + ")"; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } else if (type == 2) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            //体检报告 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if (StringUtils.isBlank(fsAttachment.getUrl()) && StringUtils.isBlank(oldAttachment.getUrl())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                return R.error("体检报告不存在"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if (StringUtils.isBlank(fsAttachment.getFileName()) && StringUtils.isBlank(oldAttachment.getFileName())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                return R.error("名称不能为空"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            List<FsAttachment> list = selectFsAttachmentList(queryParam); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if (list != null && !list.isEmpty()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                fileName = fileName + "(" + (list.size() + 1) + ")"; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        fsAttachment.setFileName(fileName); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (fsAttachment.getParentId() == null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            fsAttachment.setParentId(oldAttachment.getParentId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        FsAttachment parentItem = selectFsAttachmentByAttachmentId(fsAttachment.getParentId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (fsAttachment.getParentId() != null && !fsAttachment.getParentId().equals(oldAttachment.getParentId())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if (fsAttachment.getParentId() != 0) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                //查询父文件是否是文件夹 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if (parentItem == null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    return R.error("上级文件夹不存在"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                } else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    if (parentItem.getType() != 0) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        return R.error("上级文件夹不存在!"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         fsAttachment.setUpdateTime(DateUtils.getNowDate()); 
														 | 
														
														 | 
														
															         fsAttachment.setUpdateTime(DateUtils.getNowDate()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        return baseMapper.updateFsAttachment(fsAttachment); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        int i = baseMapper.updateFsAttachment(fsAttachment); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //修改文件夹大小 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (i>0 && fsAttachment.getType() == 1 && fsAttachment.getParentId() != 0) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            Long size = parentItem.getSize(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            parentItem.setSize(size - oldAttachment.getSize() + fsAttachment.getSize()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            parentItem.setUpdateTime(fsAttachment.getUpdateTime()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            baseMapper.updateFsAttachment(parentItem); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        return i > 0 ? R.ok() : R.error(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /** 
														 | 
														
														 | 
														
															     /** 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -160,6 +292,22 @@ public class FsAttachmentServiceImpl extends ServiceImpl<FsAttachmentMapper, FsA 
														 | 
													
												
											
												
													
														| 
														 | 
														
															      */ 
														 | 
														
														 | 
														
															      */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Override 
														 | 
														
														 | 
														
															     @Override 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     public int deleteFsAttachmentByAttachmentIds(Long[] attachmentIds) { 
														 | 
														
														 | 
														
															     public int deleteFsAttachmentByAttachmentIds(Long[] attachmentIds) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if(attachmentIds != null && attachmentIds.length > 0) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            for (Long attachmentId : attachmentIds) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                FsAttachment fsAttachment = baseMapper.selectFsAttachmentByAttachmentId(attachmentId); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if (fsAttachment != null && fsAttachment.getType() == 1 && fsAttachment.getParentId() != 0) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    FsAttachment folder = baseMapper.selectFsAttachmentByAttachmentId(fsAttachment.getParentId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    if (folder != null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        //修改文件夹大小 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        Long size = folder.getSize(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        folder.setSize(size - fsAttachment.getSize()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        folder.setUpdateTime(DateUtils.getNowDate()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        baseMapper.updateFsAttachment(folder); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         return baseMapper.deleteFsAttachmentByAttachmentIds(attachmentIds); 
														 | 
														
														 | 
														
															         return baseMapper.deleteFsAttachmentByAttachmentIds(attachmentIds); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -171,6 +319,15 @@ public class FsAttachmentServiceImpl extends ServiceImpl<FsAttachmentMapper, FsA 
														 | 
													
												
											
												
													
														| 
														 | 
														
															      */ 
														 | 
														
														 | 
														
															      */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Override 
														 | 
														
														 | 
														
															     @Override 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     public int deleteFsAttachmentByAttachmentId(Long attachmentId) { 
														 | 
														
														 | 
														
															     public int deleteFsAttachmentByAttachmentId(Long attachmentId) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        FsAttachment fsAttachment = baseMapper.selectFsAttachmentByAttachmentId(attachmentId); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (fsAttachment != null && fsAttachment.getType() == 1) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            FsAttachment folder = baseMapper.selectFsAttachmentByAttachmentId(fsAttachment.getParentId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            //修改文件夹大小 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            Long size = folder.getSize(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            folder.setSize(size - fsAttachment.getSize()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            folder.setUpdateTime(DateUtils.getNowDate()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            baseMapper.updateFsAttachment(folder); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         return baseMapper.deleteFsAttachmentByAttachmentId(attachmentId); 
														 | 
														
														 | 
														
															         return baseMapper.deleteFsAttachmentByAttachmentId(attachmentId); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 |