package com.ots.project.exam.controller; import com.ots.common.utils.poi.ExcelUtil; import com.ots.framework.aspectj.lang.annotation.Log; import com.ots.framework.aspectj.lang.enums.BusinessType; import com.ots.framework.web.controller.BaseController; import com.ots.framework.web.domain.AjaxResult; import com.ots.framework.web.page.TableDataInfo; import com.ots.project.exam.domain.TReportTemplate; import com.ots.project.exam.service.ITReportTemplateService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Objects; /** * 报告模板配置Controller * * @author ots * @date 2020-03-24 */ @Controller @RequestMapping("/exam/template") public class TReportTemplateController extends BaseController { private String prefix = "exam/template"; @Autowired private ITReportTemplateService tReportTemplateService; @RequiresPermissions("exam:template:view") @GetMapping() public String template() { return prefix + "/template"; } /** * 查询报告模板配置列表 */ @RequiresPermissions("exam:template:list") @PostMapping("/list") @ResponseBody public TableDataInfo list(TReportTemplate tReportTemplate) { startPage(); List list = tReportTemplateService.selectTReportTemplateList(tReportTemplate); return getDataTable(list); } /** * 导出报告模板配置列表 */ @RequiresPermissions("exam:template:export") @PostMapping("/export") @ResponseBody public AjaxResult export(TReportTemplate tReportTemplate) { List list = tReportTemplateService.selectTReportTemplateList(tReportTemplate); ExcelUtil util = new ExcelUtil(TReportTemplate.class); return util.exportExcel(list, "template"); } /** * 新增报告模板配置 */ @GetMapping("/add") public String add() { return prefix + "/add"; } /** * 新增保存报告模板配置 */ @RequiresPermissions("exam:template:add") @Log(title = "报告模板配置", businessType = BusinessType.INSERT) @PostMapping("/add") @ResponseBody public AjaxResult addSave(TReportTemplate tReportTemplate) { List tReportTemplates = tReportTemplateService.selectTReportTemplateList(tReportTemplate); if (Objects.nonNull(tReportTemplates) && tReportTemplates.size()>0) { return error("已经存在该语言的模板配置,不允许重复导入!"); } return toAjax(tReportTemplateService.insertTReportTemplate(tReportTemplate)); } /** * 修改报告模板配置 */ @GetMapping("/edit/{id}") public String edit(@PathVariable("id") Long id, ModelMap mmap) { TReportTemplate tReportTemplate = tReportTemplateService.selectTReportTemplateById(id); mmap.put("tReportTemplate", tReportTemplate); return prefix + "/edit"; } /** * 修改保存报告模板配置 */ @RequiresPermissions("exam:template:edit") @Log(title = "报告模板配置", businessType = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody public AjaxResult editSave(TReportTemplate tReportTemplate) { return toAjax(tReportTemplateService.updateTReportTemplate(tReportTemplate)); } /** * 删除报告模板配置 */ @RequiresPermissions("exam:template:remove") @Log(title = "报告模板配置", businessType = BusinessType.DELETE) @PostMapping("/remove") @ResponseBody public AjaxResult remove(String ids) { return toAjax(tReportTemplateService.deleteTReportTemplateByIds(ids)); } }