diff --git a/db/24年6月变更.sql b/db/24年6月变更.sql
index 54896d6f..f6fe7f44 100644
--- a/db/24年6月变更.sql
+++ b/db/24年6月变更.sql
@@ -115,7 +115,7 @@ INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `com
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1807708679419334658', '1438394322899558402', '会员信息统计', '/incomePayments/memberManage/MemberStatisticList', 'incomePayments/memberManage/MemberStatisticList', NULL, NULL, 1, NULL, '1', 8.11, 0, NULL, 1, 0, 0, 0, NULL, 'LKGLZ', '2024-07-01 17:31:49', NULL, NULL, 0, 0, '1', 0, 1);
-- 20240703 工作组-成员单位维护-确认凭证 工作组-全部文件导出
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808440661174550530', '1431167539278086146', '确认凭证', NULL, NULL, NULL, NULL, 2, 'workingGroupMember:confirmVoucher', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-03 18:00:27', NULL, NULL, 0, 0, '1', 0, 1);
-INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808439808279609346', '1430718058514440194', '全部文件导出', NULL, NULL, NULL, NULL, 2, 'workingGroupMember:exportAllFile', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-03 17:57:04', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808439808279609346', '1430718058514440194', '全部文件导出', NULL, NULL, NULL, NULL, 2, 'workingGroupProject:exportAllFile', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-03 17:57:04', NULL, NULL, 0, 0, '1', 0, 1);
-- 20240703 工作组、起草组-会议参会情况-批量审核报名信息
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808458564737335298', '1742070808427126785', '批量审核报名信息', '', NULL, NULL, NULL, 2, 'draftGroupMeetingSituation:batchAuditSignUp', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-03 19:11:36', NULL, NULL, 0, 0, '1', 0, 1);
INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808458432167968769', '1443462660843458561', '批量审核报名信息', NULL, NULL, NULL, NULL, 2, 'workGroupMeetingSituation:batchAuditSignUp', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-03 19:11:04', NULL, NULL, 0, 0, '1', 0, 1);
@@ -162,4 +162,25 @@ ALTER TABLE `tb_member_project_subitem`
-- 20240708 工作组表新增自定义排序字段
ALTER TABLE `pay_working_group`
- add column sort_no int comment '自定义排序顺序'
\ No newline at end of file
+ add column sort_no int comment '自定义排序顺序';
+
+-- 20240710 新增会议酒店推荐表
+DROP TABLE IF EXISTS `pay_meeting_hotel_recommend`;
+CREATE TABLE `pay_meeting_hotel_recommend` (
+ `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键',
+ `recommend_people` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '推荐人',
+ `hotel_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '酒店名称',
+ `hotel_province` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所在省份',
+ `hotel_city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所在城市',
+ `is_hold` tinyint(1) NULL DEFAULT NULL COMMENT '是否举办过标准院会议 1-是 0-否',
+ `meeting_type` tinyint(1) NULL DEFAULT NULL COMMENT '曾举办的会议类型',
+ `contact` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '酒店联系方式',
+ `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
+ `create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
+ `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
+ `update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人',
+ `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '会议酒店推荐表' ROW_FORMAT = Dynamic;
+SET FOREIGN_KEY_CHECKS = 1;
+
diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingHotelRecommendController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingHotelRecommendController.java
new file mode 100644
index 00000000..a7238494
--- /dev/null
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingHotelRecommendController.java
@@ -0,0 +1,85 @@
+package com.jero.meeting.controller;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.jero.common.api.vo.Result;
+import com.jero.common.exception.JeroBootException;
+import com.jero.common.system.base.controller.JeroController;
+import com.jero.drafting.entity.PayDraftingGroup;
+import com.jero.meeting.entity.PayMeeting;
+import com.jero.meeting.entity.PayMeetingHotelRecommend;
+import com.jero.meeting.service.IPayMeetingHotelRecommendService;
+import com.jero.meeting.vo.excel.PayMeetingHotelRecommendExcel;
+import com.jero.member.entity.TbMemberProjectSubitem;
+import com.jero.member.service.ITbMemberProjectSubitemService;
+import com.jero.member.vo.TbMemberProjectSubitemExcel;
+import com.jero.member.vo.TbMemberProjectSubitemExcelImport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+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;
+
+/**
+ *
+ * 会议酒店推荐表 前端控制器
+ *
+ *
+ * @author sz
+ * @since 2024-07-10
+ */
+@Api(tags = "会议酒店推荐")
+@RestController
+@RequestMapping("/meeting/payMeetingHotelRecommend")
+@Slf4j
+public class PayMeetingHotelRecommendController extends JeroController {
+
+ @Resource
+ private IPayMeetingHotelRecommendService payMeetingHotelRecommendService;
+
+ /**
+ * 分页列表查询
+ *
+ * @param meetingHotelRecommend 会议酒店推荐
+ * @param pageNo 页数
+ * @param pageSize 条数
+ */
+// @RequiresPermissions("")
+ @ApiOperation(value = "会议酒店推荐-分页列表查询", notes = "会议酒店推荐-分页列表查询")
+ @GetMapping(value = "/page")
+ public Result> queryPageList(PayMeetingHotelRecommend meetingHotelRecommend,
+ @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+ @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+ HttpServletRequest req) {
+ IPage pageList = payMeetingHotelRecommendService.queryHotelRecommendS(meetingHotelRecommend, pageNo, pageSize, req);
+ return Result.OK(pageList);
+ }
+
+ /**
+ * 导出excel模板
+ */
+// @RequiresPermissions("")
+ @ApiOperation(value = "导出模板")
+ @GetMapping(value = "/exportTemplate")
+ public ModelAndView exportTemplate() {
+ return super.exportTemplate(PayMeetingHotelRecommendExcel.class, "会议酒店推荐表");
+ }
+
+ /**
+ * 导入excel
+ */
+ // @RequiresPermissions("")
+ @ApiOperation(value = "导入")
+ @PostMapping(value = "/importXls")
+ public Result