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.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("操作成功");
|
}
|
|
/**
|
* 导出模板
|
*/
|
@GetMapping("export-template-security-paper")
|
@ApiOperation(value = "导出模板")
|
public void exportSecurity(HttpServletResponse response) throws IOException {
|
List<SecurityPaperExcel> list = new ArrayList<>();
|
SecurityPaperExcel securityExcel = new SecurityPaperExcel();
|
securityExcel.setDeptId("xxx保安公司");
|
securityExcel.setRealName("张三");
|
securityExcel.setPhone("12345678901");
|
securityExcel.setCardid("360XXX19XXXXXX****");
|
securityExcel.setRegistered("江西省南昌市******");
|
list.add(securityExcel);
|
|
SecurityPaperExcel securityExcel1 = new SecurityPaperExcel();
|
securityExcel1.setDeptId("xxx保安公司");
|
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(), SecurityExcel.class).sheet("保安员数据表").registerWriteHandler(new RowWriteHandler()).doWrite(list);
|
} catch (Throwable var6) {
|
throw var6;
|
}
|
}
|
|
}
|