From 0427e9fa2284564840ffa44bd8be5a46e6f1468c Mon Sep 17 00:00:00 2001 From: sunzheng Date: Mon, 23 Sep 2024 11:26:53 +0800 Subject: [PATCH] =?UTF-8?q?update:=E6=B7=BB=E5=8A=A0=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E5=89=8D=E7=9A=84=E8=A1=A8=E5=A4=B4=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../laws/club/entity/LawsClubJoinTeam.java | 4 +- .../laws/club/entity/LawsClubMeeting.java | 2 +- .../club/entity/LawsClubMeetingMember.java | 3 +- .../entity/LawsClubResearchInformation.java | 4 +- .../impl/LawsClubJoinTeamServiceImpl.java | 35 ++++++ .../impl/LawsClubMeetingServiceImpl.java | 40 +++++++ .../impl/LawsClubPaymentServiceImpl.java | 25 ++++- ...awsClubResearchInformationServiceImpl.java | 36 ++++++ .../service/impl/LawsClubServiceImpl.java | 103 +++++++++++++++++- .../LawsClubWorkingGroupFileServiceImpl.java | 21 +++- .../club/vo/excel/LawsClubJoinTeamExcel.java | 3 - .../club/vo/excel/LawsClubMeetingExcel.java | 1 - .../club/vo/excel/LawsClubPaymentExcel.java | 3 - .../excel/LawsClubWorkingGroupFileExcel.java | 3 - 14 files changed, 260 insertions(+), 23 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/laws/club/entity/LawsClubJoinTeam.java b/laws-modules/src/main/java/com/jero/modules/laws/club/entity/LawsClubJoinTeam.java index 18e2e5b8..33c38d18 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/club/entity/LawsClubJoinTeam.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/club/entity/LawsClubJoinTeam.java @@ -48,7 +48,7 @@ public class LawsClubJoinTeam implements Serializable { @ApiModelProperty(value = "社团职务担任者id") @Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname") - @Excel(name = "社团职务担任者", width = 20, dicCode = "id", dicText= "realname",dictTable = "sys_user") + @Excel(name = "社团职务担任者", width = 20) private String leadId; @ApiModelProperty(value = "入团经费") @@ -70,7 +70,7 @@ public class LawsClubJoinTeam implements Serializable { private String specializedModule; @ApiModelProperty(value = "申请人的id") - @Excel(name = "申请人", width = 20, dicText = "realname", dicCode = "id", dictTable = "sys_user") + @Excel(name = "申请人", width = 20) @Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname") private String proposerId; diff --git a/laws-modules/src/main/java/com/jero/modules/laws/club/entity/LawsClubMeeting.java b/laws-modules/src/main/java/com/jero/modules/laws/club/entity/LawsClubMeeting.java index c93491f3..1a5ab4f9 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/club/entity/LawsClubMeeting.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/club/entity/LawsClubMeeting.java @@ -69,7 +69,7 @@ public class LawsClubMeeting implements Serializable { @ApiModelProperty(value = "通知人id") @Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname") - @Excel(name = "通知人", width = 20, dicCode = "id", dicText= "realname",dictTable = "sys_user") + @Excel(name = "通知人", width = 20) private String notifierId; @ApiModelProperty(value = "通知部门id") diff --git a/laws-modules/src/main/java/com/jero/modules/laws/club/entity/LawsClubMeetingMember.java b/laws-modules/src/main/java/com/jero/modules/laws/club/entity/LawsClubMeetingMember.java index 10ea99f3..21d0dfef 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/club/entity/LawsClubMeetingMember.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/club/entity/LawsClubMeetingMember.java @@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import java.io.Serializable; import java.util.Date; - import com.fasterxml.jackson.annotation.JsonFormat; import com.jero.common.aspect.annotation.Dict; import io.swagger.annotations.ApiModel; @@ -41,7 +40,7 @@ public class LawsClubMeetingMember implements Serializable { private String meetingId; @ApiModelProperty(value = "参会人员的id") - @Excel(name = "参会人员", width = 20, dicText = "realname", dicCode = "id", dictTable = "sys_user") + @Excel(name = "参会人员", width = 20) @Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname") private String memberId; diff --git a/laws-modules/src/main/java/com/jero/modules/laws/club/entity/LawsClubResearchInformation.java b/laws-modules/src/main/java/com/jero/modules/laws/club/entity/LawsClubResearchInformation.java index e25b5206..48cc2f21 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/club/entity/LawsClubResearchInformation.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/club/entity/LawsClubResearchInformation.java @@ -62,7 +62,7 @@ public class LawsClubResearchInformation implements Serializable { @ApiModelProperty(value = "专业接口人") @Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname") - @Excel(name = "专业接口人", width = 20, dicText = "realname", dicCode = "id", dictTable = "sys_user") + @Excel(name = "专业接口人", width = 20) private String specializedInterfacePerson; @ApiModelProperty(value = "专业模块") @@ -71,7 +71,7 @@ public class LawsClubResearchInformation implements Serializable { private String specializedModule; @ApiModelProperty(value = "反馈人") - @Excel(name = "反馈人", width = 20, dicText = "realname", dicCode = "id", dictTable = "sys_user") + @Excel(name = "反馈人", width = 20) @Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname") private String feedbackPerson; diff --git a/laws-modules/src/main/java/com/jero/modules/laws/club/service/impl/LawsClubJoinTeamServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/club/service/impl/LawsClubJoinTeamServiceImpl.java index dbf94191..0d3b28f8 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/club/service/impl/LawsClubJoinTeamServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/club/service/impl/LawsClubJoinTeamServiceImpl.java @@ -6,6 +6,8 @@ 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.vo.DictModel; +import com.jero.common.util.ImportExcelUtil; +import com.jero.modules.activiti.process.standardinterpret.vo.FlowImportExcel; import com.jero.modules.laws.club.entity.LawsClubJoinTeam; import com.jero.modules.laws.club.mapper.LawsClubJoinTeamMapper; import com.jero.modules.laws.club.service.ILawsClubJoinTeamService; @@ -119,6 +121,8 @@ public class LawsClubJoinTeamServiceImpl extends ServiceImpl lawsClubJoinTeamList = new ArrayList<>(); for (Map.Entry entity : fileMap.entrySet()) { MultipartFile file = entity.getValue();// 获取上传文件对象 + // 校验表头 + excelHeadVerify(file, LawsClubJoinTeamExcel.class, 0 ,0 ); try { ImportParams params = new ImportParams(); params.setNeedSave(true); @@ -180,6 +184,14 @@ public class LawsClubJoinTeamServiceImpl extends ServiceImpl 50) { + msgSub.append(getErrorMsg(i, "入团经费长度不能超过50;")); + } + // 校验社团简介 + if (StringUtils.isNotBlank(lawsClubJoinTeamExcel.getClubProfile()) && lawsClubJoinTeamExcel.getClubProfile().length() > 500) { + msgSub.append(getErrorMsg(i, "社团简介长度不能超过500;")); + } // 校验部门名称 if (StringUtils.isNotBlank(lawsClubJoinTeamExcel.getDepartId())) { List sysDepart = sysDepartService.list(new LambdaQueryWrapper().eq(SysDepart::getDepartName, lawsClubJoinTeamExcel.getDepartId())); @@ -209,6 +221,18 @@ public class LawsClubJoinTeamServiceImpl extends ServiceImpl 50) { + msgSub.append(getErrorMsg(i, "秘书处长度不能超过500;")); + } + // 校验联系人 + if (StringUtils.isNotBlank(lawsClubJoinTeamExcel.getContacts()) && lawsClubJoinTeamExcel.getContacts().length() > 50) { + msgSub.append(getErrorMsg(i, "联系人长度不能超过50;")); + } + // 校验备注 + if (StringUtils.isNotBlank(lawsClubJoinTeamExcel.getRemark()) && lawsClubJoinTeamExcel.getRemark().length() > 500) { + msgSub.append(getErrorMsg(i, "备注长度不能超过500;")); + } if (msgSub.length() > 0) { msg.append(msgSub).append("
"); } @@ -253,4 +277,15 @@ public class LawsClubJoinTeamServiceImpl extends ServiceImpl clazz, int titleRows, int i) { + try { + if (!(boolean) ImportExcelUtil.checkTemplateTitle(file, clazz, titleRows, i)){ + throw new JeroBootException(ResultCommon.IMPORT_TEMPLATE_ERROR); + } + }catch (Exception e) { + e.printStackTrace(); + throw new JeroBootException(ResultCommon.IMPORT_TEMPLATE_ERROR); + } + } + } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/club/service/impl/LawsClubMeetingServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/club/service/impl/LawsClubMeetingServiceImpl.java index efe737c7..a4d2ceae 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/club/service/impl/LawsClubMeetingServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/club/service/impl/LawsClubMeetingServiceImpl.java @@ -7,6 +7,7 @@ import com.jero.common.api.vo.ResultCommon; import com.jero.common.constant.enums.LanguageEnum; import com.jero.common.exception.JeroBootException; import com.jero.common.system.vo.DictModel; +import com.jero.common.util.ImportExcelUtil; import com.jero.common.util.MessageUtils; import com.jero.modules.laws.club.entity.LawsClubMeeting; import com.jero.modules.laws.club.mapper.LawsClubMeetingMapper; @@ -16,6 +17,7 @@ import com.jero.modules.laws.club.utils.ExcelUtil; import com.jero.modules.laws.club.utils.ZipUtils; import com.jero.modules.laws.club.vo.excel.LawsClubMeetingExcel; import com.jero.modules.laws.club.vo.excel.LawsClubMeetingMemberExcel; +import com.jero.modules.laws.club.vo.excel.LawsClubPaymentExcel; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.split.common.FileUnZip; @@ -172,6 +174,10 @@ public class LawsClubMeetingServiceImpl extends ServiceImpl 50) { + msgSub.append(getErrorMsg(i, "会议名称长度不能超过50;")); + } // 校验会议日期 if (StringUtils.isNotBlank(lawsClubMeetingExcel.getMeetingDate())) { try { @@ -232,6 +242,14 @@ public class LawsClubMeetingServiceImpl extends ServiceImpl 50) { + msgSub.append(getErrorMsg(i, "会议费用长度不能超过50;")); + } + // 校验线下/线上地点 + if (StringUtils.isNotBlank(lawsClubMeetingExcel.getMeetingPlace()) && lawsClubMeetingExcel.getMeetingPlace().length() > 50) { + msgSub.append(getErrorMsg(i, "线下/线上地点长度不能超过50;")); + } // 校验计划完成日期 if (StringUtils.isNotBlank(lawsClubMeetingExcel.getPlanCompletionDate())) { try { @@ -278,6 +296,14 @@ public class LawsClubMeetingServiceImpl extends ServiceImpl 50) { + msgSub.append(getErrorMsg(i, "会议组织人长度不能超过50;")); + } + // 校验会议内容 + if (StringUtils.isNotBlank(lawsClubMeetingExcel.getMeetingContent()) && lawsClubMeetingExcel.getMeetingContent().length() > 500) { + msgSub.append(getErrorMsg(i, "会议内容长度不能超过500;")); + } List meetingMemberList = lawsClubMeetingExcel.getMeetingMemberList(); // 校验参会人员的信息 for (LawsClubMeetingMemberExcel lawsClubMeetingMemberExcel : meetingMemberList) { @@ -323,6 +349,9 @@ public class LawsClubMeetingServiceImpl extends ServiceImpl 500) { + msgSub.append(getErrorMsg(i, "备注长度不能超过500;")); + } } if (msgSub.length() > 0) { msg.append(msgSub).append("
"); @@ -461,4 +490,15 @@ public class LawsClubMeetingServiceImpl extends ServiceImpl clazz, int titleRows, int i) { + try { + if (!(boolean) ImportExcelUtil.checkTemplateTitle(file, clazz, titleRows, i)){ + throw new JeroBootException(ResultCommon.IMPORT_TEMPLATE_ERROR); + } + }catch (Exception e) { + e.printStackTrace(); + throw new JeroBootException(ResultCommon.IMPORT_TEMPLATE_ERROR); + } + } + } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/club/service/impl/LawsClubPaymentServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/club/service/impl/LawsClubPaymentServiceImpl.java index 6d6a8cf0..cdfcdae3 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/club/service/impl/LawsClubPaymentServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/club/service/impl/LawsClubPaymentServiceImpl.java @@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.api.vo.Result; import com.jero.common.api.vo.ResultCommon; import com.jero.common.exception.JeroBootException; +import com.jero.common.util.ImportExcelUtil; import com.jero.modules.laws.club.entity.LawsClubPayment; import com.jero.modules.laws.club.mapper.LawsClubPaymentMapper; import com.jero.modules.laws.club.service.ILawsClubPaymentService; import com.jero.modules.laws.club.service.RolePermissionService; import com.jero.modules.laws.club.utils.ExcelUtil; +import com.jero.modules.laws.club.vo.excel.LawsClubJoinTeamExcel; import com.jero.modules.laws.club.vo.excel.LawsClubPaymentExcel; import com.jero.modules.tag.entity.LawsTag; import lombok.SneakyThrows; @@ -65,7 +67,7 @@ public class LawsClubPaymentServiceImpl extends ServiceImpl lawsTags = ExcelUtil.createLawsTags(fieldTxts, mustInputFlags, fieldTypeLists); try (Workbook workbook = ExcelUtil.createWorkBookWithLawsTags(lawsTags, "支付信息", describe); OutputStream out = response.getOutputStream()) { @@ -95,6 +97,8 @@ public class LawsClubPaymentServiceImpl extends ServiceImpl lawsClubPaymentList = new ArrayList<>(); for (Map.Entry entity : fileMap.entrySet()) { MultipartFile file = entity.getValue();// 获取上传文件对象 + // 校验模板表头 + excelHeadVerify(file, LawsClubPaymentExcel.class, 0 ,0); try { ImportParams params = new ImportParams(); params.setNeedSave(true); @@ -134,6 +138,10 @@ public class LawsClubPaymentServiceImpl extends ServiceImpl 50) { + msgSub.append(getErrorMsg(i, "缴费金额长度不能超过50;")); + } // 校验缴费日期格 if (StringUtils.isNotBlank(lawsClubPaymentExcel.getPaymentTime())) { try { @@ -142,6 +150,10 @@ public class LawsClubPaymentServiceImpl extends ServiceImpl 50) { + msgSub.append(getErrorMsg(i, "备注长度不能超过500;")); + } if (msgSub.length() > 0) { msg.append(msgSub).append("
"); } @@ -176,4 +188,15 @@ public class LawsClubPaymentServiceImpl extends ServiceImpl clazz, int titleRows, int i) { + try { + if (!(boolean) ImportExcelUtil.checkTemplateTitle(file, clazz, titleRows, i)){ + throw new JeroBootException(ResultCommon.IMPORT_TEMPLATE_ERROR); + } + }catch (Exception e) { + e.printStackTrace(); + throw new JeroBootException(ResultCommon.IMPORT_TEMPLATE_ERROR); + } + } } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/club/service/impl/LawsClubResearchInformationServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/club/service/impl/LawsClubResearchInformationServiceImpl.java index 7399bd00..671e128b 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/club/service/impl/LawsClubResearchInformationServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/club/service/impl/LawsClubResearchInformationServiceImpl.java @@ -6,11 +6,14 @@ 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.vo.DictModel; +import com.jero.common.util.ImportExcelUtil; import com.jero.modules.laws.club.entity.LawsClubResearchInformation; import com.jero.modules.laws.club.mapper.LawsClubResearchInformationMapper; import com.jero.modules.laws.club.service.ILawsClubResearchInformationService; import com.jero.modules.laws.club.service.RolePermissionService; import com.jero.modules.laws.club.utils.ExcelUtil; +import com.jero.modules.laws.club.vo.excel.LawsClubMeetingExcel; +import com.jero.modules.laws.club.vo.excel.LawsClubPaymentExcel; import com.jero.modules.laws.club.vo.excel.LawsClubResearchInformationExcel; import com.jero.modules.system.entity.SysDepart; import com.jero.modules.system.entity.SysUser; @@ -119,6 +122,8 @@ public class LawsClubResearchInformationServiceImpl extends ServiceImpl lawsClubResearchInformationList = new ArrayList<>(); for (Map.Entry entity : fileMap.entrySet()) { MultipartFile file = entity.getValue();// 获取上传文件对象 + // 校验模板表头 + excelHeadVerify(file, LawsClubResearchInformationExcel.class, 0 ,0); try { ImportParams params = new ImportParams(); params.setNeedSave(true); @@ -164,6 +169,14 @@ public class LawsClubResearchInformationServiceImpl extends ServiceImpl 50) { + msgSub.append(getErrorMsg(i, "名称长度不能超过50;")); + } + // 校验内容 + if (StringUtils.isNotBlank(lawsClubResearchInformationExcel.getResearchContent()) && lawsClubResearchInformationExcel.getResearchContent().length() > 500) { + msgSub.append(getErrorMsg(i, "内容长度不能超过500;")); + } // 校验接收日期 if (StringUtils.isNotBlank(lawsClubResearchInformationExcel.getReceiveDate())) { try { @@ -229,6 +242,18 @@ public class LawsClubResearchInformationServiceImpl extends ServiceImpl 500) { + msgSub.append(getErrorMsg(i, "反馈情况长度不能超过500;")); + } + // 校验盖章流程完成情况 + if (StringUtils.isNotBlank(lawsClubResearchInformationExcel.getSealSituation()) && lawsClubResearchInformationExcel.getSealSituation().length() > 50) { + msgSub.append(getErrorMsg(i, "盖章流程完成情况长度不能超过50;")); + } + // 校验所属设社团 + if (StringUtils.isNotBlank(lawsClubResearchInformationExcel.getClubName()) && lawsClubResearchInformationExcel.getClubName().length() > 50) { + msgSub.append(getErrorMsg(i, "所属设社团长度不能超过50;")); + } // 校验任务来源 if (StringUtils.isNotBlank(lawsClubResearchInformationExcel.getTaskSource())) { String taskSource = clubTaskSourceMap.get(lawsClubResearchInformationExcel.getTaskSource()); @@ -281,4 +306,15 @@ public class LawsClubResearchInformationServiceImpl extends ServiceImpl clazz, int titleRows, int i) { + try { + if (!(boolean) ImportExcelUtil.checkTemplateTitle(file, clazz, titleRows, i)){ + throw new JeroBootException(ResultCommon.IMPORT_TEMPLATE_ERROR); + } + }catch (Exception e) { + e.printStackTrace(); + throw new JeroBootException(ResultCommon.IMPORT_TEMPLATE_ERROR); + } + } } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/club/service/impl/LawsClubServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/club/service/impl/LawsClubServiceImpl.java index 66c203c8..b6394189 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/club/service/impl/LawsClubServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/club/service/impl/LawsClubServiceImpl.java @@ -20,6 +20,8 @@ import com.jero.modules.laws.club.vo.LawsClubTreeNodeModel; import com.jero.modules.laws.club.vo.excel.*; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.service.IOSSFileService; +import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.service.ISysUserService; import com.jero.modules.tag.entity.LawsTag; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; @@ -80,6 +82,8 @@ public class LawsClubServiceImpl extends ServiceImpl i private RedisUtil redisUtil; @Resource private IOSSFileService iossFileService; + @Resource + private ISysUserService sysUserService; @Override public List getTreeStructure(String parentId, String nodeType) { @@ -468,21 +472,56 @@ public class LawsClubServiceImpl extends ServiceImpl i } } List fileIdList = new ArrayList<>(); + List userIds = new ArrayList<>(); List ids = clubList.stream().map(LawsClub::getId).collect(Collectors.toList()); if (!CollectionUtils.isEmpty(ids)) { + // 入团信息 lawsClubJoinTeams = lawsClubJoinTeamService.list(new LambdaQueryWrapper().in(LawsClubJoinTeam::getClubId, ids)); - lawsClubMeetings = lawsClubMeetingService.list(new LambdaQueryWrapper().in(LawsClubMeeting::getClubId, ids)); + List leadIds = lawsClubJoinTeams.stream().map(LawsClubJoinTeam::getLeadId).filter(Objects::nonNull).collect(Collectors.toList()); + List proposerId = lawsClubJoinTeams.stream().map(LawsClubJoinTeam::getProposerId).filter(Objects::nonNull).collect(Collectors.toList()); + userIds.addAll(leadIds); + userIds.addAll(proposerId); + // 支付信息 lawsClubPayments = lawsClubPaymentService.list(new LambdaQueryWrapper().in(LawsClubPayment::getClubId, ids)); + // 参会信息 + lawsClubMeetings = lawsClubMeetingService.list(new LambdaQueryWrapper().in(LawsClubMeeting::getClubId, ids)); + List notifierIds = lawsClubMeetings.stream().map(LawsClubMeeting::getNotifierId).filter(Objects::nonNull).collect(Collectors.toList()); + userIds.addAll(notifierIds); for (LawsClubMeeting lawsClubMeeting : lawsClubMeetings) { List memberList = lawsClubMeetingMemberService.list(new LambdaQueryWrapper().eq(LawsClubMeetingMember::getMeetingId, lawsClubMeeting.getId())); List meetingFileIds = memberList.stream().map(LawsClubMeetingMember::getMeetingFileId).filter(Objects::nonNull).collect(Collectors.toList()); + List memberIds = memberList.stream().map(LawsClubMeetingMember::getMemberId).filter(Objects::nonNull).collect(Collectors.toList()); + userIds.addAll(memberIds); fileIdList.addAll(meetingFileIds); lawsClubMeeting.setMeetingMemberList(memberList); } + // 征集调研信息 + lawsClubResearchInformations = lawsClubResearchInformationService.list(new LambdaQueryWrapper().in(LawsClubResearchInformation::getClubId, ids)); + List interFacePersonIds = lawsClubResearchInformations.stream().map(LawsClubResearchInformation::getSpecializedInterfacePerson).filter(Objects::nonNull).collect(Collectors.toList()); + List feedBackPersonIds = lawsClubResearchInformations.stream().map(LawsClubResearchInformation::getFeedbackPerson).filter(Objects::nonNull).collect(Collectors.toList()); + userIds.addAll(interFacePersonIds); + userIds.addAll(feedBackPersonIds); + // 工作组资料信息 lawsClubWorkingGroupFiles = lawsClubWorkingGroupFileService.list(new LambdaQueryWrapper().in(LawsClubWorkingGroupFile::getClubId, ids)); List fileIds = lawsClubWorkingGroupFiles.stream().map(LawsClubWorkingGroupFile::getFileId).filter(Objects::nonNull).collect(Collectors.toList()); fileIdList.addAll(fileIds); - lawsClubResearchInformations = lawsClubResearchInformationService.list(new LambdaQueryWrapper().in(LawsClubResearchInformation::getClubId, ids)); + // 赋值用户相关字段,变为真实姓名(工作)的格式 + Map userRealNameAndUsernameMap = getUserRealNameAndUsernameMap(userIds); + for (LawsClubJoinTeam lawsClubJoinTeam : lawsClubJoinTeams) { + lawsClubJoinTeam.setLeadId(userRealNameAndUsernameMap.get(lawsClubJoinTeam.getLeadId())); + lawsClubJoinTeam.setProposerId(userRealNameAndUsernameMap.get(lawsClubJoinTeam.getProposerId())); + } + for (LawsClubResearchInformation lawsClubResearchInformation : lawsClubResearchInformations) { + lawsClubResearchInformation.setSpecializedInterfacePerson(userRealNameAndUsernameMap.get(lawsClubResearchInformation.getSpecializedInterfacePerson())); + lawsClubResearchInformation.setFeedbackPerson(userRealNameAndUsernameMap.get(lawsClubResearchInformation.getFeedbackPerson())); + } + for (LawsClubMeeting lawsClubMeeting : lawsClubMeetings) { + lawsClubMeeting.setNotifierId(userRealNameAndUsernameMap.get(lawsClubMeeting.getNotifierId())); + List meetingMemberList = lawsClubMeeting.getMeetingMemberList(); + for (LawsClubMeetingMember lawsClubMeetingMember : meetingMemberList) { + lawsClubMeetingMember.setMemberId(userRealNameAndUsernameMap.get(lawsClubMeetingMember.getMemberId())); + } + } } //导出文件名称 List> sheetList = new ArrayList<>(); @@ -555,6 +594,16 @@ public class LawsClubServiceImpl extends ServiceImpl i if (!CollectionUtils.isEmpty(ids)) { excelList = lawsClubJoinTeamService.list(new LambdaQueryWrapper().in(LawsClubJoinTeam::getClubId, ids)); } + List userIds = new ArrayList<>(); + List leadIds = excelList.stream().map(LawsClubJoinTeam::getLeadId).filter(Objects::nonNull).collect(Collectors.toList()); + List proposerId = excelList.stream().map(LawsClubJoinTeam::getProposerId).filter(Objects::nonNull).collect(Collectors.toList()); + userIds.addAll(leadIds); + userIds.addAll(proposerId); + Map userRealNameAndUsernameMap = getUserRealNameAndUsernameMap(userIds); + for (LawsClubJoinTeam lawsClubJoinTeam : excelList) { + lawsClubJoinTeam.setLeadId(userRealNameAndUsernameMap.get(lawsClubJoinTeam.getLeadId())); + lawsClubJoinTeam.setProposerId(userRealNameAndUsernameMap.get(lawsClubJoinTeam.getProposerId())); + } //导出文件名称 mv.addObject(JeroController.FILE_NAME, "入团信息统计表"); mv.addObject(JeroController.CLASS, LawsClubJoinTeam.class); @@ -596,15 +645,28 @@ public class LawsClubServiceImpl extends ServiceImpl i List ids = list.stream().map(LawsClub::getId).collect(Collectors.toList()); List excelList = new ArrayList<>(); List fileIdList = new ArrayList<>(); + List userIds = new ArrayList<>(); if (!CollectionUtils.isEmpty(ids)) { excelList = lawsClubMeetingService.list(new LambdaQueryWrapper().in(LawsClubMeeting::getClubId, ids)); + List userIds1 = excelList.stream().map(LawsClubMeeting::getNotifierId).filter(Objects::nonNull).collect(Collectors.toList()); + userIds.addAll(userIds1); for (LawsClubMeeting lawsClubMeeting : excelList) { List memberList = lawsClubMeetingMemberService.list(new LambdaQueryWrapper().eq(LawsClubMeetingMember::getMeetingId, lawsClubMeeting.getId())); List meetingFileIds = memberList.stream().map(LawsClubMeetingMember::getMeetingFileId).filter(Objects::nonNull).collect(Collectors.toList()); + List memberIds = memberList.stream().map(LawsClubMeetingMember::getMemberId).filter(Objects::nonNull).collect(Collectors.toList()); + userIds.addAll(memberIds); fileIdList.addAll(meetingFileIds); lawsClubMeeting.setMeetingMemberList(memberList); } } + Map userRealNameAndUsernameMap = getUserRealNameAndUsernameMap(userIds); + for (LawsClubMeeting lawsClubMeeting : excelList) { + lawsClubMeeting.setNotifierId(userRealNameAndUsernameMap.get(lawsClubMeeting.getNotifierId())); + List meetingMemberList = lawsClubMeeting.getMeetingMemberList(); + for (LawsClubMeetingMember lawsClubMeetingMember : meetingMemberList) { + lawsClubMeetingMember.setMemberId(userRealNameAndUsernameMap.get(lawsClubMeetingMember.getMemberId())); + } + } // 生成 Workbook Workbook workbook = ExcelExportUtil.exportExcel(createExportParams("密级:核心商密□普通商密□内部资料■外部公开□", "参会信息"), LawsClubMeeting.class,excelList); try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) { @@ -676,6 +738,16 @@ public class LawsClubServiceImpl extends ServiceImpl i if (!CollectionUtils.isEmpty(ids)) { excelList = lawsClubResearchInformationService.list(new LambdaQueryWrapper().in(LawsClubResearchInformation::getClubId, ids)); } + List userIds = new ArrayList<>(); + List userId1 = excelList.stream().map(LawsClubResearchInformation::getSpecializedInterfacePerson).filter(Objects::nonNull).collect(Collectors.toList()); + List userId2 = excelList.stream().map(LawsClubResearchInformation::getFeedbackPerson).filter(Objects::nonNull).collect(Collectors.toList()); + userIds.addAll(userId1); + userIds.addAll(userId2); + Map userRealNameAndUsernameMap = getUserRealNameAndUsernameMap(userIds); + for (LawsClubResearchInformation lawsClubResearchInformation : excelList) { + lawsClubResearchInformation.setSpecializedInterfacePerson(userRealNameAndUsernameMap.get(lawsClubResearchInformation.getSpecializedInterfacePerson())); + lawsClubResearchInformation.setFeedbackPerson(userRealNameAndUsernameMap.get(lawsClubResearchInformation.getFeedbackPerson())); + } //导出文件名称 mv.addObject(JeroController.FILE_NAME, "征集调研信统计表"); mv.addObject(JeroController.CLASS, LawsClubResearchInformation.class); @@ -770,22 +842,35 @@ public class LawsClubServiceImpl extends ServiceImpl i // 校验节点类型 if (StringUtils.isBlank(lawsClubExcel.getNodeType())) { msgSub.append(getErrorMsg(i, "节点类型不能为空;")); + } else if (lawsClubExcel.getNodeType().length() > 50){ + msgSub.append(getErrorMsg(i, "节点类型长度不能超过50;")); } + // 校验社团名称 if (StringUtils.isBlank(lawsClubExcel.getClubName())) { msgSub.append(getErrorMsg(i, "社团名称不能为空;")); + }else if (lawsClubExcel.getClubName().length() > 50) { + msgSub.append(getErrorMsg(i, "社团名称长度不能超过50;")); }else { - LawsClub lawsClub = getOne(new LambdaQueryWrapper() - .eq(LawsClub::getClubName, lawsClubExcel.getClubName())); + LawsClub lawsClub = getOne(new LambdaQueryWrapper().eq(LawsClub::getClubName, lawsClubExcel.getClubName())); if (!Objects.isNull(lawsClub)) { msgSub.append(getErrorMsg(i, "社团名称已存在;")); } } + // 校验社团地址 + if (StringUtils.isNotBlank(lawsClubExcel.getClubAddress()) && lawsClubExcel.getClubAddress().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, "联系方式格式不正确;")); } else { lawsClubExcel.setContactNumber(PasswordUtil.encrypt(contactNumber)); } + // 校验编号 + if (StringUtils.isNotBlank(lawsClubExcel.getNumber()) && lawsClubExcel.getNumber().length() > 50) { + msgSub.append(getErrorMsg(i, "编号长度不能超过50;")); + } if (msgSub.length() > 0) { msg.append(msgSub).append("
"); } @@ -865,4 +950,14 @@ public class LawsClubServiceImpl extends ServiceImpl i return "第" + (rowIndex + 4) + "行" + errorMsg; } + private Map getUserRealNameAndUsernameMap(List userIds) { + // 假设这里是根据 leadIds 批量查询用户信息的逻辑 + List users = sysUserService.list(new LambdaQueryWrapper().in(SysUser::getId, userIds)); + // 将用户信息拼接为 "realname(username)" 形式 + return users.stream().collect(Collectors.toMap( + SysUser::getId, + user -> user.getRealname() + "(" + user.getUsername() + ")" + )); + } + } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/club/service/impl/LawsClubWorkingGroupFileServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/club/service/impl/LawsClubWorkingGroupFileServiceImpl.java index c1b6319b..91302520 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/club/service/impl/LawsClubWorkingGroupFileServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/club/service/impl/LawsClubWorkingGroupFileServiceImpl.java @@ -6,6 +6,7 @@ import com.jero.common.api.vo.ResultCommon; import com.jero.common.constant.enums.LanguageEnum; import com.jero.common.exception.JeroBootException; import com.jero.common.system.vo.DictModel; +import com.jero.common.util.ImportExcelUtil; import com.jero.common.util.MessageUtils; import com.jero.modules.laws.club.entity.LawsClubWorkingGroupFile; import com.jero.modules.laws.club.mapper.LawsClubWorkingGroupFileMapper; @@ -13,6 +14,9 @@ import com.jero.modules.laws.club.service.ILawsClubWorkingGroupFileService; import com.jero.modules.laws.club.service.RolePermissionService; import com.jero.modules.laws.club.utils.ExcelUtil; import com.jero.modules.laws.club.utils.ZipUtils; +import com.jero.modules.laws.club.vo.excel.LawsClubMeetingExcel; +import com.jero.modules.laws.club.vo.excel.LawsClubPaymentExcel; +import com.jero.modules.laws.club.vo.excel.LawsClubResearchInformationExcel; import com.jero.modules.laws.club.vo.excel.LawsClubWorkingGroupFileExcel; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.service.IOSSFileService; @@ -151,6 +155,10 @@ public class LawsClubWorkingGroupFileServiceImpl extends ServiceImpl excelList = ExcelImportUtil.importExcel(new FileInputStream(templateFile), LawsClubWorkingGroupFileExcel.class, params); @@ -195,7 +203,7 @@ public class LawsClubWorkingGroupFileServiceImpl extends ServiceImpl clazz, int titleRows, int i) { + try { + if (!(boolean) ImportExcelUtil.checkTemplateTitle(file, clazz, titleRows, i)){ + throw new JeroBootException(ResultCommon.IMPORT_TEMPLATE_ERROR); + } + }catch (Exception e) { + e.printStackTrace(); + throw new JeroBootException(ResultCommon.IMPORT_TEMPLATE_ERROR); + } + } } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/club/vo/excel/LawsClubJoinTeamExcel.java b/laws-modules/src/main/java/com/jero/modules/laws/club/vo/excel/LawsClubJoinTeamExcel.java index 382e75b9..a8b034a3 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/club/vo/excel/LawsClubJoinTeamExcel.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/club/vo/excel/LawsClubJoinTeamExcel.java @@ -8,9 +8,6 @@ import java.io.Serializable; @Data public class LawsClubJoinTeamExcel implements Serializable { - @Excel(name = "*社团名称", width = 20) - private String clubId; - @Excel(name = "入团日期", width = 20) private String joinDate; diff --git a/laws-modules/src/main/java/com/jero/modules/laws/club/vo/excel/LawsClubMeetingExcel.java b/laws-modules/src/main/java/com/jero/modules/laws/club/vo/excel/LawsClubMeetingExcel.java index 23a83be2..276fe4e7 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/club/vo/excel/LawsClubMeetingExcel.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/club/vo/excel/LawsClubMeetingExcel.java @@ -8,7 +8,6 @@ import java.util.List; @Data public class LawsClubMeetingExcel implements Serializable { - @Excel(name = "*社团名称", width = 20) private String clubId; @Excel(name = "会议名称", width = 20) diff --git a/laws-modules/src/main/java/com/jero/modules/laws/club/vo/excel/LawsClubPaymentExcel.java b/laws-modules/src/main/java/com/jero/modules/laws/club/vo/excel/LawsClubPaymentExcel.java index 443b4d63..6399de2a 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/club/vo/excel/LawsClubPaymentExcel.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/club/vo/excel/LawsClubPaymentExcel.java @@ -7,9 +7,6 @@ import java.io.Serializable; @Data public class LawsClubPaymentExcel implements Serializable { - @Excel(name = "*社团名称", width = 20) - private String clubId; - @Excel(name = "缴费金额", width = 20) private String paymentAmount; diff --git a/laws-modules/src/main/java/com/jero/modules/laws/club/vo/excel/LawsClubWorkingGroupFileExcel.java b/laws-modules/src/main/java/com/jero/modules/laws/club/vo/excel/LawsClubWorkingGroupFileExcel.java index da0cfc18..e564edcf 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/club/vo/excel/LawsClubWorkingGroupFileExcel.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/club/vo/excel/LawsClubWorkingGroupFileExcel.java @@ -7,9 +7,6 @@ import java.io.Serializable; @Data public class LawsClubWorkingGroupFileExcel implements Serializable { - @Excel(name = "社团名称", width = 20) - private String clubId; - @Excel(name = "文件名称", width = 20) private String fileId;