智慧保安后台管理-外网
Administrator
2022-06-30 a9943ed22bd7568924bf98c462139269d873cd8a
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
151
152
153
154
155
156
157
158
159
160
161
package org.springblade.modules.securitypaper.controller;
 
import com.alibaba.excel.EasyExcel;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.apache.commons.codec.Charsets;
import org.springblade.common.excel.RowWriteHandler;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.securitypaper.entity.SecurityPaper;
import org.springblade.modules.securitypaper.excel.PaperExcel;
import org.springblade.modules.securitypaper.excel.PaperImporter;
import org.springblade.modules.securitypaper.excel.SecurityPaperExcel;
import org.springblade.modules.securitypaper.excel.SecurityPaperImporter;
import org.springblade.modules.securitypaper.service.SecurityPaperService;
import org.springblade.modules.system.excel.SecurityExcel;
import org.springblade.modules.system.excel.SecurityImporter;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
 
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
 
/**
 * @author zhongrj
 * @time 2021-12-25
 * @desc 保安员证管理控制层
 */
@RestController
@AllArgsConstructor
@RequestMapping("/securityPaper")
public class SecurityPaperController {
 
    private final SecurityPaperService securityPaperService;
 
 
//    /**
//     * 自定义分页
//     * @param query page,size
//     * @param securityPaper 保安员证管理信息对象
//     */
//    @GetMapping("/page")
//    public R<IPage<SecurityPaperVo>> page(SecurityPaperVo securityPaper, Query query) {
//        IPage<SecurityPaperVo> pages = securityPaperService.selectSecurityPaperPage(Condition.getPage(query), securityPaper);
//        return R.data(pages);
//    }
 
    /**
     * 新增
     * @param securityPaper 保安员证管理信息对象
     */
    @PostMapping("/save")
    @ApiOperation(value = "新增", notes = "传入securityPaper")
    public R save(@RequestBody SecurityPaper securityPaper){
        return R.data(securityPaperService.save(securityPaper));
    }
 
 
    /**
     * 修改
     * @param securityPaper 保安员证管理信息对象
     */
    @PostMapping("/update")
    public R update(@RequestBody SecurityPaper securityPaper){
        return R.status(securityPaperService.updateById(securityPaper));
    }
 
    /**
     * 新增或修改
     * @param securityPaper 保安员证管理信息对象
     */
    @PostMapping("/submit")
    public R submit(@RequestBody SecurityPaper securityPaper){
        return R.data(securityPaperService.saveOrUpdate(securityPaper));
    }
 
    /**
     * 删除
     * @param ids 保安员证管理信息ids 数组
     */
    @PostMapping("/remove")
    public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) {
        return R.status(securityPaperService.removeByIds(Func.toLongList(ids)));
    }
 
    /**
     * 详情
     * @param securityPaper 保安员证管理信息对象
     */
    @GetMapping("/detail")
    @ApiOperation(value = "详情", notes = "传入securityPaper")
    public R<SecurityPaper> detail(SecurityPaper securityPaper) {
        SecurityPaper detail = securityPaperService.getOne(Condition.getQueryWrapper(securityPaper));
        return R.data(detail);
    }
 
 
    /**
     * 导入保安员证数据(需用户编号,无效保安员身份证号码)
     */
    @PostMapping("import-security-paper")
    public R importSecurityPaper(MultipartFile file, Integer isCovered, String deptId) {
        SecurityPaperImporter securityImporter = new SecurityPaperImporter(securityPaperService, false,deptId);
        ExcelUtil.save(file, securityImporter, SecurityPaperExcel.class);
        return R.success("操作成功");
    }
 
    /**
     * 导入保安员证数据(需身份证号码,无需用户编号)
     */
    @PostMapping("import-paper")
    public R importPaper(MultipartFile file, Integer isCovered) {
        PaperImporter paperImporter = new PaperImporter(securityPaperService, false);
        ExcelUtil.save(file, paperImporter, PaperExcel.class);
        return R.success("操作成功");
    }
 
    /**
     * 导出模板
     */
    @GetMapping("export-template-security-paper")
    @ApiOperation(value = "导出模板")
    public void exportSecurity(HttpServletResponse response) throws IOException {
        List<SecurityPaperExcel> list = new ArrayList<>();
        SecurityPaperExcel securityExcel = new SecurityPaperExcel();
        securityExcel.setId("12124121245121");
        securityExcel.setRealName("张三");
//        securityExcel.setPhone("12345678901");
//        securityExcel.setCardid("360XXX19XXXXXX****");
//        securityExcel.setRegistered("江西省南昌市******");
        list.add(securityExcel);
 
        SecurityPaperExcel securityExcel1 = new SecurityPaperExcel();
        securityExcel.setId("12124121245121");
        securityExcel1.setRealName("李四");
//        securityExcel1.setPhone("12345678901");
//        securityExcel1.setCardid("360XXX19XXXXXX****");
//        securityExcel1.setRegistered("江西省南昌市******");
        list.add(securityExcel1);
        String fileName = null;
        try {
            response.setContentType("application/vnd.ms-excel");
            response.setCharacterEncoding(org.apache.commons.codec.Charsets.UTF_8.name());
            fileName = URLEncoder.encode("保安员导入数据模板-制证" + DateUtil.time(), Charsets.UTF_8.name());
            response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
            //修改单元格格式为文本格式
            EasyExcel.write(response.getOutputStream(), SecurityPaperExcel.class).sheet("保安员数据表").registerWriteHandler(new RowWriteHandler()).doWrite(list);
        } catch (Throwable var6) {
            throw var6;
        }
    }
 
}