diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/controller/PayDraftingGroupDistributionRecordController.java b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/controller/PayDraftingGroupDistributionRecordController.java
new file mode 100644
index 00000000..c4bbde4d
--- /dev/null
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/controller/PayDraftingGroupDistributionRecordController.java
@@ -0,0 +1,42 @@
+package com.jero.drafting.controller;
+
+import com.jero.common.api.vo.Result;
+import com.jero.common.aspect.annotation.DictPoint;
+import com.jero.common.exception.JeroBootException;
+import com.jero.common.system.base.controller.JeroController;
+import com.jero.drafting.entity.PayDraftingGroupDistributionRecord;
+import com.jero.drafting.service.IPayDraftingGroupDistributionRecordService;
+import com.jero.modules.oss.service.IOSSFileService;
+import com.jero.project.common.PayProjectCommon;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+/**
+ *
+ * 起草组成员企业联系人表 前端控制器
+ *
+ *
+ * @author sz
+ * @since 2024-01-02
+ */
+@Api(tags = "起草组-分发记录")
+@RestController
+@RequestMapping("/drafting/payDraftingGroupDistributionRecord")
+@Slf4j
+public class PayDraftingGroupDistributionRecordController extends JeroController {
+ @Resource
+ private IOSSFileService iossFileService;
+ @Value("${jero.path.upload}")
+ private String upLoadPath;
+
+
+}
diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/entity/PayDraftingGroupDistributionRecord.java b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/entity/PayDraftingGroupDistributionRecord.java
new file mode 100644
index 00000000..c782adc8
--- /dev/null
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/entity/PayDraftingGroupDistributionRecord.java
@@ -0,0 +1,104 @@
+package com.jero.drafting.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+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;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description: pay_drafting_group_distribution_record
+ * @Author: jeecg-boot
+ * @Date: 2024-01-05
+ * @Version: V1.0
+ */
+@Data
+@TableName("pay_drafting_group_distribution_record")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="pay_drafting_group_distribution_record", description="pay_drafting_group_distribution_record")
+public class PayDraftingGroupDistributionRecord implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ /**主键*/
+ @TableId(type = IdType.ASSIGN_ID)
+ @ApiModelProperty(value = "主键")
+ private String id;
+ /**资料id*/
+ @Excel(name = "资料id", width = 15)
+ @ApiModelProperty(value = "资料id")
+ private String dataId;
+ /**起草组id或者分标委id*/
+ @Excel(name = "起草组id或者分标委id", width = 15)
+ @ApiModelProperty(value = "起草组id或者分标委id")
+ private String projectId;
+ /**工作组成员id或者分标委成员id*/
+ @Excel(name = "工作组成员id或者分标委成员id", width = 15)
+ @ApiModelProperty(value = "工作组成员id或者分标委成员id")
+ private String subId;
+ /**文件id*/
+ @Excel(name = "文件id", width = 15)
+ @ApiModelProperty(value = "文件id")
+ private String fileId;
+ /**联系人id*/
+ @Excel(name = "联系人id", width = 15)
+ @ApiModelProperty(value = "联系人id")
+ private String contactsId;
+ /**联系人名称*/
+ @Excel(name = "联系人名称", width = 15)
+ @ApiModelProperty(value = "联系人名称")
+ private String contactsName;
+ /**创建人*/
+ @ApiModelProperty(value = "创建人")
+ private String createBy;
+ /**创建时间*/
+ @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty(value = "创建时间")
+ private Date createTime;
+ /**更新人*/
+ @ApiModelProperty(value = "更新人")
+ private String updateBy;
+ /**更新时间*/
+ @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty(value = "更新时间")
+ private Date updateTime;
+
+ /**资料ids 多个以逗号分隔*/
+ @Excel(name = "资料ids 多个以逗号分隔", width = 15)
+ @ApiModelProperty(value = "资料ids 多个以逗号分隔")
+ @TableField(exist = false)
+ private String dataIds;
+
+ /**项目类型1:起草组,2:分标委*/
+ @ApiModelProperty(value = "项目类型1:起草组,2:分标委")
+ private Integer projectType;
+
+ /**联系人ids 多个以逗号分隔*/
+ @TableField(exist = false)
+ @ApiModelProperty(value = "联系人ids 多个以逗号分隔")
+ private String contactsIds;
+ /**
+ * 联系人临时id
+ */
+ @TableField(exist = false)
+ @ApiModelProperty(value = "联系人临时id")
+ private String temporaryContactsId;
+
+ /**
+ * 是否发送邮件
+ */
+ @TableField(exist = false)
+ @ApiModelProperty(value = "是否发送邮件")
+ private Integer sendEmailFlag;
+}
diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/mapper/PayDraftingGroupDistributionRecordMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/mapper/PayDraftingGroupDistributionRecordMapper.java
new file mode 100644
index 00000000..ad520f9f
--- /dev/null
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/mapper/PayDraftingGroupDistributionRecordMapper.java
@@ -0,0 +1,15 @@
+package com.jero.drafting.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jero.drafting.entity.PayDraftingGroupDistributionRecord;
+
+/**
+ *
+ * 起草组-分发记录表 Mapper 接口
+ *
+ *
+ * @author sz
+ * @since 2024-01-02
+ */
+public interface PayDraftingGroupDistributionRecordMapper extends BaseMapper {
+}
diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/mapper/xml/PayDraftingGroupDistributionRecordMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/mapper/xml/PayDraftingGroupDistributionRecordMapper.xml
new file mode 100644
index 00000000..690830da
--- /dev/null
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/mapper/xml/PayDraftingGroupDistributionRecordMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/IPayDraftingGroupDistributionRecordService.java b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/IPayDraftingGroupDistributionRecordService.java
new file mode 100644
index 00000000..3a798380
--- /dev/null
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/IPayDraftingGroupDistributionRecordService.java
@@ -0,0 +1,16 @@
+package com.jero.drafting.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jero.drafting.entity.PayDraftingGroupDistributionRecord;
+import com.jero.drafting.entity.PayDraftingGroupSubItemContacts;
+
+/**
+ *
+ * 起草组 分发记录表 服务类
+ *
+ *
+ * @author sz
+ * @since 2024-01-02
+ */
+public interface IPayDraftingGroupDistributionRecordService extends IService {
+}
diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/impl/PayDraftingGroupDistributionRecordServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/impl/PayDraftingGroupDistributionRecordServiceImpl.java
new file mode 100644
index 00000000..d087e204
--- /dev/null
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/impl/PayDraftingGroupDistributionRecordServiceImpl.java
@@ -0,0 +1,22 @@
+package com.jero.drafting.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jero.drafting.entity.PayDraftingGroupDistributionRecord;
+import com.jero.drafting.entity.PayDraftingGroupSubItemContacts;
+import com.jero.drafting.mapper.PayDraftingGroupDistributionRecordMapper;
+import com.jero.drafting.mapper.PayDraftingGroupSubItemContactsMapper;
+import com.jero.drafting.service.IPayDraftingGroupDistributionRecordService;
+import com.jero.drafting.service.IPayDraftingGroupSubItemContactsService;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 起草组 分发记录表 服务实现类
+ *
+ *
+ * @author sz
+ * @since 2024-01-05
+ */
+@Service
+public class PayDraftingGroupDistributionRecordServiceImpl extends ServiceImpl implements IPayDraftingGroupDistributionRecordService {
+}
diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/common/MeetingCommon.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/common/MeetingCommon.java
index 53fe038e..bf37341b 100644
--- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/common/MeetingCommon.java
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/common/MeetingCommon.java
@@ -56,6 +56,14 @@ public class MeetingCommon {
* 理事会会议
*/
public final static Integer COUNCIL_MEETING_INT = 6;
+ /**
+ * 起草组会议
+ */
+ public final static String DRAFTING_GROUP_MEETING = "7";
+ /**
+ * 起草组会议
+ */
+ public final static Integer DRAFTING_GROUP_MEETING_INT = 7;
/**
* 标准宣贯
*/
diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/DraftGroupMeetingController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/DraftGroupMeetingController.java
new file mode 100644
index 00000000..e06b576d
--- /dev/null
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/DraftGroupMeetingController.java
@@ -0,0 +1,172 @@
+package com.jero.meeting.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+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.exception.JeroBootException;
+import com.jero.common.system.api.ISysBaseAPI;
+import com.jero.common.system.vo.LoginUser;
+import com.jero.common.util.PasswordUtil;
+import com.jero.common.util.ValidUtil;
+import com.jero.drafting.entity.PayDraftingGroup;
+import com.jero.drafting.service.IPayDraftingGroupService;
+import com.jero.meeting.common.MeetingCommon;
+import com.jero.meeting.entity.PayMeeting;
+import com.jero.meeting.entity.PayMeetingHotelContacts;
+import com.jero.meeting.service.IPayMeetingHotelContactsService;
+import com.jero.meeting.service.IPayMeetingService;
+import com.jero.meeting.vo.PayMeetingVO;
+import com.jero.modules.system.volid.group.UpdateGroup;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.web.bind.annotation.*;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Objects;
+
+@Api(tags = "会议管理-起草组会议")
+@RestController
+@RequestMapping("/meeting/draftGroupMeeting")
+@Slf4j
+public class DraftGroupMeetingController {
+ @Resource
+ private IPayMeetingService payMeetingService;
+ @Resource
+ private ISysBaseAPI sysBaseAPI;
+ @Resource
+ private IPayMeetingHotelContactsService meetingHotelContactsService;
+ @Resource
+ private IPayDraftingGroupService payDraftingGroupService;
+
+ /**
+ * 分页列表查询
+ */
+// @RequiresPermissions("draftGroupMeeting:search")
+ @ApiOperation(value = "会议管理-分页列表查询", notes = "会议管理-分页列表查询")
+ @GetMapping(value = "/page")
+ public Result> queryPageList(PayMeeting payMeeting,
+ @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+ @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+ HttpServletRequest req) {
+ payMeeting.setMeetingType(MeetingCommon.DRAFTING_GROUP_MEETING_INT);
+ IPage pageList = payMeetingService.queryPageList(payMeeting, pageNo, pageSize, req);
+ return Result.OK(pageList);
+ }
+
+ /**
+ * 添加
+ */
+// @RequiresPermissions("draftGroupMeeting:add")
+ @AutoLog(value = "会议管理-添加")
+ @ApiOperation(value = "会议管理-添加", notes = "会议管理-添加")
+ @PostMapping(value = "/add")
+ public Result> add(@RequestBody PayMeetingVO payMeetingVO) {
+ String meetingType = payMeetingVO.getMeetingType();
+ if (!Objects.equals(meetingType, MeetingCommon.DRAFTING_GROUP_MEETING)) {
+ throw new RuntimeException();
+ }
+ ValidUtil.validate(payMeetingVO);
+ payMeetingService.add(payMeetingVO);
+ return Result.OK("添加成功!");
+ }
+
+ /**
+ * 编辑
+ */
+// @RequiresPermissions("draftGroupMeeting:edit")
+ @AutoLog(value = "会议管理-编辑")
+ @ApiOperation(value = "会议管理-编辑", notes = "会议管理-编辑")
+ @PostMapping(value = "/edit")
+ public Result> edit(@RequestBody PayMeetingVO payMeetingVO) {
+ String id = payMeetingVO.getId();
+ verifyMeetingType(id);
+ ValidUtil.validate(payMeetingVO, UpdateGroup.class);
+ payMeetingService.editById(payMeetingVO);
+ return Result.OK("编辑成功!");
+ }
+
+ /**
+ * 验证会议类型
+ * @param id
+ */
+ private void verifyMeetingType(String id) {
+ if (StringUtils.isBlank(id)) {
+ throw new JeroBootException("会议id不能为空");
+ }
+ PayMeeting payMeeting = payMeetingService.getById(id);
+ if (Objects.isNull(payMeeting)) {
+ throw new JeroBootException("该会议不存在");
+ }
+ Integer meetingType = payMeeting.getMeetingType();
+ if (!Objects.equals(meetingType, MeetingCommon.DRAFTING_GROUP_MEETING_INT)) {
+ throw new RuntimeException();
+ }
+ }
+
+ /**
+ * 通过id删除
+ */
+// @RequiresPermissions("draftGroupMeeting:delete")
+ @AutoLog(value = "会议管理-通过id删除")
+ @ApiOperation(value = "会议管理-通过id删除", notes = "会议管理-通过id删除")
+ @GetMapping(value = "/delete")
+ public Result> delete(@RequestParam(name = "id") String id) {
+ verifyMeetingType(id);
+ payMeetingService.deleteById(id);
+ return Result.OK("删除成功!");
+ }
+
+ /**
+ * 批量删除
+ */
+// @RequiresPermissions("draftGroupMeeting:batchDel")
+ @AutoLog(value = "会议管理-批量删除")
+ @ApiOperation(value = "会议管理-批量删除", notes = "会议管理-批量删除")
+ @GetMapping(value = "/deleteBatch")
+ public Result> deleteBatch(@RequestParam(name = "ids") String ids) {
+ List idList = Arrays.asList(ids.split(","));
+ for (String id : idList) {
+ verifyMeetingType(id);
+ }
+ this.payMeetingService.deleteByIds(idList);
+ return Result.OK("批量删除成功!");
+ }
+
+ /**
+ * 通过id查询
+ */
+ @ApiOperation(value = "会议管理-通过id查询", notes = "会议管理-通过id查询")
+ @GetMapping(value = "/queryById")
+ public Result> queryById(@RequestParam(name = "id") String id) {
+ PayMeeting meeting = payMeetingService.queryById(id);
+ if (meeting == null || !Objects.equals(meeting.getMeetingType(), MeetingCommon.DRAFTING_GROUP_MEETING_INT)) {
+ return Result.error("未找到对应数据");
+ }
+ //查询会议负责人
+ LoginUser user = sysBaseAPI.getUserById(meeting.getDirectorId());
+ meeting.setDirectorName(user.getRealname());
+ meeting.setDirectorPhone(PasswordUtil.decrypt(user.getPhone()));
+ PayMeetingVO payMeetingVO = new PayMeetingVO();
+ BeanUtils.copyProperties(meeting, payMeetingVO);
+ String meetingType = meeting.getMeetingType().toString();
+ payMeetingVO.setMeetingType(meetingType);
+ payMeetingVO.setTbMeetingType(meeting.getMeetingType().toString());
+ //会议查询酒店联系人列表
+ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(PayMeetingHotelContacts::getMeetingId, meeting.getId());
+ List payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper);
+ payMeetingVO.setHotelContactsList(payMeetingHotelContactsList);
+ // 起草组项目查询起草组项目名
+ String draftingGroupId = meeting.getDraftingGroupId();
+ PayDraftingGroup payDraftingGroup = payDraftingGroupService.getById(draftingGroupId);
+ payMeetingVO.setDirectorName(payDraftingGroup.getDraftingGroupProject());
+ return Result.OK(payMeetingVO);
+
+ }
+}
diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeeting.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeeting.java
index a37e16a9..6aef4774 100644
--- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeeting.java
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeeting.java
@@ -397,4 +397,13 @@ public class PayMeeting implements Serializable {
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "征集截止日期")
private java.util.Date endTimeAddQuestion;
+
+ /**起草组id*/
+ @Excel(name = "起草组名称", width = 15, dictTable = "pay_drafting_group",dicText = "drafting_group_project",dicCode = "id")
+ @ApiModelProperty(value = "起草id")
+ private String draftingGroupId;
+
+ /**起草组名称*/
+ @ApiModelProperty(value = "起草组名称")
+ private String draftingGroupName;
}
diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingMapper.java
index 80ef82e2..abc029d2 100644
--- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingMapper.java
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingMapper.java
@@ -35,6 +35,9 @@ public interface PayMeetingMapper extends BaseMapper {
IPage workGroupPage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper);
+ IPage draftGroupPage(Page page, QueryWrapper queryWrapper);
+
+
IPage standardPage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper);
IPage basePage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper);
diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingMapper.xml
index debb2bee..34ac71c2 100644
--- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingMapper.xml
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingMapper.xml
@@ -230,6 +230,16 @@
${ew.customSqlSegment}
+
+
+