123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214 |
- package com.ims.eval.controller;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.ims.eval.config.CustomException;
- import com.ims.eval.entity.PartyBuildingMultiplier;
- import com.ims.eval.entity.dto.result.R;
- import com.ims.eval.service.IPartyBuildingMultiplierService;
- import com.ims.eval.util.ExcelUtil;
- import com.ims.eval.util.ExcelUtils;
- import io.swagger.annotations.ApiOperation;
- import lombok.extern.slf4j.Slf4j;
- import org.apache.poi.hssf.usermodel.HSSFWorkbook;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import org.springframework.web.multipart.MultipartFile;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.beans.IntrospectionException;
- import java.io.*;
- import java.lang.reflect.InvocationTargetException;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- /**
- * <p>
- * 前端控制器
- * </p>
- *
- * @author wang
- * @since 2023-03-29
- */
- @Slf4j
- @RestController
- @RequestMapping("//party-building-multiplier")
- public class PartyBuildingMultiplierController {
- @Autowired
- private IPartyBuildingMultiplierService iPartyBuildingMultiplierService;
- /**
- * 查询
- *
- * @param id 主键ID
- * @param departId 部门id
- * @param sectionId 板块id
- * @param year 年度
- * @return
- */
- @GetMapping(value = "/list")
- public R list(@RequestParam(value = "pageNum", required = false) Integer pageNum,
- @RequestParam(value = "pageSize", required = false) Integer pageSize,
- @RequestParam(value = "id", required = false) String id,
- @RequestParam(value = "departId", required = false) String departId,
- @RequestParam(value = "sectionId", required = false) String sectionId,
- @RequestParam(value = "year", required = false) String year) {
- IPage<PartyBuildingMultiplier> list = iPartyBuildingMultiplierService.listAll(pageNum,pageSize,id, departId, sectionId, year);
- return R.ok().data(list);
- }
- /**
- * 查询
- *
- * @param id 主键ID
- * @param departId 部门id
- * @param sectionId 板块id
- * @param year 年度
- * @return
- */
- @GetMapping(value = "/export1")
- public void export1(HttpServletResponse response,
- @RequestParam(value = "id", required = false) String id,
- @RequestParam(value = "departId", required = false) String departId,
- @RequestParam(value = "sectionId", required = false) String sectionId,
- @RequestParam(value = "year", required = false) String year) throws IOException, IllegalAccessException, IntrospectionException, InvocationTargetException {
- List<PartyBuildingMultiplier> list = iPartyBuildingMultiplierService.listByParam(id, departId, sectionId, year);
- if (list.size() > 0){
- OutputStream out = response.getOutputStream();
- List<String> titleList = new ArrayList<>();
- titleList.add("id");
- titleList.add("单位名称");
- titleList.add("板块名称");
- titleList.add("党建乘数");
- titleList.add("年度");
- titleList.add("备注");
- HSSFWorkbook workBook = ExcelUtils.getWorkBook(titleList, list);
- //响应到客户端
- try {
- this.setResponseHeader(response, "党建乘数.xls");
- OutputStream os = response.getOutputStream();
- BufferedOutputStream bufferOutput =new BufferedOutputStream(os);
- bufferOutput.flush();
- workBook.write(bufferOutput);
- bufferOutput.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }else {
- throw new CustomException("党建乘数数据为空!");
- }
- }
- /**
- * 发送响应流方法
- */
- public void setResponseHeader(HttpServletResponse response, String fileName) {
- try {
- try {
- fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1");
- } catch (UnsupportedEncodingException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- response.setContentType("application/vnd.ms-excel;charset=UTF-8");
- response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
- response.addHeader("Pargam", "no-cache");
- response.addHeader("Cache-Control", "no-cache");
- response.setHeader("Expires", " 0");
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- }
- @PostMapping(value = "/import")
- @ResponseBody
- public R importAlertrule(@RequestParam("file") MultipartFile file, HttpServletRequest request) {
- if (!file.isEmpty()) {
- try {
- //获取原始的文件名
- String originalFilename = file.getOriginalFilename();
- //获取文件类型
- String fileType = originalFilename.substring(originalFilename.lastIndexOf(".") + 1, originalFilename.length());
- //默认从第一行开始读取
- Integer startRows = 1;
- //获取输入流
- InputStream is = file.getInputStream();
- List<PartyBuildingMultiplier> bindingList = new ArrayList<>();
- //Excel导入导出的单元类
- List<String[]> strings = ExcelUtil.readData(fileType, startRows, true, is);
- //遍历Excel表每一行的数据
- for (String[] str : strings) {
- PartyBuildingMultiplier partyBuildingMultiplier = new PartyBuildingMultiplier();
- partyBuildingMultiplier.setId(str[0]);
- partyBuildingMultiplier.setMultiplier(str[3]);
- partyBuildingMultiplier.setYear(str[4]);
- partyBuildingMultiplier.setRemarks(str[5]);
- bindingList.add(partyBuildingMultiplier);
- }
- boolean b = iPartyBuildingMultiplierService.saveOrUpdateBatch(bindingList);
- if (b) {
- return R.ok().data(b);
- } else {
- return R.error().data("保存失败!");
- }
- } catch (Exception e) {
- log.error("错误", e);
- return R.customError(e.getMessage()).data("失败!");
- }
- }
- return R.customError("上传文件为空!");
- }
- /**
- * 添加
- *
- * @param partyBuildingMultiplier
- * @return
- */
- @PostMapping(value = "/save")
- @ApiOperation(value = "新增(修改)", notes = "新增(修改)")
- public R addAll(@RequestBody PartyBuildingMultiplier partyBuildingMultiplier) {
- try {
- boolean b = iPartyBuildingMultiplierService.saveOrUpdate(partyBuildingMultiplier);
- if (b) {
- return R.ok().data(b);
- } else {
- return R.error().data("保存失败!");
- }
- } catch (CustomException e){
- return R.customError(e.getMessage()).data("失败!");
- }
- }
- /**
- * 批量删除
- *
- * @param ids
- * @return
- */
- @PostMapping(value = "/remove/{ids}")
- @ApiOperation(value = "删除", notes = "删除")
- public R deleteAll(@PathVariable("ids") String ids) {
- String[] strings = ids.split(",");
- boolean b = iPartyBuildingMultiplierService.removeByIds(Arrays.asList(strings));
- if (b) {
- return R.ok().data(b);
- } else {
- return R.error().data("删除失败!");
- }
- }
- }
|