package com.ruoyi.collaborativeApproval.controller; 
 | 
  
 | 
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 
 | 
import com.ruoyi.approve.pojo.ApproveProcess; 
 | 
import com.ruoyi.collaborativeApproval.mapper.MeetDraftMapper; 
 | 
import com.ruoyi.collaborativeApproval.pojo.MeetApplication; 
 | 
import com.ruoyi.collaborativeApproval.pojo.MeetDraft; 
 | 
import com.ruoyi.collaborativeApproval.pojo.MeetingMinutes; 
 | 
import com.ruoyi.collaborativeApproval.pojo.MeetingRoom; 
 | 
import com.ruoyi.collaborativeApproval.service.MeetingService; 
 | 
import com.ruoyi.collaborativeApproval.vo.SearchMeetingApplicationVo; 
 | 
import com.ruoyi.collaborativeApproval.vo.SearchMeetingDraftVo; 
 | 
import com.ruoyi.collaborativeApproval.vo.SearchMeetingRoomVo; 
 | 
import com.ruoyi.collaborativeApproval.vo.SearchMeetingUseVo; 
 | 
import com.ruoyi.common.utils.poi.ExcelUtil; 
 | 
import com.ruoyi.framework.web.domain.R; 
 | 
import io.swagger.annotations.Api; 
 | 
import io.swagger.annotations.ApiOperation; 
 | 
import lombok.RequiredArgsConstructor; 
 | 
import org.springframework.web.bind.annotation.*; 
 | 
  
 | 
import javax.servlet.http.HttpServletResponse; 
 | 
import java.util.List; 
 | 
  
 | 
/** 
 | 
 * 关于会议controller 
 | 
 * 
 | 
 * @author buhuazhen 
 | 
 * @date 2025/9/15 
 | 
 * @email 3038525872@qq.com 
 | 
 */ 
 | 
@RestController 
 | 
@RequestMapping("/meeting") 
 | 
@RequiredArgsConstructor 
 | 
@Api(tags = "会议") 
 | 
public class MeetingController { 
 | 
    private final MeetingService meetingService; 
 | 
  
 | 
    @PostMapping("/roomList") 
 | 
    public R getMeetingRoomList(@RequestBody SearchMeetingRoomVo vo) { 
 | 
  
 | 
        return R.ok(meetingService.getMeetingRoomList(vo)); 
 | 
    } 
 | 
  
 | 
    @PostMapping("/saveRoom") 
 | 
    public R saveRoom(@RequestBody MeetingRoom meetingRoom) { 
 | 
        meetingService.saveMeetRoom(meetingRoom); 
 | 
        return R.ok(); 
 | 
    } 
 | 
  
 | 
    @GetMapping("/room/{id}") 
 | 
    public R getRoomById(@PathVariable Long id) { 
 | 
        return R.ok(meetingService.findMeetRoomById(id)); 
 | 
    } 
 | 
  
 | 
    @DeleteMapping("/delRoom/{id}") 
 | 
    public R deleteRoom(@PathVariable Long id) { 
 | 
        meetingService.deleteMeetingRoom(id); 
 | 
        return R.ok(); 
 | 
    } 
 | 
  
 | 
    @GetMapping("/roomEnum") 
 | 
    public R getRoomEnum() { 
 | 
        return R.ok(meetingService.getRoomEnum()); 
 | 
    } 
 | 
  
 | 
    @PostMapping("/draftList") 
 | 
    public R getMeetingDraftList(@RequestBody SearchMeetingDraftVo vo) { 
 | 
        return R.ok(meetingService.getMeetingDraftList(vo)); 
 | 
    } 
 | 
  
 | 
    @PostMapping("/saveDraft") 
 | 
    public R saveMeetingDraft(@RequestBody MeetDraft meetDraft) { 
 | 
        meetingService.saveMeetDraft(meetDraft); 
 | 
        return R.ok(); 
 | 
    } 
 | 
  
 | 
    @DeleteMapping("/delDraft/{id}") 
 | 
    public R deleteMeetingDraft(@PathVariable Long id) { 
 | 
        meetingService.deleteMeetingDraft(id); 
 | 
        return R.ok(); 
 | 
    } 
 | 
  
 | 
    @PostMapping("/saveMeetingApplication") 
 | 
    public R saveMeetApplication(@RequestBody MeetApplication meetApplication) { 
 | 
        meetingService.saveMeetApplication(meetApplication); 
 | 
        return R.ok(); 
 | 
    } 
 | 
  
 | 
    @PostMapping("/applicationList") 
 | 
    public R getMeetingApplicationList(@RequestBody SearchMeetingApplicationVo vo) { 
 | 
        return R.ok(meetingService.getMeetingApplicationList(vo)); 
 | 
    } 
 | 
  
 | 
  
 | 
  
 | 
    @PostMapping("/meetingUseList") 
 | 
    public R meetingUseList(@RequestBody SearchMeetingUseVo vo) { 
 | 
        return R.ok(meetingService.meetingUseList(vo)); 
 | 
    } 
 | 
  
 | 
  
 | 
    @PostMapping("/meetingPublishList") 
 | 
    public R meetingPublishList(@RequestBody SearchMeetingApplicationVo vo) { 
 | 
        return R.ok(meetingService.getMeetingPublishList(vo)); 
 | 
    } 
 | 
  
 | 
  
 | 
    @GetMapping("/getMeetingMinutesByMeetingId/{id}") 
 | 
    public R getMeetingMinutes(@PathVariable Long id) { 
 | 
        return R.ok(meetingService.getMeetingMinutesById(id)); 
 | 
    } 
 | 
  
 | 
    @PostMapping("/saveMeetingMinutes") 
 | 
    public R saveMeetingMinutes(@RequestBody MeetingMinutes meetingMinutes) { 
 | 
        meetingService.saveMeetingMinutes(meetingMinutes); 
 | 
        return R.ok(); 
 | 
    } 
 | 
  
 | 
    @GetMapping("/getMeetSummary") 
 | 
    public R getMeetSummary() { 
 | 
        return R.ok(meetingService.getMeetSummary()); 
 | 
    } 
 | 
  
 | 
    @GetMapping("/getMeetSummaryItems") 
 | 
    public R getMeetSummaryItems() { 
 | 
        return R.ok(meetingService.getMeetSummaryItems()); 
 | 
    } 
 | 
  
 | 
    @ApiOperation(value = "会议室设置导出") 
 | 
    @PostMapping("/export") 
 | 
    public void export(HttpServletResponse response) { 
 | 
        List<MeetingRoom> accountExpenses = meetingService.list(); 
 | 
        ExcelUtil<MeetingRoom> util = new ExcelUtil<MeetingRoom>(MeetingRoom.class); 
 | 
        util.exportExcel(response, accountExpenses, "会议室设置导出"); 
 | 
    } 
 | 
  
 | 
    private final MeetDraftMapper meetDraftMapper; 
 | 
  
 | 
    @ApiOperation(value = "会议草稿导出") 
 | 
    @PostMapping("/exportOne") 
 | 
    public void exportOne(HttpServletResponse response) { 
 | 
        List<MeetDraft> accountExpenses = meetDraftMapper.selectList(new LambdaQueryWrapper<MeetDraft>()); 
 | 
        ExcelUtil<MeetDraft> util = new ExcelUtil<MeetDraft>(MeetDraft.class); 
 | 
        util.exportExcel(response, accountExpenses, "会议草稿导出"); 
 | 
    } 
 | 
  
 | 
} 
 |