From 5a950b7faa8438a2f2bfb604d66013c84496cfdb Mon Sep 17 00:00:00 2001 From: yuezhihang Date: Wed, 13 Apr 2022 15:23:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=87=E5=87=86=E6=AF=94=E5=AF=B9=20?= =?UTF-8?q?=E4=BB=A5=E5=8F=8A=E4=BA=A7=E5=93=81=E8=A7=84=E5=88=92=E9=83=A8?= =?UTF-8?q?=20=E6=89=B9=E9=87=8F=E5=85=B3=E9=97=AD=20=E5=8A=A0=E5=AF=BC?= =?UTF-8?q?=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProductDeptIssueController.java | 44 ++++++++- .../dao/ProductDeptIssueDao.java | 4 +- .../entity/ProductDeptIssueVo.java | 22 +++++ .../service/IProductDeptIssueService.java | 2 + .../service/impl/ProductDeptIssueService.java | 6 ++ .../impl/SarStandCompareHisEOServiceImpl.java | 4 + .../ProductDeptIssuempaaer.xml | 90 +++++++++++++++++++ doc/sql/数据库改动.sql | 2 + 8 files changed, 171 insertions(+), 3 deletions(-) create mode 100644 doc/sql/数据库改动.sql diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/controller/ProductDeptIssueController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/controller/ProductDeptIssueController.java index 87df8d40..cd1b1405 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/controller/ProductDeptIssueController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/controller/ProductDeptIssueController.java @@ -8,6 +8,8 @@ import com.adc.da.slrs.sarStandUnqualified.entity.ProductDeptIssue; import com.adc.da.slrs.sarStandUnqualified.entity.ProductDeptIssueVo; import com.adc.da.slrs.sarStandUnqualified.service.IBusinessDeptIssueService; import com.adc.da.slrs.sarStandUnqualified.service.IProductDeptIssueService; +import com.alibaba.excel.EasyExcel; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -15,6 +17,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.net.URLEncoder; import java.util.Arrays; import java.util.List; @@ -64,8 +69,6 @@ public class ProductDeptIssueController { boolean b = iProductDeptIssueService.updateProductDeptIssue(issue); return Result.success(b); } -// 多态对接口具有可替换性接口 灵活性简化性易拓展 可替换的概念可以理解伟方法可以被同类重用 -// 可扩充性可以理解为该方法可以添加子类而不影响现有代码,接口性就是指的是向子类提供一个公用的高级接口子类来集成完善这个接口中的方法来实现要求。 @PostMapping("/closeProductIssue") @ApiOperation("关闭产品规划部重点问题") @@ -75,4 +78,41 @@ public class ProductDeptIssueController { return Result.success(b); } + + @GetMapping("/exportIssue") + @ApiOperation("导出产品规划部重点问题") + public void exportIssue(HttpServletResponse response, ProductDeptIssueVo issue ) throws IOException { + try { + response.setContentType("application/vnd.ms-excel"); + response.setCharacterEncoding("utf-8"); + + if(issue.getFileName()==null || issue.getFileName()==""){ + issue.setFileName("事业部重点问题信息"); + } + String fileName = URLEncoder.encode(issue.getFileName(), "UTF-8").replaceAll("\\+", "%20"); + response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); + + /** + * 重写了get方法,无法使用net.sf.json.JSONObject转换对象 + */ +// net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject.fromObject(issue.getExportContent()); +// BusinessDeptIssueVo businessDeptIssueVo = (BusinessDeptIssueVo) net.sf.json.JSONObject.toBean(jsonObject, BusinessDeptIssueVo.class); + + JSONObject jsonObject = JSONObject.parseObject(issue.getExportContent()); + ProductDeptIssueVo businessDeptIssueVo = JSONObject.toJavaObject(jsonObject, ProductDeptIssueVo.class); + List page = iProductDeptIssueService.getExportData(businessDeptIssueVo,businessDeptIssueVo.getIdList()); + + + // 这里需要设置不关闭流 + EasyExcel.write(response.getOutputStream(), BusinessDeptIssue.class).autoCloseStream(Boolean.FALSE).sheet("sheet1") + .doWrite(page); + } catch (Exception e) { + e.printStackTrace(); + // 重置response + response.reset(); + response.setContentType("application/json"); + response.setCharacterEncoding("utf-8"); + response.getWriter().println(JSONObject.toJSONString(Result.error())); + } + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/dao/ProductDeptIssueDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/dao/ProductDeptIssueDao.java index 1ddac4bf..4faf0dc2 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/dao/ProductDeptIssueDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/dao/ProductDeptIssueDao.java @@ -10,8 +10,10 @@ import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.service.IService; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface ProductDeptIssueDao extends BaseMapper { - public IPage findPage1(IPage page,@Param(Constants.WRAPPER) QueryWrapper wrapper); public IPage findPage(IPage page, @Param("ew") ProductDeptIssueVo objVo); + public List findExportData(@Param("ew") ProductDeptIssueVo objVo, @Param("ids") List ids); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/entity/ProductDeptIssueVo.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/entity/ProductDeptIssueVo.java index b508e813..4e3f40bd 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/entity/ProductDeptIssueVo.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/entity/ProductDeptIssueVo.java @@ -1,4 +1,26 @@ package com.adc.da.slrs.sarStandUnqualified.entity; +import lombok.Data; + +import java.util.Arrays; +import java.util.List; + +@Data public class ProductDeptIssueVo extends ProductDeptIssue { + + private String numberOrName; + + private String fileName; + + private String idList; + + private String exportContent; + + public List getIdList(){ + if (this.idList!=null){ + return Arrays.asList(this.idList.split(",")); + }else { + return null; + } + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/service/IProductDeptIssueService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/service/IProductDeptIssueService.java index 3441da72..40380aa4 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/service/IProductDeptIssueService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/service/IProductDeptIssueService.java @@ -16,6 +16,8 @@ public interface IProductDeptIssueService extends IService { public IPage getProductDeptIssue(ProductDeptIssueVo objVo); + public List getExportData(ProductDeptIssueVo objVo,List ids); + public boolean updateProductDeptIssue(ProductDeptIssue obj); public boolean closeProductDeptIssue(List idList); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/service/impl/ProductDeptIssueService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/service/impl/ProductDeptIssueService.java index 3b6c76ce..5b233d4c 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/service/impl/ProductDeptIssueService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/service/impl/ProductDeptIssueService.java @@ -64,6 +64,12 @@ public class ProductDeptIssueService extends ServiceImpl getExportData(ProductDeptIssueVo objVo, List ids) { + + return productDeptIssueDao.findExportData(objVo,ids); + } + @Override public boolean updateProductDeptIssue(ProductDeptIssue obj) { diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarStandCompareHisEOServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarStandCompareHisEOServiceImpl.java index 296adee2..af0184e9 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarStandCompareHisEOServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarStandCompareHisEOServiceImpl.java @@ -247,6 +247,10 @@ public class SarStandCompareHisEOServiceImpl implements SarStandCompareHisEOServ sarStandCompareHisEO.setId(standHisId); sarStandCompareHisEO.setCompareStatus("比对完成"); sarStandCompareHisEODao.updateByPrimaryKeySelective(sarStandCompareHisEO); + if (oldList.size()==0 || newList.size()==0){ + resultMap.put("error","比对数据已删除"); + } + return resultMap; } diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandUnqualified/ProductDeptIssuempaaer.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandUnqualified/ProductDeptIssuempaaer.xml index 4130cd2c..3ba4f34e 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandUnqualified/ProductDeptIssuempaaer.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandUnqualified/ProductDeptIssuempaaer.xml @@ -88,5 +88,95 @@ + + + diff --git a/doc/sql/数据库改动.sql b/doc/sql/数据库改动.sql new file mode 100644 index 00000000..d8068724 --- /dev/null +++ b/doc/sql/数据库改动.sql @@ -0,0 +1,2 @@ +4.13------------------ +INSERT INTO `foton_slrs_test2`.`sar_menu`(`ID`, `SOR_DIVIDE`, `MENU_NAME`, `PARENT_ID`, `PARENT_IDS`, `LEVEL`, `DISPLAY_SEQ`, `HREF`, `VALID_FLAG`, `CREATION_TIME`, `MODIFY_TIME`, `REMARKS`) VALUES ('asdzcfgk', NULL, '政策法规库', NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL);