diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/data/controller/PayDataFileController.java b/jero-boot-incoming-payment/src/main/java/com/jero/data/controller/PayDataFileController.java index 4a314a1a..73eb5288 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/data/controller/PayDataFileController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/data/controller/PayDataFileController.java @@ -36,6 +36,7 @@ import io.swagger.annotations.ApiImplicitParams; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.apache.shiro.SecurityUtils; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.transaction.annotation.Transactional; @@ -76,6 +77,7 @@ public class PayDataFileController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(queryFileList2, req.getParameterMap()); - queryWrapper.eq("pd.id",id); + List tree = tree(id, 1); + queryWrapper.in("pd.id",tree); queryWrapper.eq("pd.type",1); queryWrapper.orderByDesc("pf.create_time"); Page page = new Page<>(pageNo, pageSize); @@ -133,34 +136,65 @@ public class PayDataFileController extends JeroController page = new Page<>(pageNo, pageSize); queryWrapper.eq("pd.type",2); queryWrapper.orderByDesc("pf.create_time"); - queryWrapper.eq("pd.id",id); + List tree = tree(id, 2); + queryWrapper.in("pd.id",tree); IPage pageList = payDataFileService.pageDataMeeting(page,queryWrapper); return Result.OK(pageList); } -// -//public List getAllChildrenId(String id){ -// QueryWrapper queryWrapper = new QueryWrapper(); -// List list = payDataDirectoryService.list(queryWrapper); -// List collect = list.stream() -// .filter(payDataDirectory -> "0".equals(payDataDirectory.getParentId())) -// .map(payDataDirectory -> { -// DirectoryToTree directoryToTree = transtoTree(id, list); -// return directoryToTree; -// }).sorted(Comparator.comparing(DirectoryToTree::getSort)) -// .collect(Collectors.toList()); -// return Result.OK(collect); -// -// -//} + + public List tree(String id , int dataType) { + LoginUser sysUser =(LoginUser) SecurityUtils.getSubject().getPrincipal(); + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("type",dataType); + queryWrapper.eq("create_by",sysUser.getUsername()); + ArrayList arrayList = new ArrayList<>(); + arrayList.add(id); + List list = payDataDirectoryService.list(queryWrapper); + List collect = list.stream() + .filter(payDataDirectory -> id.equals(payDataDirectory.getParentId())) + .map(payDataDirectory -> { + arrayList.add(payDataDirectory.getId()); + DirectoryToTree directoryToTree = transtoTree(payDataDirectory, list,arrayList); + return directoryToTree; + }).sorted(Comparator.comparing(DirectoryToTree::getSort)) + .collect(Collectors.toList()); + return arrayList; + } + + /** + * 转换为树 + * @param payDataDirectory 单个节点用于查找其子节点 + * @param list 所以节点集合 + * @return + */ + private DirectoryToTree transtoTree(PayDataDirectory payDataDirectory, List list,List arrayList) { + DirectoryToTree directoryToTree = new DirectoryToTree(); + BeanUtils.copyProperties(payDataDirectory, directoryToTree); + List collect = list.stream() + .filter(payDataDirectory1 -> payDataDirectory.getId().equals(payDataDirectory1.getParentId())) + .map( + + payDataDirectory2 -> { + arrayList.add(payDataDirectory2.getId()); + DirectoryToTree directoryToTree1 = transtoTree(payDataDirectory2, list, arrayList); + return directoryToTree; + } + + ).sorted(Comparator.comparing(PayDataDirectory::getSort)) + .collect(Collectors.toList()); + + directoryToTree.setChildren(collect); + return directoryToTree; + } /** diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/data/controller/PayFileDownloadRecordController.java b/jero-boot-incoming-payment/src/main/java/com/jero/data/controller/PayFileDownloadRecordController.java index 34e5e5a7..2198730f 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/data/controller/PayFileDownloadRecordController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/data/controller/PayFileDownloadRecordController.java @@ -4,6 +4,7 @@ import java.io.*; import java.util.Arrays; import java.util.List; import javax.activation.MimetypesFileTypeMap; +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -20,6 +21,8 @@ import com.jero.data.entity.PayCaseCommitteeSubitem; import com.jero.data.entity.PayDistributionRecord; import com.jero.data.entity.PayFileDownloadRecord; import com.jero.data.service.IPayFileDownloadRecordService; +import com.jero.modules.oss.entity.OSSFile; +import com.jero.modules.oss.service.IOSSFileService; import lombok.extern.slf4j.Slf4j; import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.entity.ExportParams; @@ -47,6 +50,9 @@ public class PayFileDownloadRecordController extends JeroController