linzhijie
2021-04-12 3a8e1524dcf0eeb610d38123d5f0a3ef838379cd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
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.EntEmailTemplate;
import com.ots.project.exam.domain.TReportTemplate;
import com.ots.project.exam.service.IEntEmailTemplateService;
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;
 
    @Autowired
    private IEntEmailTemplateService entEmailTemplateService;
 
    @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<TReportTemplate> list = tReportTemplateService.selectTReportTemplateList(tReportTemplate);
        return getDataTable(list);
    }
 
    /**
     * 导出报告模板配置列表
     */
    @RequiresPermissions("exam:template:export")
    @PostMapping("/export")
    @ResponseBody
    public AjaxResult export(TReportTemplate tReportTemplate) {
        List<TReportTemplate> list = tReportTemplateService.selectTReportTemplateList(tReportTemplate);
        ExcelUtil<TReportTemplate> util = new ExcelUtil<TReportTemplate>(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<TReportTemplate> 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));
    }
 
 
    /**
     * 邮件模板配置
     * @return
     */
    @RequiresPermissions("exam:email:edit")
    @GetMapping("/emailEdit")
    public String emailEdit(ModelMap mmap) {
        EntEmailTemplate eet = entEmailTemplateService.getOnly();
        mmap.put("emailTemplate",eet);
        return prefix + "/emailEdit";
    }
 
    /**
     * 新增保存邮件模板配置
     */
    @RequiresPermissions("exam:email:edit")
    @Log(title = "邮件模板配置", businessType = BusinessType.INSERT)
    @PostMapping("/emailEdit")
    @ResponseBody
    public AjaxResult emailEdit(EntEmailTemplate entEmailTemplate) {
        if(entEmailTemplate.getId() == null){
            return error("未初始化模板,联系管理员!");
        }
        return toAjax(entEmailTemplateService.insertEntEmailTemplate(entEmailTemplate));
    }
}