diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupController.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupController.java index 39bffc0d..2ea30a50 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupController.java @@ -466,11 +466,11 @@ public class PayWorkingGroupController extends JeroController { * @param request * @param response */ - void exportAllFile(HttpServletRequest request, HttpServletResponse response); + void exportAllFile(HttpServletRequest request, HttpServletResponse response, PayWorkingGroup payWorkingGroup); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java index 30468a55..f6a205f9 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java @@ -15,11 +15,13 @@ import com.jero.common.exception.JeroBootException; import com.jero.common.service.ContractCreateProjectSendMessageService; import com.jero.common.service.RolePermissionService; import com.jero.common.system.vo.LoginUser; +import com.jero.common.util.oConvertUtils; import com.jero.company.entity.PayContactsManagement; import com.jero.company.service.IPayContactsManagementService; import com.jero.config.StaticConfig; import com.jero.contract.entity.PayIncomeContractAssociated; import com.jero.contract.service.IPayIncomeContractAssociatedService; +import com.jero.mail.commont.constant; import com.jero.meeting.common.MeetingCommon; import com.jero.meeting.entity.PayMeeting; import com.jero.meeting.service.IPayMeetingService; @@ -826,14 +828,41 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl roleCodes = new ArrayList<>(Arrays.asList(sysUser.getRoleCode().split(","))); + //管理员和财务查询全部,其余角色查询自己的 + if(!roleCodes.contains(constant.ADMIN)&&!roleCodes.contains(constant.CWRY)){ + payWorkingGroup.setPrincipalA(sysUser.getId()); + payWorkingGroup.setPrincipalB(sysUser.getId()); + } + } else { + throw new JeroBootException("登录用户角色为空!"); } - List selectionList = Arrays.asList(selections.split(",")); - Set addedEntries = new HashSet<>(); // 用于记录已添加的条目路径 + // 创建一个不分页的 Page 对象 + Page page = new Page<>(-1, -1); + // 处理 workingGroupProject 字段 + String workingGroupProject = payWorkingGroup.getWorkingGroupProject(); + if (StringUtils.isNotBlank(workingGroupProject)) { + payWorkingGroup.setWorkingGroupProject(oConvertUtils.replaceAllPercent(workingGroupProject)); + } + // 查询分页列表 + List pageList = payWorkingGroupService.queryPageList(page, payWorkingGroup).getRecords(); + // 获取前端传递的 selections 参数 + String selections = request.getParameter("selections"); + List ids = pageList.stream() + .map(PayWorkingGroupVO::getId) + .collect(Collectors.toList()); + if (oConvertUtils.isNotEmpty(selections)) { + List selectionList = Arrays.asList(selections.split(",")); + ids.retainAll(selectionList); // 仅保留在 selections 中的 id + } + if (oConvertUtils.isEmpty(ids)) { + throw new JeroBootException("没有工作组文件可以导出!"); + } + Set addedEntries = new HashSet<>(); // 用于记录已添加的条目路径 try (ZipOutputStream zipos = new ZipOutputStream(new BufferedOutputStream(response.getOutputStream()))) { response.reset(); response.setCharacterEncoding("utf-8"); @@ -853,16 +882,16 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl fileList = payWorkingGroupDataFileService.queryListExport(payWorkingGroupDataFile); - PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(projectId); - if (payWorkingGroup == null) { + PayWorkingGroup payWorkingGroupDB = payWorkingGroupService.getById(projectId); + if (payWorkingGroupDB == null) { throw new JeroBootException("工作组不存在!"); } - String groupName = payWorkingGroup.getWorkingGroupProject(); // 获取工作组名称 + String groupName = payWorkingGroupDB.getWorkingGroupProject(); // 获取工作组名称 String groupFolderPath = "工作组资料/" + groupName + "/"; String researchProjectFolderPath = groupFolderPath + "在研项目/"; String otherFilesFolderPath = groupFolderPath + "其他分发资料/"; @@ -959,7 +988,7 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(PayMeeting::getWorkingGroupId, projectId); lambdaQueryWrapper.eq(PayMeeting::getMeetingType, MeetingCommon.WORKING_GROUP_MEETING_INT);