From 5cb5921142efc0568dc730b5cef6a9f9ecd78e58 Mon Sep 17 00:00:00 2001 From: wxyclub Date: Fri, 13 Oct 2023 15:34:17 +0800 Subject: [PATCH] =?UTF-8?q?add:=20=E5=86=85=E5=A4=96=E9=83=A8=E4=BC=9A?= =?UTF-8?q?=E8=AE=AE=E6=A8=A1=E5=9D=97=E5=A2=9E=E5=88=A0=E6=94=B9=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../InsideOutSideMeetingController.java | 61 ++++++++++ .../dao/InsideOutsideMeetingDao.java | 24 ++++ .../dao/MeetingTopicDao.java | 16 +++ .../entity/InsideOutSideMeeting.java | 90 +++++++++++++++ .../entity/InsideOutsideMeetingVO.java | 69 +++++++++++ .../entity/MeetingTopic.java | 67 +++++++++++ .../service/InsideOutsideMeetingService.java | 23 ++++ .../impl/InsideOutsideMeetingServiceImpl.java | 80 +++++++++++++ .../InsideOntSideMeeting.xml | 109 ++++++++++++++++++ 9 files changed, 539 insertions(+) create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/controller/InsideOutSideMeetingController.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/dao/InsideOutsideMeetingDao.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/dao/MeetingTopicDao.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/entity/InsideOutSideMeeting.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/entity/InsideOutsideMeetingVO.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/entity/MeetingTopic.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/service/InsideOutsideMeetingService.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/service/impl/InsideOutsideMeetingServiceImpl.java create mode 100644 adc-da-slrs/src/main/resources/mybatis/mapper/InsideOntSideMeeting/InsideOntSideMeeting.xml diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/controller/InsideOutSideMeetingController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/controller/InsideOutSideMeetingController.java new file mode 100644 index 00000000..c97cb5bd --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/controller/InsideOutSideMeetingController.java @@ -0,0 +1,61 @@ +package com.adc.da.slrs.InsideOntSideMeeting.controller; + +import com.adc.da.base.web.BaseController; +import com.adc.da.http.ResponseMessage; +import com.adc.da.http.Result; +import com.adc.da.slrs.InsideOntSideMeeting.entity.InsideOutSideMeeting; +import com.adc.da.slrs.InsideOntSideMeeting.entity.InsideOutsideMeetingVO; +import com.adc.da.slrs.InsideOntSideMeeting.service.InsideOutsideMeetingService; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @author tjzdw + * @description + * @date 2023/10/10 + */ +@RestController +@RequestMapping("/${restPath}/lawss/insideOutsideMeeting") +public class InsideOutSideMeetingController extends BaseController { + + @Resource + private InsideOutsideMeetingService meetingService; + + @ApiOperation(value = "根据会议ID查询会议信息") + @GetMapping("/getMeetingInfo") + public ResponseMessage getMeetingInfo(String meetingId){ + if (StringUtils.isBlank(meetingId)) { + return Result.error("会议ID为空!"); + } + InsideOutSideMeeting meetingInfo = meetingService.getMeetingInfo(meetingId); + return Result.success(meetingInfo); + } + + @ApiOperation(value = "分页查询") + @GetMapping("/page") + public ResponseMessage> page(InsideOutsideMeetingVO insideOutsideMeetingVO) { + List rows = meetingService.queryByPage(insideOutsideMeetingVO); + return Result.success(rows); + } + + @ApiOperation(value = "新增内外部会议") + @PostMapping(value = "/addMeetingInfo", consumes = "application/json;charset=UTF-8") + public ResponseMessage create(@RequestBody InsideOutSideMeeting insideOutSideMeeting) throws Exception { + meetingService.addMeetingInfo(insideOutSideMeeting); + return Result.success(); + } + + @ApiOperation("根据会议ID删除会议") + @DeleteMapping("/deleteMeetingInfo") + public ResponseMessage deleteMeeting(String meetingId) { + if (StringUtils.isBlank(meetingId)) { + return Result.error("删除失败,会议ID为空"); + } + meetingService.deleteMeetingById(meetingId); + return Result.success(); + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/dao/InsideOutsideMeetingDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/dao/InsideOutsideMeetingDao.java new file mode 100644 index 00000000..11a4693f --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/dao/InsideOutsideMeetingDao.java @@ -0,0 +1,24 @@ +package com.adc.da.slrs.InsideOntSideMeeting.dao; + +import com.adc.da.slrs.InsideOntSideMeeting.entity.InsideOutSideMeeting; +import com.adc.da.slrs.InsideOntSideMeeting.entity.InsideOutsideMeetingVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * @author tjzdw + * @description + * @date 2023/10/10 + */ +@Mapper +public interface InsideOutsideMeetingDao extends BaseMapper { + + Integer queryByPageCount(InsideOutsideMeetingVO page); + + List queryByPage(InsideOutsideMeetingVO page); + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/dao/MeetingTopicDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/dao/MeetingTopicDao.java new file mode 100644 index 00000000..ecae466a --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/dao/MeetingTopicDao.java @@ -0,0 +1,16 @@ +package com.adc.da.slrs.InsideOntSideMeeting.dao; + +import com.adc.da.slrs.InsideOntSideMeeting.entity.MeetingTopic; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * @author tjzdw + * @description + * @date 2023/10/13 + */ +@Mapper +public interface MeetingTopicDao extends BaseMapper { + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/entity/InsideOutSideMeeting.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/entity/InsideOutSideMeeting.java new file mode 100644 index 00000000..d093567a --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/entity/InsideOutSideMeeting.java @@ -0,0 +1,90 @@ +package com.adc.da.slrs.InsideOntSideMeeting.entity; + +import com.adc.da.base.entity.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +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 java.util.Date; +import java.util.List; + +/** + * @author tjzdw + * @description + * @date 2023/10/10 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="inside_outside_meeting表对象", description="内外部会议") +public class InsideOutSideMeeting extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId("ID") + private String id; + + @ApiModelProperty(value = "会议名称") + @TableField("MEETING_NAME") + private String meetingName; + + @ApiModelProperty(value = "课题名称,可通过调取功能从政策课题模块中获取") + @TableField("TOPIC_NAME") + private String topicName; + + @ApiModelProperty(value = "会议主办单位") + @TableField("MEETING_ORGANIZER") + private String meetingOrganizer; + + @ApiModelProperty(value = "会议时间") + @TableField("MEETING_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private Date meetingTime; + + @ApiModelProperty(value = "会议地点") + @TableField("MEETING_ADDRESS") + private String meetingAddress; + + @ApiModelProperty(value = "参会人员") + @TableField("PARTICIPANTS") + private String participants; + + @ApiModelProperty(value = "会议纪要") + @TableField("MEETING_MINUTES") + private String meetingMinutes; + + @ApiModelProperty(value = "会议主要内容") + @TableField("MEETING_CONTENT") + private String meetingContent; + + @ApiModelProperty(value = "1级会议类别") + @TableField("FIRST_MEETING_TYPE") + private String firstMeetingType; + + @ApiModelProperty(value = "2级会议类别") + @TableField("SECOND_MEETING_TYPE") + private String secondMeetingType; + + @ApiModelProperty(value = "会议议题") + private List meetingTopicList; + + @ApiModelProperty(value = "逻辑删除,0可用,1不可用") + @TableField("VALID_FLAG") + private Integer validFlag; + + @ApiModelProperty(value = "创建时间") + @TableField("CREATE_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @ApiModelProperty(value = "修改时间") + @TableField("MODIFY_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date modifyTime; +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/entity/InsideOutsideMeetingVO.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/entity/InsideOutsideMeetingVO.java new file mode 100644 index 00000000..c9c781c4 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/entity/InsideOutsideMeetingVO.java @@ -0,0 +1,69 @@ +package com.adc.da.slrs.InsideOntSideMeeting.entity; + +import com.adc.da.base.page.BasePage; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; +import java.util.List; + +/** + * @author tjzdw + * @description + * @date 2023/10/12 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class InsideOutsideMeetingVO extends BasePage { + + private String id; + + private String meetingName; + + private String topicName; + + private String meetingOrganizer; + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private Date meetingTime; + + private String meetingAddress; + + private String participants; + private List participantsList; + + private String meetingMinutes; + + private String meetingContent; + + private String firstMeetingType; + + private String secondMeetingType; + + private List meetingTopicList; + + private String agendaName; + + private String agendaMaterials; + + private String reporter; + + private String reportingUnit; + + private String agendaContent; + + private Integer validFlag; + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date creationTime; + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date modifyTime; + + private String sortField; + + private String sortMode; + + private String meetingTimeOperator = "="; +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/entity/MeetingTopic.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/entity/MeetingTopic.java new file mode 100644 index 00000000..ff382dab --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/entity/MeetingTopic.java @@ -0,0 +1,67 @@ +package com.adc.da.slrs.InsideOntSideMeeting.entity; + +import com.adc.da.base.entity.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +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 java.util.Date; + +/** + * @author tjzdw + * @description + * @date 2023/10/12 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="meeting_topic表对象", description="会议议题表") +public class MeetingTopic extends BaseEntity { + + @ApiModelProperty(value = "主键") + @TableId("ID") + private String id; + + @ApiModelProperty(value = "内外部会议ID") + @TableField("MEETING_ID") + private String meetingId; + + @ApiModelProperty(value = "议题名称") + @TableField("AGENDA_NAME") + private String agendaName; + + @ApiModelProperty(value = "议题材料") + @TableField("AGENDA_MATERIALS") + private String agendaMaterials; + + @ApiModelProperty(value = "汇报人") + @TableField("REPORTER") + private String reporter; + + @ApiModelProperty(value = "汇报单位") + @TableField("REPORTING_UNIT") + private String reportingUnit; + + @ApiModelProperty(value = "议题主要内容") + @TableField("AGENDA_CONTENT") + private String agendaContent; + + @ApiModelProperty(value = "逻辑删除,0可用,1不可用") + @TableField("VALID_FLAG") + private Integer validFlag; + + @ApiModelProperty(value = "创建时间") + @TableField("CREATE_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @ApiModelProperty(value = "修改时间") + @TableField("MODIFY_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date modifyTime; +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/service/InsideOutsideMeetingService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/service/InsideOutsideMeetingService.java new file mode 100644 index 00000000..a71a2544 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/service/InsideOutsideMeetingService.java @@ -0,0 +1,23 @@ +package com.adc.da.slrs.InsideOntSideMeeting.service; + +import com.adc.da.slrs.InsideOntSideMeeting.entity.InsideOutSideMeeting; +import com.adc.da.slrs.InsideOntSideMeeting.entity.InsideOutsideMeetingVO; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * @author tjzdw + * @description + * @date 2023/10/10 + */ +public interface InsideOutsideMeetingService extends IService { + + Integer addMeetingInfo(InsideOutSideMeeting insideOutSideMeeting); + + List queryByPage(InsideOutsideMeetingVO page); + + InsideOutSideMeeting getMeetingInfo(String meetingId); + + Integer deleteMeetingById(String meetingId); +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/service/impl/InsideOutsideMeetingServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/service/impl/InsideOutsideMeetingServiceImpl.java new file mode 100644 index 00000000..b927919d --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/service/impl/InsideOutsideMeetingServiceImpl.java @@ -0,0 +1,80 @@ +package com.adc.da.slrs.InsideOntSideMeeting.service.impl; + +import com.adc.da.slrs.InsideOntSideMeeting.dao.InsideOutsideMeetingDao; +import com.adc.da.slrs.InsideOntSideMeeting.dao.MeetingTopicDao; +import com.adc.da.slrs.InsideOntSideMeeting.entity.InsideOutSideMeeting; +import com.adc.da.slrs.InsideOntSideMeeting.entity.InsideOutsideMeetingVO; +import com.adc.da.slrs.InsideOntSideMeeting.entity.MeetingTopic; +import com.adc.da.slrs.InsideOntSideMeeting.service.InsideOutsideMeetingService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +/** + * @author tjzdw + * @description + * @date 2023/10/10 + */ +@Service +public class InsideOutsideMeetingServiceImpl extends ServiceImpl implements InsideOutsideMeetingService { + + @Resource + private MeetingTopicDao meetingTopicDao; + + @Override + public InsideOutSideMeeting getMeetingInfo(String meetingId){ + InsideOutSideMeeting insideOutSideMeeting = this.baseMapper.selectById(meetingId); + if (insideOutSideMeeting != null) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(MeetingTopic::getMeetingId, meetingId); + List meetingTopicList = meetingTopicDao.selectList(wrapper); + insideOutSideMeeting.setMeetingTopicList(meetingTopicList); + } + return insideOutSideMeeting; + } + + @Transactional + @Override + public Integer deleteMeetingById(String meetingId) { + int deleteById = this.baseMapper.deleteById(meetingId); + if (deleteById > 0) { + meetingTopicDao.deleteById(meetingId); + } + return deleteById; + } + + @Transactional + @Override + public Integer addMeetingInfo(InsideOutSideMeeting insideOutSideMeeting) { + insideOutSideMeeting.setCreateTime(new Date()); + insideOutSideMeeting.setModifyTime(new Date()); + insideOutSideMeeting.setValidFlag(0); + int insert = this.baseMapper.insert(insideOutSideMeeting); + if (!insideOutSideMeeting.getMeetingTopicList().isEmpty()) { + for (MeetingTopic meetingTopic : insideOutSideMeeting.getMeetingTopicList()) { + meetingTopic.setCreateTime(new Date()); + meetingTopic.setModifyTime(new Date()); + meetingTopic.setValidFlag(0); + meetingTopicDao.insert(meetingTopic); + } + } + return insert; + } + + @Override + public List queryByPage(InsideOutsideMeetingVO page){ + if (StringUtils.isNotBlank(page.getParticipants())) { + page.setParticipantsList(Arrays.asList(page.getParticipants().split(","))); + } + Integer rowCount = this.baseMapper.queryByPageCount(page); + page.getPager().setRowCount(rowCount); + return this.baseMapper.queryByPage(page); + } +} diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/InsideOntSideMeeting/InsideOntSideMeeting.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/InsideOntSideMeeting/InsideOntSideMeeting.xml new file mode 100644 index 00000000..f8d8cf57 --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/InsideOntSideMeeting/InsideOntSideMeeting.xml @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID,MEETING_NAME,TOPIC_NAME,MEETING_ORGANIZER,MEETING_TIME,MEETING_ADDRESS, + PARTICIPANTS,MEETING_MINUTES,MEETING_CONTENT,FIRST_MEETING_TYPE,SECOND_MEETING_TYPE,VALID_FLAG,CREATE_TIME,MODIFY_TIME + + + iom.ID,iom.MEETING_NAME,iom.TOPIC_NAME,iom.MEETING_ORGANIZER,iom.MEETING_TIME,iom.MEETING_ADDRESS, + iom.PARTICIPANTS,iom.MEETING_MINUTES,iom.MEETING_CONTENT,iom.FIRST_MEETING_TYPE,iom.SECOND_MEETING_TYPE, + mt.ID,mt.MEETING_ID,mt.AGENDA_NAME,mt.AGENDA_MATERIALS,mt.REPORTER,mt.REPORTING_UNIT, + mt.AGENDA_CONTENT,mt.VALID_FLAG,mt.CREATE_TIME,mt.MODIFY_TIME, + iom.VALID_FLAG,iom.CREATE_TIME,iom.MODIFY_TIME + + + + + and MEETING_NAME like concat('%',#{meetingName},'%') + + + and TOPIC_NAME = #{topicName} + + + and MEETING_ORGANIZER like concat('%',#{meetingOrganizer},'%') + + + and MEETING_TIME ${meetingTimeOperator} #{meetingTime} + + + and MEETING_ADDRESS like concat('%',#{meetingAddress},'%') + + + and PARTICIPANTS in + + #{participant} + + + + and MEETING_CONTENT like concat('%',#{meetingContent},'%') + + + and FIRST_MEETING_TYPE = #{firstMeetingType} + + + and SECOND_MEETING_TYPE = #{secondMeetingType} + + + + + + and mt.AGENDA_NAME like concat('%',#{agendaName},'%') + + + and mt.REPORTER like concat('%',#{reporter},'%') + + + and mt.REPORTING_UNIT like concat('%',#{reportingUnit},'%') + + + and mt.AGENDA_CONTENT like concat('%',#{agendaContent},'%') + + + + + + + \ No newline at end of file