update:修改社团管理验收问题

This commit is contained in:
sunzheng
2024-10-12 18:53:38 +08:00
parent 433e03723a
commit 710fa7ca23
7 changed files with 141 additions and 46 deletions
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.*;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Set;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
@@ -107,4 +108,7 @@ public class LawsClub implements Serializable {
@TableField(exist = false)
@ApiModelProperty(value = "公钥")
private String rsaPublicKey;
@TableField(exist = false)
private Set<String> descendantIds;
}
@@ -2,8 +2,12 @@ package com.jero.modules.laws.club.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.modules.laws.club.entity.LawsClub;
import java.util.Set;
/**
* <p>
* 社团管理表 Mapper 接口
@@ -14,4 +18,5 @@ import com.jero.modules.laws.club.entity.LawsClub;
*/
public interface LawsClubMapper extends BaseMapper<LawsClub> {
IPage<LawsClub> queryPageList(Page<LawsClub> page, LawsClub lawsClub);
}
@@ -2,4 +2,34 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.modules.laws.club.mapper.LawsClubMapper">
<select id="queryPageList" resultType="com.jero.modules.laws.club.entity.LawsClub">
SELECT *
FROM laws_club
<where>
<!-- 根据 parentId 查找 -->
<if test="lawsClub.parentId != null and lawsClub.parentId != ''">
( parent_id IN
<foreach item="id" index="index" collection="lawsClub.descendantIds" open="(" separator="," close=")">
#{id}
</foreach>
OR id = #{lawsClub.parentId} )
</if>
<!-- 根据 clubName 模糊查询 -->
<if test="lawsClub.clubName != null and lawsClub.clubName != ''">
AND club_name LIKE CONCAT('%', #{lawsClub.clubName}, '%')
</if>
<!-- 根据 nodeType 模糊查询 -->
<if test="lawsClub.nodeType != null and lawsClub.nodeType != ''">
AND node_type LIKE CONCAT('%', #{lawsClub.nodeType}, '%')
</if>
and del_flag = 0
</where>
<!-- 排序:先显示 id 等于 parentId 的记录,其余按照 create_time 倒序排列 -->
ORDER BY
CASE
WHEN id = #{lawsClub.parentId} THEN 0
ELSE 1
END,
create_time DESC
</select>
</mapper>
@@ -338,7 +338,11 @@ public class LawsClubMeetingServiceImpl extends ServiceImpl<LawsClubMeetingMappe
}
// 校验参会报告
if (StringUtils.isNotBlank(lawsClubMeetingMemberExcel.getMeetingFileId())) {
File file = unZipFileMap.get(lawsClubMeetingMemberExcel.getMeetingFileId());
String fileName = lawsClubMeetingMemberExcel.getMeetingFileId();
if (fileName.contains("/")) {
fileName = fileName.substring(fileName.lastIndexOf("/") + 1);
}
File file = unZipFileMap.get(fileName);
if (Objects.isNull(file)) {
msgSub.append(getErrorMsg(i, "参会报告:" + lawsClubMeetingMemberExcel.getMeetingFileId() + "在压缩包内不存在;"));
}else {
@@ -84,6 +84,8 @@ public class LawsClubServiceImpl extends ServiceImpl<LawsClubMapper, LawsClub> i
private IOSSFileService iossFileService;
@Resource
private ISysUserService sysUserService;
@Resource
private LawsClubMapper lawsClubMapper;
@Override
public List<LawsClubTreeNodeModel> getTreeStructure(String parentId, String nodeType) {
@@ -210,11 +212,11 @@ public class LawsClubServiceImpl extends ServiceImpl<LawsClubMapper, LawsClub> i
if (StringUtils.isBlank(parentId)) {
throw new JeroBootException(ResultCommon.EMPTY_COMMON, "parentId");
}
// 创建 LambdaQueryWrapper 来查询符合条件的记录
LambdaQueryWrapper<LawsClub> lawsClubQueryWrapper = createLawsClubQueryWrapper(lawsClub);
Set<String> descendantIds = findDescendantsIds(lawsClub.getParentId());
lawsClub.setDescendantIds(descendantIds);
// 执行分页查询
Page<LawsClub> page = new Page<>(pageNo, pageSize);
Page<LawsClub> pageResult = page(page, lawsClubQueryWrapper);
IPage<LawsClub> pageResult = lawsClubMapper.queryPageList(page, lawsClub);
// 解密联系方式
List<LawsClub> records = pageResult.getRecords();
for (LawsClub record : records) {
@@ -448,12 +450,21 @@ public class LawsClubServiceImpl extends ServiceImpl<LawsClubMapper, LawsClub> i
@Override
public void exportAll(LawsClub lawsClub, HttpServletRequest request, HttpServletResponse response) {
LambdaQueryWrapper<LawsClub> lawsClubQueryWrapper = createLawsClubQueryWrapper(lawsClub);
String parentId = lawsClub.getParentId();
if (!StringUtils.isBlank(parentId)) {
Set<String> descendantIds = findDescendantsIds(lawsClub.getParentId());
lawsClub.setDescendantIds(descendantIds);
}
Page<LawsClub> page = new Page<>(-1, -1);
IPage<LawsClub> pageResult = lawsClubMapper.queryPageList(page, lawsClub);
List<LawsClub> clubList = pageResult.getRecords();
String selections = request.getParameter("selections");
if(!oConvertUtils.isEmpty(selections)){
lawsClubQueryWrapper.in(LawsClub::getId, Arrays.asList(selections.split(",")));
List<String> selectionIds = Arrays.asList(selections.split(","));
clubList = clubList.stream()
.filter(club -> selectionIds.contains(club.getId()))
.collect(Collectors.toList());
}
List<LawsClub> clubList = list(lawsClubQueryWrapper);
List<LawsClubJoinTeam> lawsClubJoinTeams = new ArrayList<>();
List<LawsClubMeeting> lawsClubMeetings = new ArrayList<>();
List<LawsClubPayment> lawsClubPayments = new ArrayList<>();
@@ -568,14 +579,23 @@ public class LawsClubServiceImpl extends ServiceImpl<LawsClubMapper, LawsClub> i
@Override
public ModelAndView exportTeamXls(LawsClub lawsClub, HttpServletRequest request) {
LambdaQueryWrapper<LawsClub> lawsClubQueryWrapper = createLawsClubQueryWrapper(lawsClub);
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
String parentId = lawsClub.getParentId();
if (!StringUtils.isBlank(parentId)) {
Set<String> descendantIds = findDescendantsIds(lawsClub.getParentId());
lawsClub.setDescendantIds(descendantIds);
}
Page<LawsClub> page = new Page<>(-1, -1);
IPage<LawsClub> pageResult = lawsClubMapper.queryPageList(page, lawsClub);
List<LawsClub> clubList = pageResult.getRecords();
String selections = request.getParameter("selections");
if(!oConvertUtils.isEmpty(selections)){
lawsClubQueryWrapper.in(LawsClub::getId, Arrays.asList(selections.split(",")));
List<String> selectionIds = Arrays.asList(selections.split(","));
clubList = clubList.stream()
.filter(club -> selectionIds.contains(club.getId()))
.collect(Collectors.toList());
}
List<LawsClub> list = list(lawsClubQueryWrapper);
List<String> ids = list.stream().map(LawsClub::getId).collect(Collectors.toList());
List<String> ids = clubList.stream().map(LawsClub::getId).collect(Collectors.toList());
List<LawsClubJoinTeam> excelList = new ArrayList<>();
if (!CollectionUtils.isEmpty(ids)) {
excelList = lawsClubJoinTeamService.list(new LambdaQueryWrapper<LawsClubJoinTeam>().in(LawsClubJoinTeam::getClubId, ids));
@@ -590,14 +610,23 @@ public class LawsClubServiceImpl extends ServiceImpl<LawsClubMapper, LawsClub> i
@Override
public ModelAndView exportPaymentXls(LawsClub lawsClub, HttpServletRequest request) {
LambdaQueryWrapper<LawsClub> lawsClubQueryWrapper = createLawsClubQueryWrapper(lawsClub);
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
String parentId = lawsClub.getParentId();
if (!StringUtils.isBlank(parentId)) {
Set<String> descendantIds = findDescendantsIds(lawsClub.getParentId());
lawsClub.setDescendantIds(descendantIds);
}
Page<LawsClub> page = new Page<>(-1, -1);
IPage<LawsClub> pageResult = lawsClubMapper.queryPageList(page, lawsClub);
List<LawsClub> clubList = pageResult.getRecords();
String selections = request.getParameter("selections");
if(!oConvertUtils.isEmpty(selections)){
lawsClubQueryWrapper.in(LawsClub::getId, Arrays.asList(selections.split(",")));
List<String> selectionIds = Arrays.asList(selections.split(","));
clubList = clubList.stream()
.filter(club -> selectionIds.contains(club.getId()))
.collect(Collectors.toList());
}
List<LawsClub> list = list(lawsClubQueryWrapper);
List<String> ids = list.stream().map(LawsClub::getId).collect(Collectors.toList());
List<String> ids = clubList.stream().map(LawsClub::getId).collect(Collectors.toList());
List<LawsClubPayment> excelList = new ArrayList<>();
if (!CollectionUtils.isEmpty(ids)) {
excelList = lawsClubPaymentService.list(new LambdaQueryWrapper<LawsClubPayment>().in(LawsClubPayment::getClubId, ids));
@@ -612,13 +641,23 @@ public class LawsClubServiceImpl extends ServiceImpl<LawsClubMapper, LawsClub> i
@Override
public void exportMeetingXls(LawsClub lawsClub, HttpServletRequest request, HttpServletResponse response) {
LambdaQueryWrapper<LawsClub> lawsClubQueryWrapper = createLawsClubQueryWrapper(lawsClub);
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
String parentId = lawsClub.getParentId();
if (!StringUtils.isBlank(parentId)) {
Set<String> descendantIds = findDescendantsIds(lawsClub.getParentId());
lawsClub.setDescendantIds(descendantIds);
}
Page<LawsClub> page = new Page<>(-1, -1);
IPage<LawsClub> pageResult = lawsClubMapper.queryPageList(page, lawsClub);
List<LawsClub> clubList = pageResult.getRecords();
String selections = request.getParameter("selections");
if(!oConvertUtils.isEmpty(selections)){
lawsClubQueryWrapper.in(LawsClub::getId, Arrays.asList(selections.split(",")));
List<String> selectionIds = Arrays.asList(selections.split(","));
clubList = clubList.stream()
.filter(club -> selectionIds.contains(club.getId()))
.collect(Collectors.toList());
}
List<LawsClub> list = list(lawsClubQueryWrapper);
List<String> ids = list.stream().map(LawsClub::getId).collect(Collectors.toList());
List<String> ids = clubList.stream().map(LawsClub::getId).collect(Collectors.toList());
List<LawsClubMeeting> excelList = new ArrayList<>();
List<String> fileIdList = new ArrayList<>();
if (!CollectionUtils.isEmpty(ids)) {
@@ -660,15 +699,23 @@ public class LawsClubServiceImpl extends ServiceImpl<LawsClubMapper, LawsClub> i
@Override
public void exportWorkingGroupFileXls(LawsClub lawsClub, HttpServletRequest request, HttpServletResponse response) {
// Step.1 组装查询条件
LambdaQueryWrapper<LawsClub> lawsClubQueryWrapper = createLawsClubQueryWrapper(lawsClub);
//Step.2 AutoPoi 导出Excel
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
String parentId = lawsClub.getParentId();
if (!StringUtils.isBlank(parentId)) {
Set<String> descendantIds = findDescendantsIds(lawsClub.getParentId());
lawsClub.setDescendantIds(descendantIds);
}
Page<LawsClub> page = new Page<>(-1, -1);
IPage<LawsClub> pageResult = lawsClubMapper.queryPageList(page, lawsClub);
List<LawsClub> clubList = pageResult.getRecords();
String selections = request.getParameter("selections");
if(!oConvertUtils.isEmpty(selections)){
lawsClubQueryWrapper.in(LawsClub::getId, Arrays.asList(selections.split(",")));
List<String> selectionIds = Arrays.asList(selections.split(","));
clubList = clubList.stream()
.filter(club -> selectionIds.contains(club.getId()))
.collect(Collectors.toList());
}
List<LawsClub> list = list(lawsClubQueryWrapper);
List<String> ids = list.stream().map(LawsClub::getId).collect(Collectors.toList());
List<String> ids = clubList.stream().map(LawsClub::getId).collect(Collectors.toList());
List<LawsClubWorkingGroupFile> excelList = new ArrayList<>();
if (!CollectionUtils.isEmpty(ids)) {
excelList = lawsClubWorkingGroupFileService.list(new LambdaQueryWrapper<LawsClubWorkingGroupFile>().in(LawsClubWorkingGroupFile::getClubId, ids));
@@ -702,16 +749,23 @@ public class LawsClubServiceImpl extends ServiceImpl<LawsClubMapper, LawsClub> i
@Override
public ModelAndView exportresearchXls(LawsClub lawsClub, HttpServletRequest request) {
// Step.1 组装查询条件
LambdaQueryWrapper<LawsClub> lawsClubQueryWrapper = createLawsClubQueryWrapper(lawsClub);
//Step.2 AutoPoi 导出Excel
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
String parentId = lawsClub.getParentId();
if (!StringUtils.isBlank(parentId)) {
Set<String> descendantIds = findDescendantsIds(lawsClub.getParentId());
lawsClub.setDescendantIds(descendantIds);
}
Page<LawsClub> page = new Page<>(-1, -1);
IPage<LawsClub> pageResult = lawsClubMapper.queryPageList(page, lawsClub);
List<LawsClub> clubList = pageResult.getRecords();
String selections = request.getParameter("selections");
if(!oConvertUtils.isEmpty(selections)){
lawsClubQueryWrapper.in(LawsClub::getId, Arrays.asList(selections.split(",")));
List<String> selectionIds = Arrays.asList(selections.split(","));
clubList = clubList.stream()
.filter(club -> selectionIds.contains(club.getId()))
.collect(Collectors.toList());
}
List<LawsClub> list = list(lawsClubQueryWrapper);
List<String> ids = list.stream().map(LawsClub::getId).collect(Collectors.toList());
List<String> ids = clubList.stream().map(LawsClub::getId).collect(Collectors.toList());
List<LawsClubResearchInformation> excelList = new ArrayList<>();
if (!CollectionUtils.isEmpty(ids)) {
excelList = lawsClubResearchInformationService.list(new LambdaQueryWrapper<LawsClubResearchInformation>().in(LawsClubResearchInformation::getClubId, ids));
@@ -834,10 +888,10 @@ public class LawsClubServiceImpl extends ServiceImpl<LawsClubMapper, LawsClub> i
if (StringUtils.isNotBlank(lawsClubExcel.getClubContact()) && lawsClubExcel.getClubContact().length() > 50) {
msgSub.append(getErrorMsg(i, "社团联系人长度不能超过50;"));
}
// 校验联系方式
// 校验联系电话
String contactNumber = lawsClubExcel.getContactNumber();
if (StringUtils.isNotBlank(contactNumber) && !contactNumber.matches("^(?:(0\\d{2,3}-)?\\d{7,8}|1[3-9]\\d{9})$")) {
msgSub.append(getErrorMsg(i, "联系方式格式不正确;"));
msgSub.append(getErrorMsg(i, "联系电话格式不正确;"));
} else {
lawsClubExcel.setContactNumber(PasswordUtil.encrypt(contactNumber));
}
@@ -214,7 +214,11 @@ public class LawsClubWorkingGroupFileServiceImpl extends ServiceImpl<LawsClubWor
}
// 校验参会报告
if (StringUtils.isNotBlank(lawsClubWorkingGroupFileExcel.getFileId())) {
File file = unZipFileMap.get(lawsClubWorkingGroupFileExcel.getFileId());
String fileName = lawsClubWorkingGroupFileExcel.getFileId();
if (fileName.contains("/")) {
fileName = fileName.substring(fileName.lastIndexOf("/") + 1);
}
File file = unZipFileMap.get(fileName);
if (Objects.isNull(file)) {
msgSub.append(getErrorMsg(i, "参会报告:" + lawsClubWorkingGroupFileExcel.getFileId() + "在压缩包内不存在;"));
}else {
@@ -2,6 +2,7 @@ package com.jero.modules.laws.club.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -9,6 +10,7 @@ import com.jero.common.api.vo.Result;
import com.jero.common.api.vo.ResultCommon;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.oConvertUtils;
import com.jero.modules.laws.club.config.CustomExcelExportStyler;
import com.jero.modules.laws.club.entity.LawsCompanyStandardStatistics;
@@ -43,22 +45,14 @@ public class LawsCompanyStandardStatisticsServiceImpl extends ServiceImpl<LawsCo
@Override
public IPage<LawsCompanyStandardStatistics> queryPageList(LawsCompanyStandardStatistics lawsCompanyStandardStatistics, Integer pageNo, Integer pageSize, HttpServletRequest req) {
LambdaQueryWrapper<LawsCompanyStandardStatistics> lambdaQueryWrapper = new LambdaQueryWrapper<>();
QueryWrapper<LawsCompanyStandardStatistics> queryWrapper = QueryGenerator.initQueryWrapper(lawsCompanyStandardStatistics, req.getParameterMap());
String standardNumberOrName = lawsCompanyStandardStatistics.getStandardNumberOrName();
String stage = lawsCompanyStandardStatistics.getStage();
String standardDrafter = lawsCompanyStandardStatistics.getStandardDrafter();
if (StringUtils.isNotBlank(standardNumberOrName)) {
lambdaQueryWrapper.and(wrapper -> wrapper.like(LawsCompanyStandardStatistics::getStandardNumber, standardNumberOrName).or()
.like(LawsCompanyStandardStatistics::getStandardName, standardNumberOrName));
}
if (StringUtils.isNotBlank(stage)) {
lambdaQueryWrapper.eq(LawsCompanyStandardStatistics::getStage, stage);
}
if (StringUtils.isNotBlank(standardDrafter)) {
lambdaQueryWrapper.like(LawsCompanyStandardStatistics::getStandardDrafter, standardDrafter);
queryWrapper.and(wrapper -> wrapper.like("standard_number", standardNumberOrName).or()
.like("standard_name", standardNumberOrName));
}
Page<LawsCompanyStandardStatistics> page = new Page<>(pageNo, pageSize);
Page<LawsCompanyStandardStatistics> result = page(page, lambdaQueryWrapper);
Page<LawsCompanyStandardStatistics> result = page(page, queryWrapper);
return result;
}