add:社团管理相关代码

This commit is contained in:
sunzheng
2024-09-09 18:16:19 +08:00
parent 76ba22d25d
commit 3d7284736c
47 changed files with 2265 additions and 1 deletions
@@ -219,4 +219,7 @@ public class ResultCommon {
public static final String TREE_NODE_EXISTS = "tree.node.exists";
// 当前节点下存在子集
public static final String NODE_EXIST_SUBSETS = "node.exist.subsets";
}
@@ -0,0 +1,186 @@
package com.jero.modules.laws.club.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.aspect.annotation.DictPoint;
import com.jero.common.system.base.controller.JeroController;
import com.jero.modules.laws.club.entity.LawsClub;
import com.jero.modules.laws.club.service.ILawsClubService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
* <p>
* 社团管理表 前端控制器
* </p>
*
* @author sz
* @since 2024-08-29
*/
@Api(tags="社团管理表")
@RestController
@RequestMapping("/club")
@Slf4j
public class LawsClubController extends JeroController<LawsClub, ILawsClubService> {
@Resource
private ILawsClubService lawsClubService;
/**
* 树形查询
*/
// @AutoLog(value = "社团管理-树形查询")
// @ApiOperation(value="社团管理-树形查询", notes="社团管理-树形查询")
// @GetMapping(value = "/queryTree")
public Result<?> queryTree(@RequestParam(name = "nodeType", required = false, defaultValue = "") String nodeType) {
List<LawsClub> list = lawsClubService.getTree("Part", nodeType);
return Result.OK(list);
}
/**
* 获取子集
* @param parentId
* @param nodeType
* @return
*/
// @AutoLog(value = "社团管理-获取子集")
// @ApiOperation(value = "社团管理-获取子集", notes = "社团管理-获取子集")
// @GetMapping("/getChild")
public Result<?> getChild(@RequestParam("parentId") String parentId,
@RequestParam("nodeType") String nodeType) {
return Result.OK(lawsClubService.getTree(parentId, nodeType));
}
/**
* 树形查询所有
* @param nodeType
* @return
*/
@AutoLog(value = "社团管理-树形查询所有")
@ApiOperation(value="社团管理-树形查询所有", notes="社团管理-树形查询所有")
@GetMapping(value = "/queryTreeAll")
public Result<?> queryTreeAll(@RequestParam(name = "nodeType", required = false, defaultValue = "") String nodeType) {
List<LawsClub> tree = lawsClubService.getTreeStructure("Part", nodeType);
return Result.OK(tree);
}
/**
* 分页列表查询
*
* @return
*/
@AutoLog(value = "社团管理-分页列表查询")
@ApiOperation(value="社团管理-分页列表查询", notes="社团管理-分页列表查询")
@GetMapping(value = "/page")
public Result<?> queryPageList(LawsClub lawsClub,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
IPage<LawsClub> pageList= lawsClubService.queryPageList(lawsClub, pageNo, pageSize, req);
return Result.OK(pageList);
}
/**
* 添加/修改
*
* @param lawsClub
* @return
*/
@AutoLog(value = "社团管理-添加/修改")
@ApiOperation(value="社团管理-添加/修改", notes="社团管理-添加/修改")
@PostMapping(value = "/addOrEdit")
public Result<?> addOrEdit(@RequestBody LawsClub lawsClub) {
return lawsClubService.addOrEdit(lawsClub);
}
/**
* 查看
*/
@AutoLog(value = "社团管理-查看")
@ApiOperation(value="社团管理-查看", notes="社团管理-查看")
@PostMapping(value = "/queryOne")
@DictPoint
public Result<?> queryOne(@RequestBody JSONObject jsonObject) {
String id = jsonObject.getString("id");
return lawsClubService.queryOne(id);
}
/**
* 通过id删除
*/
@AutoLog(value = "社团管理-通过id删除")
@ApiOperation(value="社团管理-通过id删除", notes="社团管理-通过id删除")
@PostMapping(value = "/delete")
public Result<?> delete(@RequestBody JSONObject jsonObject) {
String id = jsonObject.getString("id");
return lawsClubService.delete(id);
}
/**
* 导出全部
*/
@AutoLog(value = "社团管理-导出")
@ApiOperation(value="社团管理-导出", notes="社团管理-导出")
@RequestMapping(value = "/exportXls")
public ModelAndView exportAll(LawsClub lawsClub, HttpServletRequest request) {
return lawsClubService.exportAll(lawsClub,request);
}
/**
* 导出入团信息
*/
@AutoLog(value = "社团管理-导出入团信息")
@ApiOperation(value="社团管理-导出入团信息", notes="社团管理-导出入团信息")
@RequestMapping(value = "/exportTeamXls")
public ModelAndView exportTeamXls(LawsClub lawsClub, HttpServletRequest request) {
return lawsClubService.exportTeamXls(lawsClub,request);
}
/**
* 导出参会信息
*/
@AutoLog(value = "社团管理-导出参会信息")
@ApiOperation(value="社团管理-导出参会信息", notes="社团管理-导出参会信息")
@RequestMapping(value = "/exportMeetingXls")
public ModelAndView exportMeetingXls(LawsClub lawsClub, HttpServletRequest request) {
return lawsClubService.exportMeetingXls(lawsClub,request);
}
/**
* 导出征集调研意见
*/
@AutoLog(value = "社团管理-导出征集调研意见")
@ApiOperation(value="社团管理-导出征集调研意见", notes="社团管理-导出征集调研意见")
@RequestMapping(value = "/exportresearchXls")
public ModelAndView exportresearchXls(LawsClub lawsClub, HttpServletRequest request) {
return lawsClubService.exportresearchXls(lawsClub,request);
}
/**
* 模板下载
*/
@AutoLog(value = "社团管理-导出征集调研意见")
@ApiOperation(value="社团管理-导出征集调研意见", notes="社团管理-导出征集调研意见")
@RequestMapping(value = "/exportTemplate")
public ModelAndView exportTemplate(HttpServletRequest request) {
return lawsClubService.exportTemplate(request);
}
/**
* 导入
*/
@AutoLog(value = "社团管理-导入")
@ApiOperation(value="社团管理-导入", notes="社团管理-导入")
@RequestMapping(value = "/importExcel")
public Result<?> excelimport(HttpServletRequest request) {
return lawsClubService.importExcel(request);
}
}
@@ -0,0 +1,114 @@
package com.jero.modules.laws.club.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jero.common.api.vo.Result;
import com.jero.common.api.vo.ResultCommon;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.modules.laws.club.entity.LawsCompanyStandardStatistics;
import com.jero.modules.laws.club.service.ILawsCompanyStandardStatisticsService;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
* <p>
* 公司参与标准统计表 前端控制器
* </p>
*
* @author sz
* @since 2024-08-28
*/
@RestController
@RequestMapping("/companyStatistics")
public class LawsCompanyStandardStatisticsController {
@Resource
private ILawsCompanyStandardStatisticsService lawsCompanyStandardStatisticsService;
/**
* 分页列表查询
*
* @return
*/
@AutoLog(value = "公司参与标准统计表-分页列表查询")
@ApiOperation(value="公司参与标准统计表-分页列表查询", notes="公司参与标准统计表-分页列表查询")
@GetMapping(value = "/page")
public Result<?> queryPageList(LawsCompanyStandardStatistics lawsCompanyStandardStatistics,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
IPage<LawsCompanyStandardStatistics> pageList= lawsCompanyStandardStatisticsService.queryPageList(lawsCompanyStandardStatistics, pageNo, pageSize, req);
return Result.OK(pageList);
}
/**
* 列表查询
*
* @return
*/
@AutoLog(value = "公司参与标准统计表-列表查询")
@ApiOperation(value="公司参与标准统计表-列表查询", notes="公司参与标准统计表-列表查询")
@GetMapping(value = "/list")
public Result<?> queryList() {
List<LawsCompanyStandardStatistics> list = lawsCompanyStandardStatisticsService.list();
return Result.OK(list);
}
/**
* 添加
*
* @param lawsCompanyStandardStatistics
* @return
*/
@AutoLog(value = "公司参与标准统计表-添加")
@ApiOperation(value="公司参与标准统计表-添加", notes="公司参与标准统计表-添加")
@PostMapping(value = "/add")
public Result<?> add(@RequestBody LawsCompanyStandardStatistics lawsCompanyStandardStatistics) {
return lawsCompanyStandardStatisticsService.add(lawsCompanyStandardStatistics);
}
/**
* 编辑
*
* @param lawsCompanyStandardStatistics
* @return
*/
@AutoLog(value = "公司参与标准统计表-编辑")
@ApiOperation(value="公司参与标准统计表-编辑", notes="公司参与标准统计表-编辑")
@PostMapping(value = "/edit")
public Result<?> edit(@RequestBody LawsCompanyStandardStatistics lawsCompanyStandardStatistics) {
lawsCompanyStandardStatisticsService.updateById(lawsCompanyStandardStatistics);
return Result.OK(ResultCommon.EDIT_OK);
}
/**
* 通过id删除
*/
@AutoLog(value = "公司参与标准统计表-通过id删除")
@ApiOperation(value="公司参与标准统计表-通过id删除", notes="公司参与标准统计表-通过id删除")
@PostMapping(value = "/delete")
public Result<?> delete(@RequestBody JSONObject jsonObject) {
String id = jsonObject.getString("id");
if(StringUtils.isBlank(id)){
return Result.error(ResultCommon.PLEASE_SELECT_DATA);
}
lawsCompanyStandardStatisticsService.removeById(id);
return Result.OK(ResultCommon.OK);
}
/**
* 导出
*/
@AutoLog(value = "公司参与标准统计表-导出")
@ApiOperation(value="公司参与标准统计表-导出", notes="公司参与标准统计表-导出")
@RequestMapping(value = "/exportXls")
public ModelAndView export(LawsCompanyStandardStatistics lawsCompanyStandardStatistics, HttpServletRequest request) {
return lawsCompanyStandardStatisticsService.export(lawsCompanyStandardStatistics, request);
}
}
@@ -0,0 +1,122 @@
package com.jero.modules.laws.club.entity;
import com.baomidou.mybatisplus.annotation.*;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import org.springframework.format.annotation.DateTimeFormat;
/**
* <p>
* 社团管理表
* </p>
*
* @author sz
* @since 2024-08-29
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("laws_club")
@ApiModel(value="LawsClub对象", description="社团管理表")
public class LawsClub implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键")
@TableId(value = "id", type = IdType.ASSIGN_ID)
private String id;
@ApiModelProperty(value = "上级节点id")
@Dict(dictTable = "laws_club", dicCode = "id", dicText = "node_type")
@Excel(name = "上级节点", width = 20, dicText = "node_type", dicCode = "id", dictTable = "laws_club")
private String parentId;
@ApiModelProperty(value = "节点类型")
@Excel(name = "节点类型", width = 20)
private String nodeType;
@ApiModelProperty(value = "社团名称")
@Excel(name = "社团名称", width = 20)
private String clubName;
@ApiModelProperty(value = "社团地址")
@Excel(name = "社团地址", width = 20)
private String clubAddress;
@ApiModelProperty(value = "社团联系人")
@Excel(name = "社团联系人", width = 20)
private String clubContact;
@ApiModelProperty(value = "联系电话")
@Excel(name = "联系电话", width = 20)
private String contactNumber;
@ApiModelProperty(value = "0表示未删除,1表示删除")
@TableLogic(value = "0", delval = "1")
private Integer delFlag;
@ApiModelProperty(value = "创建人")
private String createBy;
@ApiModelProperty(value = "创建时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date createTime;
@ApiModelProperty(value = "更新人")
private String updateBy;
@ApiModelProperty(value = "更新时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date updateTime;
@ApiModelProperty(value = "是否是叶子节点")
@TableField(exist = false)
private boolean leafFlag;
@TableField(exist = false)
@ApiModelProperty(value = "入团信息列表数据")
@ExcelCollection(name = "入团信息")
private List<LawsClubJoinTeam> lawsClubJoinTeamList;
@TableField(exist = false)
@ApiModelProperty(value = "支付信息列表数据")
private List<LawsClubPayment> lawsClubPayments;
@TableField(exist = false)
@ApiModelProperty(value = "参会信息列表数据")
@ExcelCollection(name = "参会信息")
private List<LawsClubMeeting> lawsClubMeetings;
@TableField(exist = false)
@ApiModelProperty(value = "工作组资料列表数据")
private List<LawsClubWorkingGroupFile> lawsClubWorkingGroupFiles;
@TableField(exist = false)
@ApiModelProperty(value = "征集调研信息列表数据")
@ExcelCollection(name = "征集调研信息")
private List<LawsClubResearchInformation> lawsClubResearchInformations;
@TableField(exist = false)
@ApiModelProperty(value = "子节点")
private List<LawsClub> children;
@TableField(exist = false)
@ApiModelProperty(value = "公钥")
private String rsaPublicKey;
}
@@ -0,0 +1,116 @@
package com.jero.modules.laws.club.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDate;
import java.time.LocalDateTime;
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;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
/**
* <p>
* 社团管理-入团信息表
* </p>
*
* @author sz
* @since 2024-08-29
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("laws_club_join_team")
@ApiModel(value="LawsClubJoinTeam对象", description="社团管理-入团信息表")
public class LawsClubJoinTeam implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键")
@TableId(value = "id", type = IdType.ASSIGN_ID)
private String id;
@ApiModelProperty(value = "社团id")
private String clubId;
@ApiModelProperty(value = "入团日期")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@Excel(name = "入团日期", width = 20, format = "yyyy-MM-dd")
private Date joinDate;
@ApiModelProperty(value = "社团职务担任者id")
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
// @Excel(name = "社团职务担任者", width = 20, dicText = "realname", dicCode = "id", dictTable = "sys_user")
private String leadId;
@ApiModelProperty(value = "入团经费")
// @Excel(name = "入团经费", width = 20)
private String joinCast;
@ApiModelProperty(value = "社团简介")
// @Excel(name = "社团简介", width = 20)
private String clubProfile;
@ApiModelProperty(value = "部门id")
@Excel(name = "部门名称", width = 20, dicText = "depart_name", dicCode = "id", dictTable = "sys_depart")
private String departId;
@ApiModelProperty(value = "专业模块")
private String specializedModule;
@ApiModelProperty(value = "申请人的id")
@Excel(name = "申请人", width = 20, dicText = "realname", dicCode = "id", dictTable = "sys_user")
private String proposerId;
@ApiModelProperty(value = "秘书处")
// @Excel(name = "秘书处", width = 20)
private String secretariat;
@ApiModelProperty(value = "联系人")
// @Excel(name = "联系人", width = 20)
private String contacts;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "创建人")
private String createBy;
@ApiModelProperty(value = "创建时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date createTime;
@ApiModelProperty(value = "更新人")
private String updateBy;
@ApiModelProperty(value = "更新时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date updateTime;
@ApiModelProperty(value = "社团职务担任者名称")
@TableField(exist = false)
private String leadIdText;
@ApiModelProperty(value = "部门名称")
@TableField(exist = false)
private String departText;
@ApiModelProperty(value = "申请人名称")
@TableField(exist = false)
private String proposerText;
}
@@ -0,0 +1,117 @@
package com.jero.modules.laws.club.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDate;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import org.springframework.format.annotation.DateTimeFormat;
/**
* <p>
* 社团管理-参会信息
* </p>
*
* @author sz
* @since 2024-08-29
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("laws_club_meeting")
@ApiModel(value="LawsClubMeeting对象", description="社团管理-参会信息")
public class LawsClubMeeting implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键")
@TableId(value = "id", type = IdType.ASSIGN_ID)
private String id;
@ApiModelProperty(value = "社团id")
private String clubId;
@ApiModelProperty(value = "会议名称")
@Excel(name = "会议名称", width = 20)
private String meetingName;
@ApiModelProperty(value = "会议日期")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@Excel(name = "会议日期", width = 20, format = "yyyy-MM-dd")
private Date meetingDate;
@ApiModelProperty(value = "会议费用")
@Excel(name = "会议费用", width = 20)
private String meetingCost;
@ApiModelProperty(value = "线下/线上地点")
@Excel(name = "线下/线上地点", width = 20)
private String meetingPlace;
@ApiModelProperty(value = "计划完成日期")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
// @Excel(name = "计划完成日期", width = 20, format = "yyyy-MM-dd")
private Date planCompletionDate;
@ApiModelProperty(value = "通知人id")
// @Excel(name = "通知人", width = 20, dicText = "realname", dicCode = "id", dictTable = "sys_user")
private String notifierId;
@ApiModelProperty(value = "通知部门id")
// @Excel(name = "部门名称", width = 20, dicText = "depart_name", dicCode = "id", dictTable = "sys_depart")
private String notifyDepartId;
@ApiModelProperty(value = "通知部门专业模块")
// @Excel(name = "参会部门专业模块", width = 20, dicCode = "professional_module")
private String informSpecializedModule;
@ApiModelProperty(value = "是否宣贯 0-否 1-是")
// @Excel(name = "参会部门专业模块", width = 20, dicCode = "yn")
private String isPublicize;
@ApiModelProperty(value = "会议组织人")
// @Excel(name = "会议组织人", width = 20)
private String meetingOrganizer;
@ApiModelProperty(value = "会议内容")
// @Excel(name = "会议内容", width = 20)
private String meetingContent;
@ApiModelProperty(value = "创建人")
private String createBy;
@ApiModelProperty(value = "创建时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date createTime;
@ApiModelProperty(value = "更新人")
private String updateBy;
@ApiModelProperty(value = "更新时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date updateTime;
@TableField(exist = false)
@ApiModelProperty(value = "会议成员列表")
// @ExcelCollection(name = "会议成员列表")
private List<LawsClubMeetingMember> meetingMemberList;
}
@@ -0,0 +1,78 @@
package com.jero.modules.laws.club.entity;
import com.baomidou.mybatisplus.annotation.TableName;
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;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
/**
* <p>
* 社团管理-参会信息-人员
* </p>
*
* @author sz
* @since 2024-08-29
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("laws_club_meeting_member")
@ApiModel(value="LawsClubMeetingMember对象", description="社团管理-参会信息-人员")
public class LawsClubMeetingMember implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键")
@TableId(value = "id", type = IdType.ASSIGN_ID)
private String id;
@ApiModelProperty(value = "关联会议的id")
private String meetingId;
@ApiModelProperty(value = "参会人员的id")
@Excel(name = "参会人员", width = 20, dicText = "realname", dicCode = "id", dictTable = "sys_user")
private String memberId;
@ApiModelProperty(value = "参会部门专业模块")
@Excel(name = "参会部门专业模块", dicCode = "professional_module")
private String meetingSpecializedModule;
@ApiModelProperty(value = "参会部门的id")
@Excel(name = "参会部门", width = 20, dicText = "depart_name", dicCode = "id", dictTable = "sys_depart")
private String departId;
@ApiModelProperty(value = "参会报告文件id")
@Excel(name = "参会报告文件", width = 20)
private String meetingFileId;
@ApiModelProperty(value = "备注")
@Excel(name = "备注", width = 20)
private String remark;
@ApiModelProperty(value = "创建人")
private String createBy;
@ApiModelProperty(value = "创建时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date createTime;
@ApiModelProperty(value = "更新人")
private String updateBy;
@ApiModelProperty(value = "更新时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date updateTime;
}
@@ -0,0 +1,71 @@
package com.jero.modules.laws.club.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDate;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
/**
* <p>
* 社团管理-支付信息
* </p>
*
* @author sz
* @since 2024-08-29
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("laws_club_payment")
@ApiModel(value="LawsClubPayment对象", description="社团管理-支付信息")
public class LawsClubPayment implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键")
@TableId(value = "id", type = IdType.ASSIGN_ID)
private String id;
@ApiModelProperty(value = "社团id")
private String clubId;
@ApiModelProperty(value = "缴费金额")
private String paymentAmount;
@ApiModelProperty(value = "缴费时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date paymentTime;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "创建人")
private String createBy;
@ApiModelProperty(value = "创建时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date createTime;
@ApiModelProperty(value = "更新人")
private String updateBy;
@ApiModelProperty(value = "更新时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date updateTime;
}
@@ -0,0 +1,108 @@
package com.jero.modules.laws.club.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDate;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
/**
* <p>
* 征集调研信息表
* </p>
*
* @author sz
* @since 2024-08-29
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("laws_club_research_information")
@ApiModel(value="LawsClubResearchInformation对象", description="征集调研信息表")
public class LawsClubResearchInformation implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键")
@TableId(value = "id", type = IdType.ASSIGN_ID)
private String id;
@ApiModelProperty(value = "社团id")
private String clubId;
@ApiModelProperty(value = "名称")
@Excel(name = "名称", width = 20)
private String researchName;
@ApiModelProperty(value = "内容")
@Excel(name = "内容", width = 20)
private String researchContent;
@ApiModelProperty(value = "接收日期")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@Excel(name = "接收日期", width = 20, format = "yyyy-MM-dd")
private Date receiveDate;
@ApiModelProperty(value = "截止日期")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@Excel(name = "截止日期", width = 20, format = "yyyy-MM-dd")
private Date deadlineDate;
@ApiModelProperty(value = "专业接口人")
private String specializedInterfacePerson;
@ApiModelProperty(value = "专业模块")
private String specializedModule;
@ApiModelProperty(value = "反馈人")
private String feedbackPerson;
@ApiModelProperty(value = "反馈部门")
private String feedbackDepart;
@ApiModelProperty(value = "反馈部门专业模块")
private String feedbackSpecializedModule;
@ApiModelProperty(value = "反馈情况")
private String feedbackSituation;
@ApiModelProperty(value = "任务来源")
private String taskSource;
@ApiModelProperty(value = "盖章流程完成情况")
private String sealSituation;
@ApiModelProperty(value = "所属社团")
private String clubName;
@ApiModelProperty(value = "创建人")
private String createBy;
@ApiModelProperty(value = "创建时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date createTime;
@ApiModelProperty(value = "更新人")
private String updateBy;
@ApiModelProperty(value = "更新时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date updateTime;
}
@@ -0,0 +1,68 @@
package com.jero.modules.laws.club.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
/**
* <p>
* 社团管理-工作组管理
* </p>
*
* @author sz
* @since 2024-08-29
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("laws_club_working_group_file")
@ApiModel(value="LawsClubWorkingGroupFile对象", description="社团管理-工作组管理")
public class LawsClubWorkingGroupFile implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键")
@TableId(value = "id", type = IdType.ASSIGN_ID)
private String id;
@ApiModelProperty(value = "社团id")
private String clubId;
@ApiModelProperty(value = "文件id")
private String fileId;
@ApiModelProperty(value = "文件名称")
private String fileName;
@ApiModelProperty(value = "文件类型")
private String fileType;
@ApiModelProperty(value = "创建人")
private String createBy;
@ApiModelProperty(value = "创建时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date createTime;
@ApiModelProperty(value = "更新人")
private String updateBy;
@ApiModelProperty(value = "更新时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date updateTime;
}
@@ -0,0 +1,98 @@
package com.jero.modules.laws.club.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDate;
import java.time.LocalDateTime;
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;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* <p>
* 公司参与标准统计表
* </p>
*
* @author sz
* @since 2024-08-28
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("laws_company_standard_statistics")
@ApiModel(value="LawsCompanyStandardStatistics对象", description="公司参与标准统计表")
public class LawsCompanyStandardStatistics implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键")
@TableId(value = "id", type = IdType.ASSIGN_ID)
private String id;
@ApiModelProperty(value = "标准编号")
@Excel(name = "标准编号", width = 15)
private String standardNumber;
@ApiModelProperty(value = "标准名称")
@Excel(name = "标准名称", width = 15)
private String standardName;
@ApiModelProperty(value = "标准起草人")
@Excel(name = "标准起草人", width = 15)
private String standardDrafter;
@ApiModelProperty(value = "是否主导 0-主导 1-参与")
@Excel(name = "主导/参与", width = 15)
private String isLead;
@ApiModelProperty(value = "公司排名/个人排名")
@Excel(name = "公司排名/个人排名", width = 15)
private String ranking;
@ApiModelProperty(value = "阶段(数据字典)")
@Excel(name = "阶段", width = 15)
private String stage;
@ApiModelProperty(value = "领奖时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@Excel(name = "领奖时间", width = 15, format = "yyyy-MM-dd")
private Date awardTime;
@ApiModelProperty(value = "所属工作组")
@Excel(name = "所属工作组", width = 15)
private String workingGroup;
@ApiModelProperty(value = "备注")
@Excel(name = "备注", width = 15)
private String remark;
@ApiModelProperty(value = "创建人")
private String createBy;
@ApiModelProperty(value = "创建时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date createTime;
@ApiModelProperty(value = "更新人")
private String updateBy;
@ApiModelProperty(value = "更新时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date updateTime;
}
@@ -0,0 +1,15 @@
package com.jero.modules.laws.club.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.modules.laws.club.entity.LawsClubJoinTeam;
/**
* <p>
* 社团管理-入团信息表 Mapper 接口
* </p>
*
* @author sz
* @since 2024-08-29
*/
public interface LawsClubJoinTeamMapper extends BaseMapper<LawsClubJoinTeam> {
}
@@ -0,0 +1,17 @@
package com.jero.modules.laws.club.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.modules.laws.club.entity.LawsClub;
/**
* <p>
* 社团管理表 Mapper 接口
* </p>
*
* @author sz
* @since 2024-08-29
*/
public interface LawsClubMapper extends BaseMapper<LawsClub> {
}
@@ -0,0 +1,16 @@
package com.jero.modules.laws.club.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.modules.laws.club.entity.LawsClubMeeting;
/**
* <p>
* 社团管理-参会信息 Mapper 接口
* </p>
*
* @author sz
* @since 2024-08-29
*/
public interface LawsClubMeetingMapper extends BaseMapper<LawsClubMeeting> {
}
@@ -0,0 +1,16 @@
package com.jero.modules.laws.club.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.modules.laws.club.entity.LawsClubMeetingMember;
/**
* <p>
* 社团管理-参会信息-人员 Mapper 接口
* </p>
*
* @author sz
* @since 2024-08-29
*/
public interface LawsClubMeetingMemberMapper extends BaseMapper<LawsClubMeetingMember> {
}
@@ -0,0 +1,16 @@
package com.jero.modules.laws.club.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.modules.laws.club.entity.LawsClubPayment;
/**
* <p>
* 社团管理-支付信息 Mapper 接口
* </p>
*
* @author sz
* @since 2024-08-29
*/
public interface LawsClubPaymentMapper extends BaseMapper<LawsClubPayment> {
}
@@ -0,0 +1,16 @@
package com.jero.modules.laws.club.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.modules.laws.club.entity.LawsClubResearchInformation;
/**
* <p>
* 征集调研信息表 Mapper 接口
* </p>
*
* @author sz
* @since 2024-08-29
*/
public interface LawsClubResearchInformationMapper extends BaseMapper<LawsClubResearchInformation> {
}
@@ -0,0 +1,16 @@
package com.jero.modules.laws.club.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.modules.laws.club.entity.LawsClubWorkingGroupFile;
/**
* <p>
* 社团管理-工作组管理 Mapper 接口
* </p>
*
* @author sz
* @since 2024-08-29
*/
public interface LawsClubWorkingGroupFileMapper extends BaseMapper<LawsClubWorkingGroupFile> {
}
@@ -0,0 +1,16 @@
package com.jero.modules.laws.club.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.modules.laws.club.entity.LawsCompanyStandardStatistics;
/**
* <p>
* 公司参与标准统计表 Mapper 接口
* </p>
*
* @author sz
* @since 2024-08-28
*/
public interface LawsCompanyStandardStatisticsMapper extends BaseMapper<LawsCompanyStandardStatistics> {
}
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!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.LawsClubJoinTeamMapper">
</mapper>
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!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">
</mapper>
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!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.LawsClubMeetingMapper">
</mapper>
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!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.LawsClubMeetingMemberMapper">
</mapper>
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!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.LawsClubPaymentMapper">
</mapper>
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!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.LawsClubResearchInformationMapper">
</mapper>
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!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.LawsClubWorkingGroupFileMapper">
</mapper>
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<!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.LawsCompanyStandardStatisticsMapper">
</mapper>
@@ -0,0 +1,15 @@
package com.jero.modules.laws.club.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.laws.club.entity.LawsClubJoinTeam;
/**
* <p>
* 社团管理-入团信息表 服务类
* </p>
*
* @author sz
* @since 2024-08-29
*/
public interface ILawsClubJoinTeamService extends IService<LawsClubJoinTeam> {
}
@@ -0,0 +1,16 @@
package com.jero.modules.laws.club.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.laws.club.entity.LawsClubMeetingMember;
/**
* <p>
* 社团管理-参会信息-人员 服务类
* </p>
*
* @author sz
* @since 2024-08-29
*/
public interface ILawsClubMeetingMemberService extends IService<LawsClubMeetingMember> {
}
@@ -0,0 +1,16 @@
package com.jero.modules.laws.club.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.laws.club.entity.LawsClubMeeting;
/**
* <p>
* 社团管理-参会信息 服务类
* </p>
*
* @author sz
* @since 2024-08-29
*/
public interface ILawsClubMeetingService extends IService<LawsClubMeeting> {
}
@@ -0,0 +1,16 @@
package com.jero.modules.laws.club.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.laws.club.entity.LawsClubPayment;
/**
* <p>
* 社团管理-支付信息 服务类
* </p>
*
* @author sz
* @since 2024-08-29
*/
public interface ILawsClubPaymentService extends IService<LawsClubPayment> {
}
@@ -0,0 +1,16 @@
package com.jero.modules.laws.club.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.laws.club.entity.LawsClubResearchInformation;
/**
* <p>
* 征集调研信息表 服务类
* </p>
*
* @author sz
* @since 2024-08-29
*/
public interface ILawsClubResearchInformationService extends IService<LawsClubResearchInformation> {
}
@@ -0,0 +1,44 @@
package com.jero.modules.laws.club.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.common.api.vo.Result;
import com.jero.modules.laws.club.entity.LawsClub;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
* <p>
* 社团管理表 服务类
* </p>
*
* @author sz
* @since 2024-08-29
*/
public interface ILawsClubService extends IService<LawsClub> {
List<LawsClub> getTree(String parentId, String nodeType);
Result<?> addOrEdit(LawsClub lawsClub);
Result<?> queryOne(String id);
Result<?> delete(String id);
ModelAndView exportTeamXls(LawsClub lawsClub, HttpServletRequest request);
IPage<LawsClub> queryPageList(LawsClub lawsClub, Integer pageNo, Integer pageSize, HttpServletRequest req);
ModelAndView exportAll(LawsClub lawsClub, HttpServletRequest request);
ModelAndView exportMeetingXls(LawsClub lawsClub, HttpServletRequest request);
ModelAndView exportresearchXls(LawsClub lawsClub, HttpServletRequest request);
ModelAndView exportTemplate(HttpServletRequest request);
Result<?> importExcel(HttpServletRequest request);
List<LawsClub> getTreeStructure(String part, String nodeType);
}
@@ -0,0 +1,16 @@
package com.jero.modules.laws.club.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.laws.club.entity.LawsClubWorkingGroupFile;
/**
* <p>
* 社团管理-工作组管理 服务类
* </p>
*
* @author sz
* @since 2024-08-29
*/
public interface ILawsClubWorkingGroupFileService extends IService<LawsClubWorkingGroupFile> {
}
@@ -0,0 +1,28 @@
package com.jero.modules.laws.club.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.common.api.vo.Result;
import com.jero.modules.laws.club.entity.LawsCompanyStandardStatistics;
import com.jero.modules.tag.entity.LawsArea;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
/**
* <p>
* 公司参与标准统计表 服务类
* </p>
*
* @author sz
* @since 2024-08-28
*/
public interface ILawsCompanyStandardStatisticsService extends IService<LawsCompanyStandardStatistics> {
IPage<LawsCompanyStandardStatistics> queryPageList(LawsCompanyStandardStatistics lawsCompanyStandardStatistics, Integer pageNo, Integer pageSize, HttpServletRequest req);
ModelAndView export(LawsCompanyStandardStatistics lawsCompanyStandardStatistics, HttpServletRequest request);
Result<?> add(LawsCompanyStandardStatistics lawsCompanyStandardStatistics);
}
@@ -0,0 +1,21 @@
package com.jero.modules.laws.club.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.modules.laws.club.entity.LawsClubJoinTeam;
import com.jero.modules.laws.club.mapper.LawsClubJoinTeamMapper;
import com.jero.modules.laws.club.service.ILawsClubJoinTeamService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* <p>
* 社团管理-入团信息表 服务实现类
* </p>
*
* @author sz
* @since 2024-08-29
*/
@Service
public class LawsClubJoinTeamServiceImpl extends ServiceImpl<LawsClubJoinTeamMapper, LawsClubJoinTeam> implements ILawsClubJoinTeamService {
}
@@ -0,0 +1,20 @@
package com.jero.modules.laws.club.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.modules.laws.club.entity.LawsClubMeetingMember;
import com.jero.modules.laws.club.mapper.LawsClubMeetingMemberMapper;
import com.jero.modules.laws.club.service.ILawsClubMeetingMemberService;
import org.springframework.stereotype.Service;
/**
* <p>
* 社团管理-参会信息-人员 服务实现类
* </p>
*
* @author sz
* @since 2024-08-29
*/
@Service
public class LawsClubMeetingMemberServiceImpl extends ServiceImpl<LawsClubMeetingMemberMapper, LawsClubMeetingMember> implements ILawsClubMeetingMemberService {
}
@@ -0,0 +1,20 @@
package com.jero.modules.laws.club.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.modules.laws.club.entity.LawsClubMeeting;
import com.jero.modules.laws.club.mapper.LawsClubMeetingMapper;
import com.jero.modules.laws.club.service.ILawsClubMeetingService;
import org.springframework.stereotype.Service;
/**
* <p>
* 社团管理-参会信息 服务实现类
* </p>
*
* @author sz
* @since 2024-08-29
*/
@Service
public class LawsClubMeetingServiceImpl extends ServiceImpl<LawsClubMeetingMapper, LawsClubMeeting> implements ILawsClubMeetingService {
}
@@ -0,0 +1,20 @@
package com.jero.modules.laws.club.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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 org.springframework.stereotype.Service;
/**
* <p>
* 社团管理-支付信息 服务实现类
* </p>
*
* @author sz
* @since 2024-08-29
*/
@Service
public class LawsClubPaymentServiceImpl extends ServiceImpl<LawsClubPaymentMapper, LawsClubPayment> implements ILawsClubPaymentService {
}
@@ -0,0 +1,20 @@
package com.jero.modules.laws.club.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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 org.springframework.stereotype.Service;
/**
* <p>
* 征集调研信息表 服务实现类
* </p>
*
* @author sz
* @since 2024-08-29
*/
@Service
public class LawsClubResearchInformationServiceImpl extends ServiceImpl<LawsClubResearchInformationMapper, LawsClubResearchInformation> implements ILawsClubResearchInformationService {
}
@@ -0,0 +1,572 @@
package com.jero.modules.laws.club.service.impl;
import cn.hutool.core.util.StrUtil;
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;
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.CommonUtils;
import com.jero.common.util.PasswordUtil;
import com.jero.common.util.RedisUtil;
import com.jero.common.util.oConvertUtils;
import com.jero.modules.laws.club.entity.*;
import com.jero.modules.laws.club.mapper.LawsClubMapper;
import com.jero.modules.laws.club.service.*;
import com.jero.modules.laws.vo.LawsClubMeetingExcel;
import com.jero.modules.system.entity.SysDepart;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysDepartService;
import com.jero.modules.system.service.ISysUserService;
import org.apache.commons.lang3.StringUtils;
import org.apache.lucene.search.similarities.LambdaDF;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* <p>
* 社团管理表 服务实现类
* </p>
*
* @author sz
* @since 2024-08-29
*/
@Service
@Transactional(rollbackFor = JeroBootException.class)
public class LawsClubServiceImpl extends ServiceImpl<LawsClubMapper, LawsClub> implements ILawsClubService {
@Resource
private ILawsClubJoinTeamService lawsClubJoinTeamService;
@Resource
private ILawsClubMeetingService lawsClubMeetingService;
@Resource
private ILawsClubMeetingMemberService lawsClubMeetingMemberService;
@Resource
private ILawsClubPaymentService lawsClubPaymentService;
@Resource
private ILawsClubWorkingGroupFileService lawsClubWorkingGroupFileService;
@Resource
private ILawsClubResearchInformationService lawsClubResearchInformationService;
@Resource
private ISysUserService sysUserService;
@Resource
private ISysDepartService sysDepartService;
@Resource
private RedisUtil redisUtil;
@Override
public List<LawsClub> getTree(String parentId, String nodeType) {
// 查询所有节点
List<LawsClub> allNodes = list();
// 过滤符合条件的节点
List<LawsClub> matchedNodes = allNodes.parallelStream()
.filter(node -> node.getNodeType() != null && node.getNodeType().contains(nodeType))
.collect(Collectors.toList());
// 构建节点映射,以及父子关系映射
Map<String, LawsClub> nodeMap = allNodes.parallelStream()
.collect(Collectors.toConcurrentMap(LawsClub::getId, Function.identity()));
Map<String, List<LawsClub>> parentChildMap = matchedNodes.parallelStream()
.collect(Collectors.groupingByConcurrent(LawsClub::getParentId));
if (matchedNodes.isEmpty()) {
return Collections.emptyList();
}
// 查找每个匹配节点的一级父节点
Set<LawsClub> rootNodes = ConcurrentHashMap.newKeySet();
Set<String> allParentNodeCodes = ConcurrentHashMap.newKeySet();
matchedNodes.parallelStream().forEach(matchedNode -> {
LawsClub currentNode = matchedNode;
while (currentNode != null && !currentNode.getParentId().equals(parentId)) {
currentNode = nodeMap.get(currentNode.getParentId());
if (currentNode != null) {
allParentNodeCodes.add(currentNode.getId());
}
}
if (currentNode != null) {
rootNodes.add(currentNode);
}
});
// 设置叶子标志
rootNodes.parallelStream().forEach(rootNode -> {
List<LawsClub> children = parentChildMap.get(rootNode.getId());
boolean hasNoChildren = (children == null || children.isEmpty());
if (StringUtils.isBlank(nodeType)) {
rootNode.setLeafFlag(hasNoChildren);
} else {
boolean isNotInAllParents = !allParentNodeCodes.contains(rootNode.getId());
rootNode.setLeafFlag(hasNoChildren && isNotInAllParents);
}
});
// 按名字排序
return rootNodes.stream()
.sorted(Comparator.comparing(LawsClub::getNodeType))
.collect(Collectors.toList());
}
@Override
public List<LawsClub> getTreeStructure(String parentId, String nodeType) {
// 查询所有节点
List<LawsClub> allNodes = list();
// 构建节点映射
Map<String, LawsClub> nodeMap = allNodes.parallelStream()
.collect(Collectors.toConcurrentMap(LawsClub::getId, Function.identity()));
// 构建父子关系映射
Map<String, List<LawsClub>> parentChildMap = allNodes.parallelStream()
.collect(Collectors.groupingBy(LawsClub::getParentId));
// 如果 nodeType 为空,则返回完整树结构
if (StringUtils.isBlank(nodeType)) {
return buildTreeStructure(parentId, parentChildMap, nodeMap); // 构建并返回完整的树形结构
}
// 查找 nodeType 对应的目标节点
List<LawsClub> targetNodes = allNodes.stream()
.filter(node -> node.getNodeType() != null && node.getNodeType().contains(nodeType))
.collect(Collectors.toList());
if (targetNodes.isEmpty()) {
// 如果没有找到与 nodeType 模糊匹配的节点,返回空列表
return Collections.emptyList();
}
// // 目标节点ID集合
// Set<String> targetNodeIds = targetNodes.stream()
// .map(LawsClub::getId)
// .collect(Collectors.toSet());
// // 筛选目标节点,排除那些 parentId 在 targetNodeIds 中的节点
// List<LawsClub> filteredTargetNodes = targetNodes.stream()
// .filter(node -> !targetNodeIds.contains(node.getParentId()))
// .collect(Collectors.toList());
// 创建结果列表
List<LawsClub> result = new ArrayList<>();
// 处理每个匹配到的目标节点
for (LawsClub targetNode : targetNodes) {
// 查找目标节点的直接上级节点
LawsClub parentNode = nodeMap.get(targetNode.getParentId());
if (parentNode != null) {
// 如果上级节点未添加到结果中,添加上级节点
if (!result.contains(parentNode)) {
// 初始化上级节点的children列表
parentNode.setChildren(new ArrayList<>());
result.add(parentNode);
}
// 将目标节点添加到上级节点的children列表中
if (parentNode.getChildren() == null) {
parentNode.setChildren(new ArrayList<>());
}
if (!parentNode.getChildren().contains(targetNode)) {
parentNode.getChildren().add(targetNode);
}
}
}
// 返回结果
return result;
}
/**
* 递归构建树结构
* @param parentId 父节点ID
* @param parentChildMap 父子关系映射
* @param nodeMap 节点映射
* @return 树结构的根节点列表
*/
private List<LawsClub> buildTreeStructure(String parentId, Map<String, List<LawsClub>> parentChildMap, Map<String, LawsClub> nodeMap) {
// 获取当前父节点下的所有子节点
List<LawsClub> children = parentChildMap.get(parentId);
if (children == null || children.isEmpty()) {
return Collections.emptyList(); // 没有子节点,返回空列表
}
// 遍历所有子节点,递归设置其子节点
children.parallelStream().forEach(child -> {
List<LawsClub> grandChildren = buildTreeStructure(child.getId(), parentChildMap, nodeMap);
child.setChildren(grandChildren); // 设置当前节点的子节点列表
child.setLeafFlag(grandChildren.isEmpty()); // 如果没有子节点则设置为叶子节点
});
return children;
}
@Override
public IPage<LawsClub> queryPageList(LawsClub lawsClub, Integer pageNo, Integer pageSize, HttpServletRequest req) {
String parentId = req.getParameter("parentId");
LambdaQueryWrapper<LawsClub> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.and(wrapper ->
wrapper.eq(LawsClub::getParentId, parentId)
.or().eq(LawsClub::getId, parentId));
if (StringUtils.isNotBlank(lawsClub.getClubName())) {
lambdaQueryWrapper.like(LawsClub::getClubName, lawsClub.getClubName());
}
if (StringUtils.isNotBlank(lawsClub.getNodeType())) {
lambdaQueryWrapper.like(LawsClub::getNodeType, lawsClub.getNodeType());
}
lambdaQueryWrapper.orderByDesc(LawsClub::getCreateTime);
// 查找 parentId 对应的所有子孙节点的 ID 列表
Page<LawsClub> page = new Page<>(pageNo, pageSize);
Page<LawsClub> pageResult = page(page, lambdaQueryWrapper);
List<LawsClub> records = pageResult.getRecords();
for (LawsClub record : records) {
// 解密联系方式
String contactNumber = record.getContactNumber();
String encryptNumber = PasswordUtil.decrypt(contactNumber);
record.setContactNumber(encryptNumber);
}
pageResult.setRecords(records);
return pageResult;
}
@Override
public Result<?> addOrEdit(LawsClub lawsClub) {
if (Objects.isNull(lawsClub)) {
throw new JeroBootException(ResultCommon.PARAMETERS_CANNOT_BE_NULL);
}
if (StringUtils.isBlank(lawsClub.getNodeType())) {
throw new JeroBootException(ResultCommon.EMPTY_COMMON, "nodeType");
}
if (StringUtils.isBlank(lawsClub.getClubName())) {
throw new JeroBootException(ResultCommon.EMPTY_COMMON, "clubName");
}
List<LawsClubJoinTeam> lawsClubJoinTeamList = lawsClub.getLawsClubJoinTeamList();
List<LawsClubPayment> lawsClubPayments = lawsClub.getLawsClubPayments();
List<LawsClubMeeting> lawsClubMeetings = lawsClub.getLawsClubMeetings();
List<LawsClubResearchInformation> lawsClubResearchInformations = lawsClub.getLawsClubResearchInformations();
List<LawsClubWorkingGroupFile> lawsClubWorkingGroupFiles = lawsClub.getLawsClubWorkingGroupFiles();
String rsaPublicKey = lawsClub.getRsaPublicKey(); // 公钥
String rsaPrivateKey = String.valueOf(redisUtil.get(rsaPublicKey));
if (StringUtils.isNotBlank(lawsClub.getContactNumber())){
String contactNumber = CommonUtils.decryptBtRsaPriKey(lawsClub.getContactNumber(), rsaPrivateKey); // 解密
String encrypt = PasswordUtil.encrypt(contactNumber);
lawsClub.setContactNumber(encrypt);
}
if (StringUtils.isNotBlank(lawsClub.getId())) {
// 修改社团管理表
updateById(lawsClub);
// 清空关联表的相关数据
clearAssociationTable(lawsClub.getId());
} else {
// 新增
save(lawsClub);
}
saveAssociationTable(lawsClub,lawsClubJoinTeamList,lawsClubPayments,lawsClubMeetings,lawsClubResearchInformations,lawsClubWorkingGroupFiles);
return Result.OK(ResultCommon.OK);
}
private void saveAssociationTable(LawsClub lawsClub, List<LawsClubJoinTeam> lawsClubJoinTeamList,
List<LawsClubPayment> lawsClubPayments, List<LawsClubMeeting> lawsClubMeetings,
List<LawsClubResearchInformation> lawsClubResearchInformations,
List<LawsClubWorkingGroupFile> lawsClubWorkingGroupFiles) {
// 将数据新增到相关的关联表
if (!CollectionUtils.isEmpty(lawsClubJoinTeamList)) {
for (LawsClubJoinTeam lawsClubJoinTeam : lawsClubJoinTeamList) {
lawsClubJoinTeam.setClubId(lawsClub.getId());
}
lawsClubJoinTeamService.saveBatch(lawsClubJoinTeamList);
}
if (!CollectionUtils.isEmpty(lawsClubPayments)) {
for (LawsClubPayment lawsClubPayment : lawsClubPayments) {
lawsClubPayment.setClubId(lawsClub.getId());
}
lawsClubPaymentService.saveBatch(lawsClubPayments);
}
if (!CollectionUtils.isEmpty(lawsClubMeetings)) {
for (LawsClubMeeting lawsClubMeeting : lawsClubMeetings) {
lawsClubMeeting.setClubId(lawsClub.getId());
lawsClubMeetingService.saveBatch(lawsClubMeetings);
// 会议成员
List<LawsClubMeetingMember> meetingMemberList = lawsClubMeeting.getMeetingMemberList();
if (!CollectionUtils.isEmpty(meetingMemberList)) {
for (LawsClubMeetingMember lawsClubMeetingMember : meetingMemberList) {
lawsClubMeetingMember.setMeetingId(lawsClubMeeting.getId());
}
lawsClubMeetingMemberService.saveBatch(meetingMemberList);
}
}
}
if (!CollectionUtils.isEmpty(lawsClubResearchInformations)) {
for (LawsClubResearchInformation lawsClubResearchInformation : lawsClubResearchInformations) {
lawsClubResearchInformation.setClubId(lawsClub.getId());
}
lawsClubResearchInformationService.saveBatch(lawsClubResearchInformations);
}
if (!CollectionUtils.isEmpty(lawsClubWorkingGroupFiles)) {
for (LawsClubWorkingGroupFile lawsClubWorkingGroupFile : lawsClubWorkingGroupFiles) {
lawsClubWorkingGroupFile.setClubId(lawsClub.getId());
}
lawsClubWorkingGroupFileService.saveBatch(lawsClubWorkingGroupFiles);
}
}
private void clearAssociationTable(String clubId) {
// 入团信息表
LambdaQueryWrapper<LawsClubJoinTeam> teamWrapper = new LambdaQueryWrapper<>();
teamWrapper.eq(LawsClubJoinTeam::getClubId, clubId);
lawsClubJoinTeamService.remove(teamWrapper);
// 支付信息表
LambdaQueryWrapper<LawsClubPayment> paymentWrapper = new LambdaQueryWrapper<>();
paymentWrapper.eq(LawsClubPayment::getClubId, clubId);
lawsClubPaymentService.remove(paymentWrapper);
// 参会信息表
LambdaQueryWrapper<LawsClubMeeting> meetingWrapper = new LambdaQueryWrapper<>();
meetingWrapper.eq(LawsClubMeeting::getClubId, clubId);
List<LawsClubMeeting> list = lawsClubMeetingService.list(meetingWrapper);
lawsClubMeetingService.remove(meetingWrapper);
List<String> ids = list.stream().map(LawsClubMeeting::getId).collect(Collectors.toList());
// 参会人员信息
if (!CollectionUtils.isEmpty(ids)) {
LambdaQueryWrapper<LawsClubMeetingMember> meetingMemberWrapper = new LambdaQueryWrapper<>();
meetingMemberWrapper.in(LawsClubMeetingMember::getMeetingId, ids);
lawsClubMeetingMemberService.remove(meetingMemberWrapper);
}
// 工作组资料表
LambdaQueryWrapper<LawsClubWorkingGroupFile> fileWrapper = new LambdaQueryWrapper<>();
fileWrapper.eq(LawsClubWorkingGroupFile::getClubId, clubId);
lawsClubWorkingGroupFileService.remove(fileWrapper);
// 征集调研信息表
LambdaQueryWrapper<LawsClubResearchInformation> reSearchWrapper = new LambdaQueryWrapper<>();
reSearchWrapper.eq(LawsClubResearchInformation::getClubId, clubId);
lawsClubResearchInformationService.remove(reSearchWrapper);
}
@Override
public Result<?> queryOne(String id) {
// 先根据id查出社团管理的相关数据
LawsClub lawsClub = getById(id);
if (StringUtils.isNotBlank(lawsClub.getContactNumber())) {
String contactNumber = lawsClub.getContactNumber();
String encryptNumber = PasswordUtil.decrypt(contactNumber);
lawsClub.setContactNumber(encryptNumber);
}
if (Objects.isNull(lawsClub)) {
throw new JeroBootException(ResultCommon.PARAMETERS_CANNOT_BE_NULL);
}
String clubId = lawsClub.getId();
// 查出几张关联表的数据
List<LawsClubJoinTeam> joinTeamList = lawsClubJoinTeamService.list(new LambdaQueryWrapper<LawsClubJoinTeam>().eq(LawsClubJoinTeam::getClubId, clubId));
for (LawsClubJoinTeam lawsClubJoinTeam : joinTeamList) {
SysUser user1 = sysUserService.getById(lawsClubJoinTeam.getLeadId());
SysUser user2 = sysUserService.getById(lawsClubJoinTeam.getProposerId());
SysDepart depart = sysDepartService.getById(lawsClubJoinTeam.getDepartId());
lawsClubJoinTeam.setLeadIdText(user1!= null ? user1.getRealname() : null);
lawsClubJoinTeam.setDepartText(depart!= null ? depart.getDepartName() : null);
lawsClubJoinTeam.setProposerText(user2 != null ? user2.getRealname() : null);
}
List<LawsClubPayment> paymentList = lawsClubPaymentService.list(new LambdaQueryWrapper<LawsClubPayment>().eq(LawsClubPayment::getClubId, clubId));
List<LawsClubMeeting> meetingList = lawsClubMeetingService.list(new LambdaQueryWrapper<LawsClubMeeting>().eq(LawsClubMeeting::getClubId, clubId));
for (LawsClubMeeting lawsClubMeeting : meetingList) {
List<LawsClubMeetingMember> memberList = lawsClubMeetingMemberService.list(new LambdaQueryWrapper<LawsClubMeetingMember>().eq(LawsClubMeetingMember::getMeetingId, lawsClubMeeting.getId()));
lawsClubMeeting.setMeetingMemberList(memberList);
}
List<LawsClubWorkingGroupFile> workingGroupFileList = lawsClubWorkingGroupFileService.list(new LambdaQueryWrapper<LawsClubWorkingGroupFile>().eq(LawsClubWorkingGroupFile::getClubId, clubId));
List<LawsClubResearchInformation> researchInformationList = lawsClubResearchInformationService.list(new LambdaQueryWrapper<LawsClubResearchInformation>().eq(LawsClubResearchInformation::getClubId, clubId));
lawsClub.setLawsClubJoinTeamList(joinTeamList);
lawsClub.setLawsClubPayments(paymentList);
lawsClub.setLawsClubMeetings(meetingList);
lawsClub.setLawsClubWorkingGroupFiles(workingGroupFileList);
lawsClub.setLawsClubResearchInformations(researchInformationList);
return Result.OK(lawsClub);
}
@Override
public Result<?> delete(String id) {
if(StringUtils.isBlank(id)){
return Result.error(ResultCommon.PLEASE_SELECT_DATA);
}
List<LawsClub> list = list(new LambdaQueryWrapper<LawsClub>().eq(LawsClub::getParentId, id));
if (!CollectionUtils.isEmpty(list)) {
return Result.error(ResultCommon.NODE_EXIST_SUBSETS);
}
removeById(id);
clearAssociationTable(id);
return Result.OK(ResultCommon.OK);
}
@Override
public ModelAndView exportAll(LawsClub lawsClub, HttpServletRequest request) {
// Step.1 组装查询条件
QueryWrapper<LawsClub> queryWrapper = QueryGenerator.initQueryWrapper(lawsClub, request.getParameterMap());
//Step.2 AutoPoi 导出Excel
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
String selections = request.getParameter("selections");
if(!oConvertUtils.isEmpty(selections)){
queryWrapper.in("id", Arrays.asList(selections.split(",")));
}
List<LawsClub> excelList = list(queryWrapper);
for (LawsClub club : excelList) {
// 如果是根节点那么上级节点为空
if ("Part".equals(club.getParentId())) {
club.setParentId("");
}
// 解密联系方式
if (StringUtils.isNotBlank(club.getContactNumber())) {
String contactNumber = club.getContactNumber();
String encryptNumber = PasswordUtil.decrypt(contactNumber);
club.setContactNumber(encryptNumber);
}
List<LawsClubJoinTeam> lawsClubJoinTeams = lawsClubJoinTeamService.list(new LambdaQueryWrapper<LawsClubJoinTeam>().eq(LawsClubJoinTeam::getClubId, club.getId()));
List<LawsClubMeeting> lawsClubMeetings = lawsClubMeetingService.list(new LambdaQueryWrapper<LawsClubMeeting>().eq(LawsClubMeeting::getClubId, club.getId()));
List<LawsClubResearchInformation> lawsClubResearchInformations = lawsClubResearchInformationService.list(new LambdaQueryWrapper<LawsClubResearchInformation>().eq(LawsClubResearchInformation::getClubId, club.getId()));
club.setLawsClubMeetings(lawsClubMeetings);
club.setLawsClubJoinTeamList(lawsClubJoinTeams);
club.setLawsClubResearchInformations(lawsClubResearchInformations);
}
//导出文件名称
mv.addObject(JeroController.FILE_NAME, "社团管理信息");
mv.addObject(JeroController.CLASS, LawsClub.class);
ExportParams exportParams = new ExportParams("社团管理信息", "导出信息");
mv.addObject(JeroController.PARAMS, exportParams);
mv.addObject(NormalExcelConstants.DATA_LIST, excelList);
return mv;
}
@Override
public ModelAndView exportTeamXls(LawsClub lawsClub, HttpServletRequest request) {
// Step.1 组装查询条件
QueryWrapper<LawsClub> queryWrapper = QueryGenerator.initQueryWrapper(lawsClub, request.getParameterMap());
//Step.2 AutoPoi 导出Excel
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
String selections = request.getParameter("selections");
if(!oConvertUtils.isEmpty(selections)){
queryWrapper.in("id", Arrays.asList(selections.split(",")));
}
List<LawsClub> list = list(queryWrapper);
List<String> ids = list.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));
}
//导出文件名称
mv.addObject(JeroController.FILE_NAME, "入团信息");
mv.addObject(JeroController.CLASS, LawsClubJoinTeam.class);
ExportParams exportParams = new ExportParams("入团信息", "导出信息");
mv.addObject(JeroController.PARAMS, exportParams);
mv.addObject(NormalExcelConstants.DATA_LIST, excelList);
return mv;
}
@Override
public ModelAndView exportMeetingXls(LawsClub lawsClub, HttpServletRequest request) {
// Step.1 组装查询条件
QueryWrapper<LawsClub> queryWrapper = QueryGenerator.initQueryWrapper(lawsClub, request.getParameterMap());
//Step.2 AutoPoi 导出Excel
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
String selections = request.getParameter("selections");
if(!oConvertUtils.isEmpty(selections)){
queryWrapper.in("id", Arrays.asList(selections.split(",")));
}
List<LawsClub> list = list(queryWrapper);
List<String> ids = list.stream().map(LawsClub::getId).collect(Collectors.toList());
List<LawsClubMeeting> recordList = new ArrayList<>();
List<LawsClubMeetingExcel> excelList = new ArrayList<>();
if (!CollectionUtils.isEmpty(ids)) {
recordList = lawsClubMeetingService.list(new LambdaQueryWrapper<LawsClubMeeting>().in(LawsClubMeeting::getClubId, ids));
for (LawsClubMeeting lawsClubMeeting : recordList) {
List<LawsClubMeetingMember> memberList = lawsClubMeetingMemberService.list(new LambdaQueryWrapper<LawsClubMeetingMember>().eq(LawsClubMeetingMember::getMeetingId, lawsClubMeeting.getId()));
lawsClubMeeting.setMeetingMemberList(memberList);
LawsClubMeetingExcel lawsClubMeetingExcel = new LawsClubMeetingExcel();
BeanUtils.copyProperties(lawsClubMeeting, lawsClubMeetingExcel);
excelList.add(lawsClubMeetingExcel);
}
}
//导出文件名称
mv.addObject(JeroController.FILE_NAME, "参会信息");
mv.addObject(JeroController.CLASS, LawsClubMeetingExcel.class);
ExportParams exportParams = new ExportParams("参会信息", "导出信息");
mv.addObject(JeroController.PARAMS, exportParams);
mv.addObject(NormalExcelConstants.DATA_LIST, excelList);
return mv;
}
@Override
public ModelAndView exportresearchXls(LawsClub lawsClub, HttpServletRequest request) {
// Step.1 组装查询条件
QueryWrapper<LawsClub> queryWrapper = QueryGenerator.initQueryWrapper(lawsClub, request.getParameterMap());
//Step.2 AutoPoi 导出Excel
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
String selections = request.getParameter("selections");
if(!oConvertUtils.isEmpty(selections)){
queryWrapper.in("id", Arrays.asList(selections.split(",")));
}
List<LawsClub> list = list(queryWrapper);
List<String> ids = list.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));
}
//导出文件名称
mv.addObject(JeroController.FILE_NAME, "征集调研信息");
mv.addObject(JeroController.CLASS, LawsClubResearchInformation.class);
ExportParams exportParams = new ExportParams("征集调研信息", "征集调研信息");
mv.addObject(JeroController.PARAMS, exportParams);
mv.addObject(NormalExcelConstants.DATA_LIST, excelList);
return mv;
}
@Override
public ModelAndView exportTemplate(HttpServletRequest request) {
List<LawsClub> excelList = new ArrayList<>();
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
mv.addObject(JeroController.FILE_NAME, "社团管理");
mv.addObject(JeroController.CLASS, LawsClub.class);
ExportParams exportParams = new ExportParams("社团管理", "社团管理");
mv.addObject(JeroController.PARAMS, exportParams);
mv.addObject(NormalExcelConstants.DATA_LIST, excelList);
return mv;
}
@Override
public Result<?> importExcel(HttpServletRequest request) {
return null;
// MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
// List<String> errorMessageList = new ArrayList<>();
// List<SysDepart> listSysDeparts = null;
// Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
// for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
// MultipartFile file = entity.getValue();// 获取上传文件对象
// ImportParams params = new ImportParams();
// params.setTitleRows(2);
// params.setHeadRows(1);
// params.setNeedSave(true);
// try {
//
// }catch (Exception e) {
// log.error(e.getMessage(),e);
// return Result.error("文件导入失败:"+e.getMessage());
// } finally {
// try {
// file.getInputStream().close();
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
// }
}
}
@@ -0,0 +1,20 @@
package com.jero.modules.laws.club.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.modules.laws.club.entity.LawsClubWorkingGroupFile;
import com.jero.modules.laws.club.mapper.LawsClubWorkingGroupFileMapper;
import com.jero.modules.laws.club.service.ILawsClubWorkingGroupFileService;
import org.springframework.stereotype.Service;
/**
* <p>
* 社团管理-工作组管理 服务实现类
* </p>
*
* @author sz
* @since 2024-08-29
*/
@Service
public class LawsClubWorkingGroupFileServiceImpl extends ServiceImpl<LawsClubWorkingGroupFileMapper, LawsClubWorkingGroupFile> implements ILawsClubWorkingGroupFileService {
}
@@ -0,0 +1,86 @@
package com.jero.modules.laws.club.service.impl;
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;
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.entity.LawsCompanyStandardStatistics;
import com.jero.modules.laws.club.mapper.LawsCompanyStandardStatisticsMapper;
import com.jero.modules.laws.club.service.ILawsCompanyStandardStatisticsService;
import org.apache.commons.lang3.StringUtils;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.springframework.stereotype.Service;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
/**
* <p>
* 公司参与标准统计表 服务实现类
* </p>
*
* @author sz
* @since 2024-08-28
*/
@Service
public class LawsCompanyStandardStatisticsServiceImpl extends ServiceImpl<LawsCompanyStandardStatisticsMapper, LawsCompanyStandardStatistics> implements ILawsCompanyStandardStatisticsService {
@Override
public IPage<LawsCompanyStandardStatistics> queryPageList(LawsCompanyStandardStatistics lawsCompanyStandardStatistics, Integer pageNo, Integer pageSize, HttpServletRequest req) {
QueryWrapper<LawsCompanyStandardStatistics> queryWrapper = QueryGenerator.initQueryWrapper(lawsCompanyStandardStatistics, req.getParameterMap());
Page<LawsCompanyStandardStatistics> page = new Page<>(pageNo, pageSize);
Page<LawsCompanyStandardStatistics> result = page(page, queryWrapper);
return result;
}
@Override
public Result<?> add(LawsCompanyStandardStatistics lawsCompanyStandardStatistics) {
if (Objects.isNull(lawsCompanyStandardStatistics)) {
throw new JeroBootException(ResultCommon.PARAMETERS_CANNOT_BE_NULL);
}
if (StringUtils.isBlank(lawsCompanyStandardStatistics.getStandardNumber())) {
throw new JeroBootException(ResultCommon.EMPTY_COMMON, "standardNumber");
}
if (StringUtils.isBlank(lawsCompanyStandardStatistics.getStandardNumber())) {
throw new JeroBootException(ResultCommon.EMPTY_COMMON, "standardName");
}
if (StringUtils.isBlank(lawsCompanyStandardStatistics.getStandardDrafter())) {
throw new JeroBootException(ResultCommon.EMPTY_COMMON, "standardDrafter");
}
if (Objects.isNull(lawsCompanyStandardStatistics.getIsLead())) {
throw new JeroBootException(ResultCommon.EMPTY_COMMON, "isLead");
}
save(lawsCompanyStandardStatistics);
return Result.OK(ResultCommon.OK);
}
@Override
public ModelAndView export(LawsCompanyStandardStatistics lawsCompanyStandardStatistics, HttpServletRequest request) {
// Step.1 组装查询条件
QueryWrapper<LawsCompanyStandardStatistics> queryWrapper = QueryGenerator.initQueryWrapper(lawsCompanyStandardStatistics, request.getParameterMap());
//Step.2 AutoPoi 导出Excel
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
String selections = request.getParameter("selections");
if(!oConvertUtils.isEmpty(selections)){
queryWrapper.in("id", Arrays.asList(selections.split(",")));
}
List<LawsCompanyStandardStatistics> excelList = list(queryWrapper);
//导出文件名称
mv.addObject(JeroController.FILE_NAME, "公司参与标准统计");
mv.addObject(JeroController.CLASS, LawsCompanyStandardStatistics.class);
ExportParams exportParams = new ExportParams("公司参与标准统计", "导出信息");
mv.addObject(JeroController.PARAMS, exportParams);
mv.addObject(NormalExcelConstants.DATA_LIST, excelList);
return mv;
}
}
@@ -0,0 +1,67 @@
package com.jero.modules.laws.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jero.modules.laws.club.entity.LawsClubMeetingMember;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import java.util.List;
@Data
public class LawsClubMeetingExcel {
@ApiModelProperty(value = "会议名称")
@Excel(name = "会议名称", width = 20)
private String meetingName;
@ApiModelProperty(value = "会议日期")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@Excel(name = "会议日期", width = 20, format = "yyyy-MM-dd")
private Date meetingDate;
@ApiModelProperty(value = "会议费用")
@Excel(name = "会议费用", width = 20)
private String meetingCost;
@ApiModelProperty(value = "线下/线上地点")
@Excel(name = "线下/线上地点", width = 20)
private String meetingPlace;
@ApiModelProperty(value = "计划完成日期")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
// @Excel(name = "计划完成日期", width = 20, format = "yyyy-MM-dd")
private Date planCompletionDate;
@ApiModelProperty(value = "通知人id")
// @Excel(name = "通知人", width = 20, dicText = "realname", dicCode = "id", dictTable = "sys_user")
private String notifierId;
@ApiModelProperty(value = "通知部门id")
// @Excel(name = "部门名称", width = 20, dicText = "depart_name", dicCode = "id", dictTable = "sys_depart")
private String notifyDepartId;
@ApiModelProperty(value = "通知部门专业模块")
// @Excel(name = "参会部门专业模块", width = 20, dicCode = "professional_module")
private String informSpecializedModule;
@ApiModelProperty(value = "是否宣贯 0-否 1-是")
// @Excel(name = "参会部门专业模块", width = 20, dicCode = "yn")
private String isPublicize;
@ApiModelProperty(value = "会议组织人")
// @Excel(name = "会议组织人", width = 20)
private String meetingOrganizer;
@ApiModelProperty(value = "会议内容")
// @Excel(name = "会议内容", width = 20)
private String meetingContent;
@ApiModelProperty(value = "会议成员列表")
@ExcelCollection(name = "会议成员列表")
private List<LawsClubMeetingMember> meetingMemberList;
}
@@ -88,4 +88,5 @@ split.import.data.error=\u5206\u89E3\u5355\u6587\u4EF6\u4E0A\u4F20\u6570\u636E\u
file.empty.import.error=\u6587\u4EF6\u4E3A\u7A7A\uFF0C\u8BF7\u68C0\u67E5\u540E\u91CD\u8BD5
can_not_find_template_file=\u627E\u4E0D\u5230\u540D\u4E3A{0}\u7684\u6A21\u677F\u6587\u4EF6
can_not_find_field=\u627E\u4E0D\u5230\u540D\u4E3A{0}\u7684\u5B57\u6BB5
tree.node.exists=\u5DF2\u5B58\u5728\u540D\u4E3A"{0}"\u7684\u8282\u70B9"
tree.node.exists=\u5DF2\u5B58\u5728\u540D\u4E3A"{0}"\u7684\u8282\u70B9"
node.exist.subsets=\u5f53\u524d\u8282\u70b9\u4e0b\u5b58\u5728\u5b50\u96c6
@@ -108,3 +108,4 @@ can_not_find_field=Can not find field {0}
tag.add.error.1=The attribute name is too long
tree.node.exists=Name {0} tree node exists
data.mismatch={0} Data mismatch
node.exist.subsets=Node exist subsets
@@ -107,3 +107,4 @@ can_not_find_field=\u627E\u4E0D\u5230\u540D\u4E3A{0}\u7684\u5B57\u6BB5
tag.add.error.1=\u5C5E\u6027\u540D\u79F0\u592A\u957F
tree.node.exists=\u5DF2\u5B58\u5728\u540D\u4E3A"{0}"\u7684\u8282\u70B9"
data.mismatch={0}\u6570\u636E\u4E0D\u5339\u914D
node.exist.subsets=\u5f53\u524d\u8282\u70b9\u4e0b\u5b58\u5728\u5b50\u96c6