package com.ruoyi.collaborativeApproval.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.basic.enums.ApplicationTypeEnum; import com.ruoyi.basic.enums.RecordTypeEnum; import com.ruoyi.basic.utils.FileUtil; import com.ruoyi.collaborativeApproval.dto.RulesRegulationsManagementDTO; import com.ruoyi.collaborativeApproval.mapper.ReadingStatusMapper; import com.ruoyi.collaborativeApproval.pojo.ReadingStatus; import com.ruoyi.collaborativeApproval.pojo.RulesRegulationsManagement; import com.ruoyi.collaborativeApproval.pojo.SealApplicationManagement; import com.ruoyi.collaborativeApproval.service.RulesRegulationsManagementService; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.framework.web.domain.AjaxResult; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import lombok.AllArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import jakarta.servlet.http.HttpServletResponse; import java.util.List; @RestController @RequestMapping("/rulesRegulationsManagement") @AllArgsConstructor @Tag(name = "制度管理") public class RulesRegulationsManagementController { private RulesRegulationsManagementService rulesRegulationsManagementService; private ReadingStatusMapper readingStatusMapper; private FileUtil fileUtil; @GetMapping("/getList") @Operation(summary = "分页查询") public AjaxResult listPage(Page page, RulesRegulationsManagement rulesRegulationsManagement){ return AjaxResult.success(rulesRegulationsManagementService.listPage(page, rulesRegulationsManagement)); } @PostMapping("/add") @Operation(summary = "新增") @Transactional(rollbackFor = Exception.class) public AjaxResult add(@RequestBody RulesRegulationsManagementDTO rulesRegulationsManagement){ rulesRegulationsManagementService.save(rulesRegulationsManagement); // 保存附件 fileUtil.saveStorageAttachment(ApplicationTypeEnum.FILE, RecordTypeEnum.RULES_REGULATIONS_MANAGEMENT, rulesRegulationsManagement.getId(), rulesRegulationsManagement.getStorageBlobDTOs()); return AjaxResult.success(rulesRegulationsManagement.getId()); } @PostMapping("/update") @Operation(summary = "修改") @Transactional(rollbackFor = Exception.class) public AjaxResult update(@RequestBody RulesRegulationsManagementDTO rulesRegulationsManagement){ rulesRegulationsManagementService.updateById(rulesRegulationsManagement); // 保存附件 fileUtil.saveStorageAttachment(ApplicationTypeEnum.FILE, RecordTypeEnum.RULES_REGULATIONS_MANAGEMENT, rulesRegulationsManagement.getId(), rulesRegulationsManagement.getStorageBlobDTOs()); return AjaxResult.success(rulesRegulationsManagement.getId()); } @DeleteMapping("/delete") @Operation(summary = "删除") public AjaxResult delete(@PathVariable("ids") List ids){ if (CollectionUtils.isEmpty(ids)) { throw new RuntimeException("请传入要删除的ID"); } return AjaxResult.success(rulesRegulationsManagementService.removeBatchByIds(ids)); } //规则查看时新增阅读状态 @PostMapping("/addReadingStatus") @Operation(summary = "新增阅读状态") public AjaxResult addReadingStatus(@RequestBody ReadingStatus readingStatus){ return AjaxResult.success(readingStatusMapper.insert(readingStatus)); } @PostMapping("/updateReadingStatus") @Operation(summary = "修改阅读状态") public AjaxResult updateReadingStatus(@RequestBody ReadingStatus readingStatus){ return AjaxResult.success(readingStatusMapper.updateById(readingStatus)); } @GetMapping("/getReadingStatusList") @Operation(summary = "分页查询阅读状态") public AjaxResult listPage(Page page, ReadingStatus readingStatus){ return AjaxResult.success(readingStatusMapper.selectPage(page,new QueryWrapper(readingStatus))); } @GetMapping("/getReadingStatusByRuleId/{ruleId}") @Operation(summary = "根据制度id查询阅读状态") public AjaxResult getReadingStatusByRuleId(@PathVariable Long ruleId){ return AjaxResult.success(readingStatusMapper.selectList(new QueryWrapper().eq("rule_id", ruleId))); } @Operation(summary = "规章制度管理导出") @PostMapping("/export") public void export(HttpServletResponse response) { List accountExpenses = rulesRegulationsManagementService.list(); ExcelUtil util = new ExcelUtil(RulesRegulationsManagement.class); util.exportExcel(response, accountExpenses, "规章制度管理导出"); } }