From a03db1068aac7c684a2074fd7d7b56a5fd3de414 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Wed, 16 Jun 2021 11:02:02 +0800 Subject: [PATCH 01/11] feat:1 --- .../com/adc/da/sys/controller/DicEORestController.java | 7 +++++++ .../resources/mybatis/mapper/sys/DictionaryEOMapper.xml | 9 +++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/controller/DicEORestController.java b/adc-da-sys/src/main/java/com/adc/da/sys/controller/DicEORestController.java index 73946868..10418330 100644 --- a/adc-da-sys/src/main/java/com/adc/da/sys/controller/DicEORestController.java +++ b/adc-da-sys/src/main/java/com/adc/da/sys/controller/DicEORestController.java @@ -37,6 +37,13 @@ public class DicEORestController extends BaseController { public ResponseMessage> page(DictionaryEOPage page) throws Exception { page.setDictionaryCodeOperator("like"); page.setDictionaryNameOperator("like"); + if(org.apache.commons.lang3.StringUtils.isNotBlank(page.getPaixu()) && org.apache.commons.lang3.StringUtils.isNotBlank(page.getShunxu())){ + String sql = page.getPaixu()+" "+page.getShunxu(); + page.setSql(sql); + }else{ + String sql = "order_num,u0.id"; + page.setSql(sql); + } List rows = dicEOService.queryAllDicByPage(page); return Result.success(getPageInfo(page.getPager(), rows)); } diff --git a/adc-da-sys/src/main/resources/mybatis/mapper/sys/DictionaryEOMapper.xml b/adc-da-sys/src/main/resources/mybatis/mapper/sys/DictionaryEOMapper.xml index 898dc60e..a293f7cc 100644 --- a/adc-da-sys/src/main/resources/mybatis/mapper/sys/DictionaryEOMapper.xml +++ b/adc-da-sys/src/main/resources/mybatis/mapper/sys/DictionaryEOMapper.xml @@ -267,12 +267,13 @@ + select + from UT_AREA + where id = #{value} + + + + + + delete from UT_AREA + where id = #{value} + + + + + + + + + + + + select + from SAR_STAND_MENU + where stand_id = #{standId} and valid_flag=0 + + From 1c7af6e4a88fb9a3df0d50874f9088a82f8a0cf4 Mon Sep 17 00:00:00 2001 From: yf <428080876@qq.com> Date: Wed, 16 Jun 2021 18:07:17 +0800 Subject: [PATCH 06/11] 1111 --- .../entity/SarStandAttrInfo.java | 123 ++++++------------ 1 file changed, 42 insertions(+), 81 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrInfo/entity/SarStandAttrInfo.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrInfo/entity/SarStandAttrInfo.java index 1745781a..7ef6ef5f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrInfo/entity/SarStandAttrInfo.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrInfo/entity/SarStandAttrInfo.java @@ -13,11 +13,11 @@ import lombok.experimental.Accessors; /** *

- * + * *

* * @author super_liu - * @since 2021-06-01 + * @since 2021-06-16 */ @Data @EqualsAndHashCode(callSuper = true) @@ -48,60 +48,32 @@ public class SarStandAttrInfo extends BaseEntity { @ApiModelProperty(value = "修改时间") @TableField("MODIFY_TIME") - private Date modifyTime; + private LocalDateTime modifyTime; @ApiModelProperty(value = "归口管理部门") @TableField("GKDW") private String gkdw; - @ApiModelProperty(value = "起草单位") - @TableField("FBJG") - private String fbjg; - @ApiModelProperty(value = "我司参与深度") @TableField("CYSD") private String cysd; - @ApiModelProperty(value = "新车型实施日期(标准文本)") + @ApiModelProperty(value = "新车型实施日期(文本)") @TableField("XCXSSRQ") private String xcxssrq; - @ApiModelProperty(value = "在产车实施日期(标准文本)") + @ApiModelProperty(value = "在产车实施日期(文本)") @TableField("ZCCSSRQ") private String zccssrq; - @TableField("EOPSSRQ") - private String eopssrq; - - @ApiModelProperty(value = "采标编号") - @TableField("CBBH") - private String cbbh; - - @ApiModelProperty(value = "适用车辆") - @TableField("CLLX") - private String cllx; - + @ApiModelProperty(value = "标签") @TableField("GXHBQ") private String gxhbq; - @TableField("XGBM") - private String xgbm; - + @ApiModelProperty(value = "中国认证类型") @TableField("ZGRZLX") private String zgrzlx; - @TableField("GZZXX") - private String gzzxx; - - @TableField("FO") - private String fo; - - @TableField("XMPGJS") - private String xmpgjs; - - @TableField("SVPPS") - private String svpps; - @ApiModelProperty(value = "草案") @TableField("CA") private String ca; @@ -118,13 +90,15 @@ public class SarStandAttrInfo extends BaseEntity { @TableField("BPG") private String bpg; + @ApiModelProperty(value = "采购部门") @TableField("CGBM") private String cgbm; - @ApiModelProperty(value = "发布稿") + @ApiModelProperty(value = "发布稿(必读)") @TableField("FBGBJBD") private String fbgbjbd; + @ApiModelProperty(value = "增补件(必读)") @TableField("ZBJBD") private String zbjbd; @@ -132,10 +106,11 @@ public class SarStandAttrInfo extends BaseEntity { @TableField("ZRBM") private String zrbm; + @ApiModelProperty(value = "法规维护人") @TableField("FGWHR") private String fgwhr; - @ApiModelProperty(value = "代替标准编号") + @ApiModelProperty(value = "代替标准号") @TableField("DTBJH") private String dtbjh; @@ -168,37 +143,9 @@ public class SarStandAttrInfo extends BaseEntity { @TableField("CBCD") private String cbcd; - @TableField("ZRLX") - private String zrlx; - - @TableField("YQLX") - private String yqlx; - - @TableField("XXZLXX") - private String xxzlxx; - @TableField("NRDBZFGQD") private String nrdbzfgqd; - @TableField("FGXXSXXX") - private String fgxxsxxx; - - @TableField("DXBZ") - private String dxbz; - - @TableField("BDTBZBH") - private String bdtbzbh; - - // 新添加字段 --start - - @ApiModelProperty(value = "新车型实施日期(国际)") - @TableField("XCXSSRQGJ") - private String xcxssrqgj; - - @ApiModelProperty(value = "在产车实施日期(国际)") - @TableField("ZCCSSRQGJ") - private String zccssrqgj; - @ApiModelProperty(value = "实施日期(标准文本)") @TableField("SSRQ") private String ssrq; @@ -207,6 +154,14 @@ public class SarStandAttrInfo extends BaseEntity { @TableField("SSRQGJ") private String ssrqgj; + @ApiModelProperty(value = "新车型实施日期(国家)") + @TableField("XCXSSRQGJ") + private String xcxssrqgj; + + @ApiModelProperty(value = "在产车实施日期(国家)") + @TableField("ZCCSSRQGJ") + private String zccssrqgj; + @ApiModelProperty(value = "修改单") @TableField("XGD") private String xgd; @@ -215,6 +170,10 @@ public class SarStandAttrInfo extends BaseEntity { @TableField("JDWJ") private String jdwj; + @ApiModelProperty(value = "关联文件") + @TableField("GLWJ") + private String glwj; + @ApiModelProperty(value = "我司署名人") @TableField("WSSMR") private String wssmr; @@ -228,26 +187,18 @@ public class SarStandAttrInfo extends BaseEntity { private String sycpx; @ApiModelProperty(value = "适用认证") - @TableField("SYRZ") - private String syrz; + @TableField("SYZD") + private String syzd; @ApiModelProperty(value = "责任工程师") @TableField("ZRGCS") private String zrgcs; - @ApiModelProperty(value = "乘用车VPPS编码") - @TableField("CYCVPPSBM") - private String cycvppsbm; - - @ApiModelProperty(value = "乘用车VPPS中文名称") - @TableField("CYCVPPSCN") - private String cycvppscn; - - @ApiModelProperty(value = "卡车VPPS编码") + @ApiModelProperty(value = "关联模块--卡车VPPS编码") @TableField("KCCVPPSBM") private String kccvppsbm; - @ApiModelProperty(value = "卡车VPPS中文名称") + @ApiModelProperty(value = "关联模块--卡车vpps中文名称") @TableField("KCCVPPSCN") private String kccvppscn; @@ -259,11 +210,21 @@ public class SarStandAttrInfo extends BaseEntity { @TableField("DYMC") private String dymc; - @ApiModelProperty(value = "关联文件") - @TableField("GLWJ") - private String glwj; + @ApiModelProperty(value = "关联模块--乘用车VPPS编码") + @TableField("CYCVPPSBM") + private String cycvppsbm; - // -- end + @ApiModelProperty(value = "关联模块--乘用车vpps中文名称") + @TableField("CYCVPPSCN") + private String cycvppscn; + + @ApiModelProperty(value = "勘误件") + @TableField("KWJ") + private String kwj; + + @ApiModelProperty(value = "体系类别") + @TableField("TXLB") + private String txlb; } From fe3c2a4f6a450de6e95a5bd6b01fc451014121d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A4=8F=E6=99=96?= Date: Thu, 17 Jun 2021 02:11:00 +0000 Subject: [PATCH 07/11] Update application-dev.properties --- adc-da-main/src/main/resources/application-dev.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/adc-da-main/src/main/resources/application-dev.properties b/adc-da-main/src/main/resources/application-dev.properties index 88425a41..9eccfec4 100644 --- a/adc-da-main/src/main/resources/application-dev.properties +++ b/adc-da-main/src/main/resources/application-dev.properties @@ -3,9 +3,9 @@ # 数据库配置 #============================================= spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver -spring.datasource.url = jdbc:mysql://101.36.227.22:33050/foton_slrs_test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false +spring.datasource.url = jdbc:mysql://39.100.23.12:3306/foton_slrs_test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false spring.datasource.username = root -spring.datasource.password = 1q2w3e4r +spring.datasource.password = root #============================================== # 应用设置 From 282c314da97e091eaf37515acb101ee4c46e12e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A4=8F=E6=99=96?= Date: Thu, 17 Jun 2021 02:11:11 +0000 Subject: [PATCH 08/11] Update application-dev.properties --- adc-da-main/src/main/resources/application-dev.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adc-da-main/src/main/resources/application-dev.properties b/adc-da-main/src/main/resources/application-dev.properties index 9eccfec4..0280f9bd 100644 --- a/adc-da-main/src/main/resources/application-dev.properties +++ b/adc-da-main/src/main/resources/application-dev.properties @@ -3,7 +3,7 @@ # 数据库配置 #============================================= spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver -spring.datasource.url = jdbc:mysql://39.100.23.12:3306/foton_slrs_test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false +spring.datasource.url = jdbc:mysql://39.100.23.127:3306/foton_slrs_test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false spring.datasource.username = root spring.datasource.password = root From 1e5ac1b1dde5d44ecad4c497731d5cd86a3b0e75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A4=8F=E6=99=96?= Date: Thu, 17 Jun 2021 02:45:31 +0000 Subject: [PATCH 09/11] Update application.properties --- adc-da-main/src/main/resources/application.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/adc-da-main/src/main/resources/application.properties b/adc-da-main/src/main/resources/application.properties index 515259e4..d0fa62ba 100644 --- a/adc-da-main/src/main/resources/application.properties +++ b/adc-da-main/src/main/resources/application.properties @@ -30,9 +30,9 @@ restPath=/api #server.servlet.context-path=/api #是否将自己注册到Eureka Server上,默认为true -eureka.client.register-with-eureka=true +eureka.client.register-with-eureka=false ##是否从Eureka Server上获取注册信息,默认为true -eureka.client.fetch-registry=true +eureka.client.fetch-registry=false #eureka.client.service-url.defaultZone=http://10.5.116.172:8672/eureka/ #eureka.client.service-url.defaultZone=http://127.0.0.1:8671/eureka/ From 2bb3aab2e0b0015e556909e2ba29726c9aedf59f Mon Sep 17 00:00:00 2001 From: root <8964602+zxylbj@user.noreply.gitee.com> Date: Thu, 17 Jun 2021 11:20:10 +0800 Subject: [PATCH 10/11] =?UTF-8?q?=E6=9C=AA=E7=AC=A6=E5=90=88=E9=A1=B9/?= =?UTF-8?q?=E9=87=8D=E7=82=B9=E9=97=AE=E9=A2=98=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- adc-da-slrs/pom.xml | 1 + .../SarStandIssueControlCauseController.java | 121 +++++++++++++++ .../dao/SarStandIssueControlCauseDao.java | 16 ++ .../entity/SarStandIssueControlCause.java | 116 ++++++++++++++ .../entity/SarStandIssueControlCausePage.java | 69 +++++++++ .../entity/StandIssueControlCauseExcelVO.java | 16 ++ .../entity/StandIssueControlCauseListVO.java | 12 ++ .../ISarStandIssueControlCauseService.java | 49 ++++++ .../SarStandIssueControlCauseServiceImpl.java | 145 ++++++++++++++++++ ...SarStandIssueControlProductController.java | 122 +++++++++++++++ .../dao/SarStandIssueControlProductDao.java | 16 ++ .../entity/SarStandIssueControlProduct.java | 121 +++++++++++++++ .../SarStandIssueControlProductPage.java | 91 +++++++++++ .../StandIssueControlProductExcelVO.java | 16 ++ .../StandIssueControlProductListVO.java | 12 ++ .../ISarStandIssueControlProductService.java | 51 ++++++ ...arStandIssueControlProductServiceImpl.java | 135 ++++++++++++++++ .../ISarStandProjectLibraryService.java | 12 +- .../SarStandUnqualifiedController.java | 102 +++++++++++- .../entity/SarStandUnqualified.java | 32 +++- .../entity/SarStandUnqualifiedPage.java | 88 +++++++++++ .../entity/StandUnqualifiedExcelVO.java | 16 ++ .../entity/StandUnqualifiedListVO.java | 12 ++ .../service/ISarStandUnqualifiedService.java | 33 ++++ .../impl/SarStandUnqualifiedServiceImpl.java | 119 ++++++++++++++ .../utils/ProductTypeConverter.java | 47 ++++++ .../utils/TimestampConverter.java | 42 +++++ .../java/com/adc/da/utils/util/DateUtil.java | 30 ++++ .../SarStandIssueControlCauseMapper.xml | 5 + .../SarStandIssueControlProductMapper.xml | 5 + pom.xml | 6 + 31 files changed, 1641 insertions(+), 17 deletions(-) create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/controller/SarStandIssueControlCauseController.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/dao/SarStandIssueControlCauseDao.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/entity/SarStandIssueControlCause.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/entity/SarStandIssueControlCausePage.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/entity/StandIssueControlCauseExcelVO.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/entity/StandIssueControlCauseListVO.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/service/ISarStandIssueControlCauseService.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/service/impl/SarStandIssueControlCauseServiceImpl.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/controller/SarStandIssueControlProductController.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/dao/SarStandIssueControlProductDao.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/entity/SarStandIssueControlProduct.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/entity/SarStandIssueControlProductPage.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/entity/StandIssueControlProductExcelVO.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/entity/StandIssueControlProductListVO.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/service/ISarStandIssueControlProductService.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/service/impl/SarStandIssueControlProductServiceImpl.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/entity/SarStandUnqualifiedPage.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/entity/StandUnqualifiedExcelVO.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/entity/StandUnqualifiedListVO.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/utils/ProductTypeConverter.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/utils/TimestampConverter.java create mode 100644 adc-da-slrs/src/main/resources/mybatis/mapper/sarStandIssueControlCause/SarStandIssueControlCauseMapper.xml create mode 100644 adc-da-slrs/src/main/resources/mybatis/mapper/sarStandIssueControlProduct/SarStandIssueControlProductMapper.xml diff --git a/adc-da-slrs/pom.xml b/adc-da-slrs/pom.xml index 5219d792..149c579f 100644 --- a/adc-da-slrs/pom.xml +++ b/adc-da-slrs/pom.xml @@ -35,5 +35,6 @@ 3.1.0 compile + \ No newline at end of file diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/controller/SarStandIssueControlCauseController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/controller/SarStandIssueControlCauseController.java new file mode 100644 index 00000000..3ad6a625 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/controller/SarStandIssueControlCauseController.java @@ -0,0 +1,121 @@ +package com.adc.da.slrs.sarStandIssueControlCause.controller; + + +import com.adc.da.http.ResponseMessage; +import com.adc.da.http.ResponseMessageCodeEnum; +import com.adc.da.http.Result; +import com.adc.da.slrs.sarStandIssueControlCause.entity.SarStandIssueControlCausePage; +import com.adc.da.slrs.sarStandIssueControlCause.entity.StandIssueControlCauseExcelVO; +import com.adc.da.slrs.sarStandIssueControlCause.entity.StandIssueControlCauseListVO; +import com.adc.da.slrs.sarStandIssueControlCause.service.ISarStandIssueControlCauseService; +import com.adc.da.slrs.sarStandUnqualified.entity.SarStandUnqualified; +import com.adc.da.slrs.sarStandUnqualified.entity.SarStandUnqualifiedPage; +import com.adc.da.slrs.sarStandUnqualified.entity.StandUnqualifiedExcelVO; +import com.adc.da.slrs.sarStandUnqualified.entity.StandUnqualifiedListVO; +import com.adc.da.slrs.sarStandUnqualified.service.ISarStandUnqualifiedService; +import com.adc.da.slrs.sarStandardsInfo.controller.SarStandardsInfoController; +import com.alibaba.excel.EasyExcel; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import com.adc.da.slrs.sarStandIssueControlCause.entity.SarStandIssueControlCause; +import io.swagger.annotations.Api; +import com.adc.da.base.web.BaseController; + +import javax.servlet.http.HttpServletResponse; +import java.net.URLEncoder; +import java.util.List; + +/** +*

+ * 前端控制器 + *

+* +* @author super_liu +* @since 2021-06-16 +*/ +@RestController +@Api(tags = "|重点问题项管控模块-事业部|") +@RequestMapping("/sarStandIssueControlCause/sar-stand-issue-control-cause") +public class SarStandIssueControlCauseController extends BaseController { + + private static final Logger logger = LoggerFactory.getLogger(SarStandardsInfoController.class); + + @Autowired + private ISarStandIssueControlCauseService sarStandIssueControlCauseService; + + + /** + * 分页查询 + * @param sarStandIssueControlCausePage:筛选、分页信息 + * @return ResponseMessage> + */ + @ApiOperation("分页查询") + @GetMapping + public ResponseMessage> getSarStandIssueControlCausePage(SarStandIssueControlCausePage sarStandIssueControlCausePage){ + IPage sarStandIssueControlCauseIPage=sarStandIssueControlCauseService.getSarStandIssueControlCausePage(sarStandIssueControlCausePage); + return Result.success(sarStandIssueControlCauseIPage); + } + + /** + * 分页查询历史数据 + * @param sarStandIssueControlCausePage:筛选、分页信息 + * @return ResponseMessage> + */ + @ApiOperation("分页查询历史数据") + @GetMapping("/history") + public ResponseMessage> getSarStandIssueControlCauseHistoryPage(SarStandIssueControlCausePage sarStandIssueControlCausePage){ + IPage sarStandIssueControlCauseIPage=sarStandIssueControlCauseService.getSarStandIssueControlCauseHistoryPage(sarStandIssueControlCausePage); + return Result.success(sarStandIssueControlCauseIPage); + } + + /** + * 批量关闭 + * @param standIssueControlCauseListVO:事业部重大问题ID列表 + * @return ResponseMessage>:关闭失败的事业部重大问题ID列表 + */ + @ApiOperation("批量关闭") + @PostMapping("/close") + public ResponseMessage> closeSarStandIssueControlCause(@RequestBody StandIssueControlCauseListVO standIssueControlCauseListVO){ + if(standIssueControlCauseListVO==null||standIssueControlCauseListVO.getIds().size()==0){ + return Result.error(ResponseMessageCodeEnum.ERROR.getCode(),"未传入ID",null); + } + List failIds=sarStandIssueControlCauseService.closeSarStandIssueControlCauseList(standIssueControlCauseListVO); + if(failIds==null||failIds.size()==0){ + return Result.success(null); + }else { + return Result.error(ResponseMessageCodeEnum.ERROR.getCode(),"部分关闭失败",null); + } + } + + @ApiOperation("导出Excel表") + @GetMapping(value = "/exportStandUnqulifiedExcel") + public void exportStandardsInfoExcel(StandIssueControlCauseExcelVO standIssueControlCauseExcelVO, HttpServletResponse response) throws Exception { + // 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman + try { + response.setContentType("application/vnd.ms-excel"); + response.setCharacterEncoding("utf-8"); + // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系 + if(standIssueControlCauseExcelVO.getExportName()==null){ + standIssueControlCauseExcelVO.setExportName("事业部重点问题项管控"); + } + String fileName = URLEncoder.encode(standIssueControlCauseExcelVO.getExportName(), "UTF-8").replaceAll("\\+", "%20"); + response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); + List data=sarStandIssueControlCauseService.getStandIssueControlCauseExcelData(standIssueControlCauseExcelVO); + // 这里需要设置不关闭流 + EasyExcel.write(response.getOutputStream(), SarStandIssueControlCause.class).autoCloseStream(Boolean.FALSE).sheet("sheet1") + .doWrite(data); + } catch (Exception e) { + System.out.println(e); + // 重置response + response.reset(); + response.setContentType("application/json"); + response.setCharacterEncoding("utf-8"); + response.getWriter().println(JSON.toJSONString(Result.error())); + } + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/dao/SarStandIssueControlCauseDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/dao/SarStandIssueControlCauseDao.java new file mode 100644 index 00000000..a305a3e7 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/dao/SarStandIssueControlCauseDao.java @@ -0,0 +1,16 @@ +package com.adc.da.slrs.sarStandIssueControlCause.dao; + +import com.adc.da.slrs.sarStandIssueControlCause.entity.SarStandIssueControlCause; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * Mapper 接口 + *

+ * + * @author super_liu + * @since 2021-06-16 + */ +public interface SarStandIssueControlCauseDao extends BaseMapper { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/entity/SarStandIssueControlCause.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/entity/SarStandIssueControlCause.java new file mode 100644 index 00000000..4e10aa51 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/entity/SarStandIssueControlCause.java @@ -0,0 +1,116 @@ +package com.adc.da.slrs.sarStandIssueControlCause.entity; + +import com.adc.da.base.entity.BaseEntity; + +import java.sql.Timestamp; +import java.time.LocalDateTime; + +import com.adc.da.slrs.sarStandUnqualified.utils.TimestampConverter; +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * + *

+ * + * @author super_liu + * @since 2021-06-16 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="SarStandIssueControlCause对象", description="") +public class SarStandIssueControlCause extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @ExcelProperty("创建部门") + @ApiModelProperty(value = "创建部门") + @TableField("CREATE_DEPT_ID") + private String createDeptId; + + @ExcelProperty("创建人") + @ApiModelProperty(value = "创建人") + @TableField("CREATE_BY_ID") + private String createById; + + @ExcelProperty(value = "创建时间",converter = TimestampConverter.class) + @ApiModelProperty(value = "创建时间") + @TableField("CREATE_TIME") + private Timestamp createTime; + + @ExcelProperty("关闭状态") + @ApiModelProperty(value = "关闭状态(1为开启,2为关闭)") + @TableField("CLOSE_STATE") + private Integer closeState; + + @ExcelIgnore + @ApiModelProperty(value = "实际关闭时间") + @TableField("ACTUAL_CLOSE_TIME") + private Timestamp actualCloseTime; + + @ExcelProperty(value = "要求关闭时间",converter = TimestampConverter.class) + @ApiModelProperty(value = "要求关闭时间") + @TableField("REQUIRE_CLOSE_TIME") + private Timestamp requireCloseTime; + + @ExcelProperty("质量工程师") + @ApiModelProperty(value = "质量工程师") + @TableField("QA_ENGINEER") + private String qaEngineer; + + @ExcelProperty("认证工程师") + @ApiModelProperty(value = "认证工程师") + @TableField("AUTH_ENGINEER") + private String authEngineer; + + @ExcelProperty("责任工程师") + @ApiModelProperty(value = "责任工程师") + @TableField("DUTY_ENGINEER") + private String dutyEngineer; + + @ExcelProperty("责任部门") + @ApiModelProperty(value = "责任部门") + @TableField("RESPONSIBLE_UNIT") + private String responsibleUnit; + + @ExcelProperty("项目名称") + @ApiModelProperty(value = "项目名称") + @TableField("PRODUCT_NAME") + private String productName; + + @ExcelProperty("产品线") + @ApiModelProperty(value = "产品线") + @TableField("PRODUCT_LINE") + private String productLine; + + @ExcelProperty("当前节点") + @ApiModelProperty(value = "当前节点") + @TableField("CURRENT_NODE") + private String currentNode; + + @ExcelProperty("标准名称") + @ApiModelProperty(value = "标准名称") + @TableField("STAND_NAME") + private String standName; + + @ExcelProperty("标准编号") + @ApiModelProperty(value = "标准编号") + @TableField("STAND_ID") + private String standId; + + @ExcelIgnore + @ApiModelProperty(value = "主键") + @TableId("ID") + private String id; + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/entity/SarStandIssueControlCausePage.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/entity/SarStandIssueControlCausePage.java new file mode 100644 index 00000000..26ea6e80 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/entity/SarStandIssueControlCausePage.java @@ -0,0 +1,69 @@ +package com.adc.da.slrs.sarStandIssueControlCause.entity; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.sql.Timestamp; + +@Data + +@ApiModel(value="SarStandIssueControlCausePage对象", description="") +public class SarStandIssueControlCausePage{ + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "创建部门") + private String createDeptId; + + @ApiModelProperty(value = "创建人") + private String createById; + + @ApiModelProperty(value = "创建时间") + private Timestamp createTime; + + @ApiModelProperty(value = "关闭状态(1为开启,2为关闭)") + private Integer closeState; + + @ApiModelProperty(value = "实际关闭时间") + private Timestamp actualCloseTime; + + @ApiModelProperty(value = "要求关闭时间") + private Timestamp requireCloseTime; + + @ApiModelProperty(value = "质量工程师") + private String qaEngineer; + + @ApiModelProperty(value = "认证工程师") + private String authEngineer; + + @ApiModelProperty(value = "责任工程师") + private String dutyEngineer; + + @ApiModelProperty(value = "责任部门") + private String responsibleUnit; + + @ApiModelProperty(value = "项目名称") + private String productName; + + @ApiModelProperty(value = "产品线") + private String productLine; + + @ApiModelProperty(value = "当前节点") + private String currentNode; + + @ApiModelProperty(value = "标准名称") + private String standName; + + @ApiModelProperty(value = "标准编号") + private String standId; + + @ApiModelProperty(value = "主键") + private String id; + + @ApiModelProperty("当前页") + private Integer current; + + @ApiModelProperty("每页条数") + private Integer size; +} \ No newline at end of file diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/entity/StandIssueControlCauseExcelVO.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/entity/StandIssueControlCauseExcelVO.java new file mode 100644 index 00000000..fcf9e88b --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/entity/StandIssueControlCauseExcelVO.java @@ -0,0 +1,16 @@ +package com.adc.da.slrs.sarStandIssueControlCause.entity; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@ApiModel(description = "ExcelVO类") +public class StandIssueControlCauseExcelVO { + @ApiModelProperty("文件名") + String exportName; + @ApiModelProperty("导出的ID列表") + List ids; +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/entity/StandIssueControlCauseListVO.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/entity/StandIssueControlCauseListVO.java new file mode 100644 index 00000000..55f03312 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/entity/StandIssueControlCauseListVO.java @@ -0,0 +1,12 @@ +package com.adc.da.slrs.sarStandIssueControlCause.entity; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class StandIssueControlCauseListVO { + @ApiModelProperty("ID列表") + private List Ids; +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/service/ISarStandIssueControlCauseService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/service/ISarStandIssueControlCauseService.java new file mode 100644 index 00000000..6cf43e82 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/service/ISarStandIssueControlCauseService.java @@ -0,0 +1,49 @@ +package com.adc.da.slrs.sarStandIssueControlCause.service; + +import com.adc.da.slrs.sarStandIssueControlCause.entity.SarStandIssueControlCause; +import com.adc.da.slrs.sarStandIssueControlCause.entity.SarStandIssueControlCausePage; +import com.adc.da.slrs.sarStandIssueControlCause.entity.StandIssueControlCauseExcelVO; +import com.adc.da.slrs.sarStandIssueControlCause.entity.StandIssueControlCauseListVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + *

+ * 服务类 + *

+ * + * @author super_liu + * @since 2021-06-16 + */ +public interface ISarStandIssueControlCauseService extends IService { + + /** + * 分页查询 + * @param sarStandIssueControlCausePage:筛选信息、分页信息 + * @return IPage + */ + IPage getSarStandIssueControlCausePage(SarStandIssueControlCausePage sarStandIssueControlCausePage); + + /** + * 分页查询历史数据 + * @param sarStandIssueControlCausePage:筛选信息、分页信息 + * @return IPage + */ + IPage getSarStandIssueControlCauseHistoryPage(SarStandIssueControlCausePage sarStandIssueControlCausePage); + + /** + * 批量关闭 + * @param standIssueControlCauseListVO:问题ID列表 + * @return List:关闭失败的ID列表 + */ + List closeSarStandIssueControlCauseList(StandIssueControlCauseListVO standIssueControlCauseListVO); + + /** + * 获得excel导出的数据 + * @param standIssueControlCauseExcelVO :筛选ID + * @return List + */ + List getStandIssueControlCauseExcelData(StandIssueControlCauseExcelVO standIssueControlCauseExcelVO); +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/service/impl/SarStandIssueControlCauseServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/service/impl/SarStandIssueControlCauseServiceImpl.java new file mode 100644 index 00000000..3f2b3fe6 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlCause/service/impl/SarStandIssueControlCauseServiceImpl.java @@ -0,0 +1,145 @@ +package com.adc.da.slrs.sarStandIssueControlCause.service.impl; + +import com.adc.da.slrs.sarStandIssueControlCause.entity.SarStandIssueControlCause; +import com.adc.da.slrs.sarStandIssueControlCause.dao.SarStandIssueControlCauseDao; +import com.adc.da.slrs.sarStandIssueControlCause.entity.SarStandIssueControlCausePage; +import com.adc.da.slrs.sarStandIssueControlCause.entity.StandIssueControlCauseExcelVO; +import com.adc.da.slrs.sarStandIssueControlCause.entity.StandIssueControlCauseListVO; +import com.adc.da.slrs.sarStandIssueControlCause.service.ISarStandIssueControlCauseService; +import com.adc.da.slrs.sarStandUnqualified.entity.SarStandUnqualified; +import com.adc.da.slrs.sarStandUnqualified.entity.StandUnqualifiedExcelVO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.sql.Timestamp; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + *

+ * 服务实现类 + *

+ * + * @author super_liu + * @since 2021-06-16 + */ +@Service +public class SarStandIssueControlCauseServiceImpl extends ServiceImpl implements ISarStandIssueControlCauseService { + @Autowired + private SarStandIssueControlCauseDao sarStandIssueControlCauseDao; + + /** + * 分页查询 + * @param sarStandIssueControlCausePage:筛选信息、分页信息 + * @return SarStandIssueControlCause + */ + @Override + public IPage getSarStandIssueControlCausePage(SarStandIssueControlCausePage sarStandIssueControlCausePage) { + QueryWrapper sarStandIssueControlCauseQueryWrapper=new QueryWrapper<>(); + //仅查询未关闭的 + sarStandIssueControlCauseQueryWrapper.eq("close_state",1); + if(sarStandIssueControlCausePage.getStandId()!=null){ + sarStandIssueControlCauseQueryWrapper.eq("stand_id",sarStandIssueControlCausePage.getStandId()).or().like("stand_name","%"+sarStandIssueControlCausePage.getStandName()+"%"); + } + if(sarStandIssueControlCausePage.getProductName()!=null){ + sarStandIssueControlCauseQueryWrapper.like("product_name","%"+sarStandIssueControlCausePage.getProductName()+"%"); + } + if(sarStandIssueControlCausePage.getResponsibleUnit()!=null){ + sarStandIssueControlCauseQueryWrapper.eq("responsible_unit",sarStandIssueControlCausePage.getResponsibleUnit()); + } + Page standIssueControlCausePage=new Page<>(); + //判断前端是否提供页码和每页条数 + if(sarStandIssueControlCausePage.getCurrent()!=null&&sarStandIssueControlCausePage.getSize()!=null){ + standIssueControlCausePage=new Page<>(sarStandIssueControlCausePage.getCurrent(),sarStandIssueControlCausePage.getSize()); + } + return sarStandIssueControlCauseDao.selectPage(standIssueControlCausePage,sarStandIssueControlCauseQueryWrapper); + + } + + /** + * 分页查询历史数据 + * @param sarStandIssueControlCausePage:筛选信息、分页信息 + * @return IPage + */ + @Override + public IPage getSarStandIssueControlCauseHistoryPage(SarStandIssueControlCausePage sarStandIssueControlCausePage) { + QueryWrapper sarStandIssueControlCauseQueryWrapper=new QueryWrapper<>(); + //仅查询关闭的 + sarStandIssueControlCauseQueryWrapper.eq("close_state",2); + if(sarStandIssueControlCausePage.getStandId()!=null){ + sarStandIssueControlCauseQueryWrapper.eq("stand_id",sarStandIssueControlCausePage.getStandId()).or().like("stand_name","%"+sarStandIssueControlCausePage.getStandName()+"%"); + } + if(sarStandIssueControlCausePage.getProductName()!=null){ + sarStandIssueControlCauseQueryWrapper.like("product_name","%"+sarStandIssueControlCausePage.getProductName()+"%"); + } + if(sarStandIssueControlCausePage.getResponsibleUnit()!=null){ + sarStandIssueControlCauseQueryWrapper.eq("responsible_unit",sarStandIssueControlCausePage.getResponsibleUnit()); + } + Page standIssueControlCausePage=new Page<>(); + //判断前端是否提供页码和每页条数 + if(sarStandIssueControlCausePage.getCurrent()!=null&&sarStandIssueControlCausePage.getSize()!=null){ + standIssueControlCausePage=new Page<>(sarStandIssueControlCausePage.getCurrent(),sarStandIssueControlCausePage.getSize()); + } + return sarStandIssueControlCauseDao.selectPage(standIssueControlCausePage,sarStandIssueControlCauseQueryWrapper); + } + + /** + * 批量关闭 + * @param standIssueControlCauseListVO:问题ID列表 + * @return List:关闭失败的ID列表 + */ + @Override + public List closeSarStandIssueControlCauseList(StandIssueControlCauseListVO standIssueControlCauseListVO) { + List failIds=new ArrayList<>(); + for(String id:standIssueControlCauseListVO.getIds()){ + boolean success=closeSarStandIssueControlCause(id); + if(!success){ + failIds.add(id); + } + } + return failIds; + } + + /** + * 获得excel导出的数据 + * @param standIssueControlCauseExcelVO :筛选ID + * @return List + */ + @Override + public List getStandIssueControlCauseExcelData(StandIssueControlCauseExcelVO standIssueControlCauseExcelVO) { + QueryWrapper sarStandIssueControlCauseQueryWrapper=new QueryWrapper<>(); + sarStandIssueControlCauseQueryWrapper.eq("close_state",1); + if(standIssueControlCauseExcelVO.getIds()!=null&&standIssueControlCauseExcelVO.getIds().size()>0){ + sarStandIssueControlCauseQueryWrapper.in("id",standIssueControlCauseExcelVO.getIds()); + } + return sarStandIssueControlCauseDao.selectList(sarStandIssueControlCauseQueryWrapper); + } + + /** + * 问题关闭 + * @param standIssueControlCauseId:ID + * @return boolean + */ + private boolean closeSarStandIssueControlCause(String standIssueControlCauseId){ + SarStandIssueControlCause sarStandIssueControlCause=sarStandIssueControlCauseDao.selectById(standIssueControlCauseId); + //判断是否存在 + if(sarStandIssueControlCause==null){ + return false; + } + //判断是否已关闭 + if(sarStandIssueControlCause.getCloseState()==2){ + return false; + } + sarStandIssueControlCause.setCloseState(2); + sarStandIssueControlCause.setActualCloseTime(new Timestamp(new Date().getTime())); + sarStandIssueControlCauseDao.updateById(sarStandIssueControlCause); + return true; + } + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/controller/SarStandIssueControlProductController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/controller/SarStandIssueControlProductController.java new file mode 100644 index 00000000..db459598 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/controller/SarStandIssueControlProductController.java @@ -0,0 +1,122 @@ +package com.adc.da.slrs.sarStandIssueControlProduct.controller; + + +import com.adc.da.http.ResponseMessage; +import com.adc.da.http.ResponseMessageCodeEnum; +import com.adc.da.http.Result; +import com.adc.da.slrs.sarStandIssueControlCause.entity.SarStandIssueControlCause; +import com.adc.da.slrs.sarStandIssueControlCause.entity.SarStandIssueControlCausePage; +import com.adc.da.slrs.sarStandIssueControlCause.entity.StandIssueControlCauseExcelVO; +import com.adc.da.slrs.sarStandIssueControlCause.entity.StandIssueControlCauseListVO; +import com.adc.da.slrs.sarStandIssueControlCause.service.ISarStandIssueControlCauseService; +import com.adc.da.slrs.sarStandIssueControlProduct.entity.SarStandIssueControlProductPage; +import com.adc.da.slrs.sarStandIssueControlProduct.entity.StandIssueControlProductExcelVO; +import com.adc.da.slrs.sarStandIssueControlProduct.entity.StandIssueControlProductListVO; +import com.adc.da.slrs.sarStandIssueControlProduct.service.ISarStandIssueControlProductService; +import com.adc.da.slrs.sarStandUnqualified.entity.SarStandUnqualified; +import com.adc.da.slrs.sarStandardsInfo.controller.SarStandardsInfoController; +import com.alibaba.excel.EasyExcel; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import com.adc.da.slrs.sarStandIssueControlProduct.entity.SarStandIssueControlProduct; +import io.swagger.annotations.Api; +import com.adc.da.base.web.BaseController; + +import javax.servlet.http.HttpServletResponse; +import java.net.URLEncoder; +import java.util.List; + +/** +*

+ * 前端控制器 + *

+* +* @author zxy +* @since 2021-06-17 +*/ +@RestController +@Api(tags = "|重点问题项管控-产品规划部|") +@RequestMapping("/sarStandIssueControlProduct/sar-stand-issue-control-product") +public class SarStandIssueControlProductController extends BaseController { + + private static final Logger logger = LoggerFactory.getLogger(SarStandardsInfoController.class); + + @Autowired + private ISarStandIssueControlProductService sarStandIssueControlProductService; + + + /** + * 分页查询 + * @param sarStandIssueControlProductPage:筛选、分页信息 + * @return ResponseMessage> + */ + @ApiOperation("分页查询") + @GetMapping + public ResponseMessage> getSarStandIssueControlProductPage(SarStandIssueControlProductPage sarStandIssueControlProductPage){ + IPage sarStandIssueControlCauseIPage=sarStandIssueControlProductService.getSarStandIssueControlProductPage(sarStandIssueControlProductPage); + return Result.success(sarStandIssueControlCauseIPage); + } + + /** + * 分页查询历史数据 + * @param sarStandIssueControlProductPage:筛选、分页信息 + * @return ResponseMessage> + */ + @ApiOperation("分页查询历史数据") + @GetMapping("/history") + public ResponseMessage> getSarStandIssueControlProductHistoryPage(SarStandIssueControlProductPage sarStandIssueControlProductPage){ + IPage sarStandIssueControlProductIPage=sarStandIssueControlProductService.getSarStandIssueControlProductHistoryPage(sarStandIssueControlProductPage); + return Result.success(sarStandIssueControlProductIPage); + } + + /** + * 批量关闭 + * @param standIssueControlProductListVO:重大问题ID列表 + * @return ResponseMessage>:关闭失败的重大问题ID列表 + */ + @ApiOperation("批量关闭") + @PostMapping("/close") + public ResponseMessage> closeSarStandIssueControlCause(@RequestBody StandIssueControlProductListVO standIssueControlProductListVO){ + if(standIssueControlProductListVO==null||standIssueControlProductListVO.getIds().size()==0){ + return Result.error(ResponseMessageCodeEnum.ERROR.getCode(),"未传入ID",null); + } + List failIds=sarStandIssueControlProductService.closeSarStandIssueControlProductList(standIssueControlProductListVO); + if(failIds==null||failIds.size()==0){ + return Result.success(null); + }else { + return Result.error(ResponseMessageCodeEnum.ERROR.getCode(),"部分关闭失败",null); + } + } + + @ApiOperation("导出Excel表") + @GetMapping(value = "/exportStandUnqulifiedExcel") + public void exportStandardsInfoExcel(StandIssueControlProductExcelVO standIssueControlProductExcelVO, HttpServletResponse response) throws Exception { + // 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman + try { + response.setContentType("application/vnd.ms-excel"); + response.setCharacterEncoding("utf-8"); + // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系 + if(standIssueControlProductExcelVO.getExportName()==null){ + standIssueControlProductExcelVO.setExportName("产品规划部重点问题项管控"); + } + String fileName = URLEncoder.encode(standIssueControlProductExcelVO.getExportName(), "UTF-8").replaceAll("\\+", "%20"); + response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); + List data=sarStandIssueControlProductService.getStandIssueControlProductExcelData(standIssueControlProductExcelVO); + // 这里需要设置不关闭流 + EasyExcel.write(response.getOutputStream(), SarStandIssueControlProduct.class).autoCloseStream(Boolean.FALSE).sheet("sheet1") + .doWrite(data); + } catch (Exception e) { + System.out.println(e); + // 重置response + response.reset(); + response.setContentType("application/json"); + response.setCharacterEncoding("utf-8"); + response.getWriter().println(JSON.toJSONString(Result.error())); + } + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/dao/SarStandIssueControlProductDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/dao/SarStandIssueControlProductDao.java new file mode 100644 index 00000000..e317ffc3 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/dao/SarStandIssueControlProductDao.java @@ -0,0 +1,16 @@ +package com.adc.da.slrs.sarStandIssueControlProduct.dao; + +import com.adc.da.slrs.sarStandIssueControlProduct.entity.SarStandIssueControlProduct; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * Mapper 接口 + *

+ * + * @author super_liu + * @since 2021-06-17 + */ +public interface SarStandIssueControlProductDao extends BaseMapper { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/entity/SarStandIssueControlProduct.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/entity/SarStandIssueControlProduct.java new file mode 100644 index 00000000..f5591fd3 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/entity/SarStandIssueControlProduct.java @@ -0,0 +1,121 @@ +package com.adc.da.slrs.sarStandIssueControlProduct.entity; + +import com.adc.da.base.entity.BaseEntity; + +import java.sql.Timestamp; +import java.time.LocalDateTime; + +import com.adc.da.slrs.sarStandUnqualified.utils.TimestampConverter; +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * + *

+ * + * @author super_liu + * @since 2021-06-17 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="SarStandIssueControlProduct对象", description="产品规划部重大问题管控") +public class SarStandIssueControlProduct extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @ExcelProperty("创建部门") + @ApiModelProperty(value = "创建部门") + @TableField("CREATE_DEPT_ID") + private String createDeptId; + + @ExcelProperty("创建人") + @ApiModelProperty(value = "创建人") + @TableField("CREATE_BY_ID") + private String createById; + + @ExcelProperty(value = "创建时间",converter = TimestampConverter.class) + @ApiModelProperty(value = "创建时间") + @TableField("CREATE_TIME") + private Timestamp createTime; + + @ExcelIgnore + @ApiModelProperty(value = "关闭状态(1为开启,2为关闭)") + @TableField("CLOSE_STATE") + private Integer closeState; + + @ExcelIgnore + @ApiModelProperty(value = "实际关闭时间") + @TableField("ACTUAL_CLOSE_TIME") + private Timestamp actualCloseTime; + + @ExcelProperty(value = "要求关闭时间",converter = TimestampConverter.class) + @ApiModelProperty(value = "要求关闭时间") + @TableField("REQUIRE_CLOSE_TIME") + private Timestamp requireCloseTime; + + @ExcelProperty("平台") + @ApiModelProperty(value = "平台") + @TableField("PLATFORM") + private String platform; + + @ExcelProperty("业务") + @ApiModelProperty(value = "业务") + @TableField("BUSINESS") + private String business; + + @ExcelProperty("符合性状态") + @ApiModelProperty(value = "符合性状态") + @TableField("CONFORMANCE_STATE") + private String conformanceState; + + @ExcelProperty("责任工程师") + @ApiModelProperty(value = "责任工程师") + @TableField("DUTY_ENGINEER") + private String dutyEngineer; + + @ExcelProperty("责任部门") + @ApiModelProperty(value = "责任部门") + @TableField("RESPONSIBLE_UNIT") + private String responsibleUnit; + + @ExcelProperty("实施要求") + @ApiModelProperty(value = "实施要求") + @TableField("IMPLEMENT_DEMAND") + private String implementDemand; + + @ExcelProperty(value = "实施时间",converter = TimestampConverter.class) + @ApiModelProperty(value = "实施时间") + @TableField("IMPLEMENT_TIME") + private Timestamp implementTime; + + @ExcelProperty("当前节点") + @ApiModelProperty(value = "当前节点") + @TableField("CURRENT_NODE") + private String currentNode; + + @ExcelProperty(value = "标准名称/政策名称") + @ApiModelProperty(value = "标准名称/政策名称") + @TableField("STAND_NAME") + private String standName; + + @ExcelProperty("标准编号/政策编号") + @ApiModelProperty(value = "标准编号/政策编号") + @TableField("STAND_ID") + private String standId; + + @ExcelIgnore + @ApiModelProperty(value = "主键") + @TableId("ID") + private String id; + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/entity/SarStandIssueControlProductPage.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/entity/SarStandIssueControlProductPage.java new file mode 100644 index 00000000..eec3a722 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/entity/SarStandIssueControlProductPage.java @@ -0,0 +1,91 @@ +package com.adc.da.slrs.sarStandIssueControlProduct.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.sql.Timestamp; +import java.time.LocalDateTime; + +@Data +@ApiModel(description = "产品规划部重大问题管控分页") +public class SarStandIssueControlProductPage { + + @ApiModelProperty(value = "创建部门") + @TableField("CREATE_DEPT_ID") + private String createDeptId; + + @ApiModelProperty(value = "创建人") + @TableField("CREATE_BY_ID") + private String createById; + + @ApiModelProperty(value = "创建时间") + @TableField("CREATE_TIME") + private Timestamp createTime; + + @ApiModelProperty(value = "关闭状态(1为开启,2为关闭)") + @TableField("CLOSE_STATE") + private Integer closeState; + + @ApiModelProperty(value = "实际关闭时间") + @TableField("ACTUAL_CLOSE_TIME") + private Timestamp actualCloseTime; + + @ApiModelProperty(value = "要求关闭时间") + @TableField("REQUIRE_CLOSE_TIME") + private Timestamp requireCloseTime; + + @ApiModelProperty(value = "平台") + @TableField("PLANTFORM") + private String plantform; + + @ApiModelProperty(value = "业务") + @TableField("BUSINESS") + private String business; + + @ApiModelProperty(value = "符合性状态") + @TableField("CONFORMANCE_STATE") + private String conformanceState; + + @ApiModelProperty(value = "责任工程师") + @TableField("DUTY_ENGINEER") + private String dutyEngineer; + + @ApiModelProperty(value = "责任部门") + @TableField("RESPONSIBLE_UNIT") + private String responsibleUnit; + + @ApiModelProperty(value = "实施要求") + @TableField("IMPLEMEN_DEMAND") + private String implemenDemand; + + @ApiModelProperty(value = "实施时间") + @TableField("IMPLEMENT_TIME") + private Timestamp implementTime; + + @ApiModelProperty(value = "当前节点") + @TableField("CURRENT_NODE") + private String currentNode; + + @ApiModelProperty(value = "标准名称/政策名称") + @TableField("STAND_NAME") + private String standName; + + @ApiModelProperty(value = "标准编号/政策编号") + @TableField("STAND_ID") + private String standId; + + @ApiModelProperty(value = "主键") + @TableId("ID") + private String id; + + + @ApiModelProperty("当前页") + private Integer current; + + @ApiModelProperty("每页条数") + private Integer size; + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/entity/StandIssueControlProductExcelVO.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/entity/StandIssueControlProductExcelVO.java new file mode 100644 index 00000000..4b91393d --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/entity/StandIssueControlProductExcelVO.java @@ -0,0 +1,16 @@ +package com.adc.da.slrs.sarStandIssueControlProduct.entity; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@ApiModel(description = "ExcelVO类") +public class StandIssueControlProductExcelVO { + @ApiModelProperty("文件名") + String exportName; + @ApiModelProperty("导出的ID列表") + List ids; +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/entity/StandIssueControlProductListVO.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/entity/StandIssueControlProductListVO.java new file mode 100644 index 00000000..ee0b3e5b --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/entity/StandIssueControlProductListVO.java @@ -0,0 +1,12 @@ +package com.adc.da.slrs.sarStandIssueControlProduct.entity; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class StandIssueControlProductListVO { + @ApiModelProperty("ID列表") + private List Ids; +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/service/ISarStandIssueControlProductService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/service/ISarStandIssueControlProductService.java new file mode 100644 index 00000000..d08b48f4 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/service/ISarStandIssueControlProductService.java @@ -0,0 +1,51 @@ +package com.adc.da.slrs.sarStandIssueControlProduct.service; + +import com.adc.da.slrs.sarStandIssueControlCause.entity.SarStandIssueControlCause; +import com.adc.da.slrs.sarStandIssueControlCause.entity.StandIssueControlCauseExcelVO; +import com.adc.da.slrs.sarStandIssueControlProduct.entity.SarStandIssueControlProduct; +import com.adc.da.slrs.sarStandIssueControlProduct.entity.SarStandIssueControlProductPage; +import com.adc.da.slrs.sarStandIssueControlProduct.entity.StandIssueControlProductExcelVO; +import com.adc.da.slrs.sarStandIssueControlProduct.entity.StandIssueControlProductListVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + *

+ * 服务类 + *

+ * + * @author zxy + * @since 2021-06-17 + */ +public interface ISarStandIssueControlProductService extends IService { + + /** + * 分页查询 + * @param sarStandIssueControlProductPage:筛选、分页信息 + * @return IPage + */ + IPage getSarStandIssueControlProductPage(SarStandIssueControlProductPage sarStandIssueControlProductPage); + + /** + * 分页查询 + * @param sarStandIssueControlProductPage:筛选、分页信息 + * @return IPage + */ + IPage getSarStandIssueControlProductHistoryPage(SarStandIssueControlProductPage sarStandIssueControlProductPage); + + /** + * 批量关闭 + * @param standIssueControlProductListVO:关闭ID列表 + * @return List:关闭失败的ID + */ + List closeSarStandIssueControlProductList(StandIssueControlProductListVO standIssueControlProductListVO); + + /** + * 获得导出excel的数据 + * @param standIssueControlProductExcelVO:导出的数据ID + * @return List + */ + List getStandIssueControlProductExcelData(StandIssueControlProductExcelVO standIssueControlProductExcelVO); +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/service/impl/SarStandIssueControlProductServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/service/impl/SarStandIssueControlProductServiceImpl.java new file mode 100644 index 00000000..840c6fed --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandIssueControlProduct/service/impl/SarStandIssueControlProductServiceImpl.java @@ -0,0 +1,135 @@ +package com.adc.da.slrs.sarStandIssueControlProduct.service.impl; + +import com.adc.da.slrs.sarStandIssueControlCause.entity.SarStandIssueControlCause; +import com.adc.da.slrs.sarStandIssueControlProduct.entity.SarStandIssueControlProduct; +import com.adc.da.slrs.sarStandIssueControlProduct.dao.SarStandIssueControlProductDao; +import com.adc.da.slrs.sarStandIssueControlProduct.entity.SarStandIssueControlProductPage; +import com.adc.da.slrs.sarStandIssueControlProduct.entity.StandIssueControlProductExcelVO; +import com.adc.da.slrs.sarStandIssueControlProduct.entity.StandIssueControlProductListVO; +import com.adc.da.slrs.sarStandIssueControlProduct.service.ISarStandIssueControlProductService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.sql.Timestamp; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + *

+ * 服务实现类 + *

+ * + * @author super_liu + * @since 2021-06-17 + */ +@Service +public class SarStandIssueControlProductServiceImpl extends ServiceImpl implements ISarStandIssueControlProductService { + @Autowired + private SarStandIssueControlProductDao sarStandIssueControlProductDao; + /** + * 分页查询 + * @param sarStandIssueControlProductPage:筛选、分页信息 + * @return IPage + */ + @Override + public IPage getSarStandIssueControlProductPage(SarStandIssueControlProductPage sarStandIssueControlProductPage) { + QueryWrapper sarStandIssueControlProductQueryWrapper=new QueryWrapper<>(); + //仅查询未关闭的 + sarStandIssueControlProductQueryWrapper.eq("close_state",1); + if(sarStandIssueControlProductPage.getStandId()!=null){ + sarStandIssueControlProductQueryWrapper.eq("stand_id",sarStandIssueControlProductPage.getStandId()).or().like("stand_name","%"+sarStandIssueControlProductPage.getStandName()+"%"); + } + if(sarStandIssueControlProductPage.getResponsibleUnit()!=null){ + sarStandIssueControlProductQueryWrapper.eq("responsible_unit",sarStandIssueControlProductPage.getResponsibleUnit()); + } + Page standIssueControlCausePage=new Page<>(); + //判断前端是否提供页码和每页条数 + if(sarStandIssueControlProductPage.getCurrent()!=null&&sarStandIssueControlProductPage.getSize()!=null){ + standIssueControlCausePage=new Page<>(sarStandIssueControlProductPage.getCurrent(),sarStandIssueControlProductPage.getSize()); + } + return sarStandIssueControlProductDao.selectPage(standIssueControlCausePage,sarStandIssueControlProductQueryWrapper); + } + + /** + * 分页查询 + * @param sarStandIssueControlProductPage:筛选、分页信息 + * @return IPage + */ + @Override + public IPage getSarStandIssueControlProductHistoryPage(SarStandIssueControlProductPage sarStandIssueControlProductPage) { + QueryWrapper sarStandIssueControlProductQueryWrapper=new QueryWrapper<>(); + //仅查询关闭的 + sarStandIssueControlProductQueryWrapper.eq("close_state",2); + if(sarStandIssueControlProductPage.getStandId()!=null){ + sarStandIssueControlProductQueryWrapper.eq("stand_id",sarStandIssueControlProductPage.getStandId()).or().like("stand_name","%"+sarStandIssueControlProductPage.getStandName()+"%"); + } + if(sarStandIssueControlProductPage.getResponsibleUnit()!=null){ + sarStandIssueControlProductQueryWrapper.eq("responsible_unit",sarStandIssueControlProductPage.getResponsibleUnit()); + } + Page standIssueControlCausePage=new Page<>(); + //判断前端是否提供页码和每页条数 + if(sarStandIssueControlProductPage.getCurrent()!=null&&sarStandIssueControlProductPage.getSize()!=null){ + standIssueControlCausePage=new Page<>(sarStandIssueControlProductPage.getCurrent(),sarStandIssueControlProductPage.getSize()); + } + return sarStandIssueControlProductDao.selectPage(standIssueControlCausePage,sarStandIssueControlProductQueryWrapper); + + } + + /** + * 批量关闭 + * @param standIssueControlProductListVO:关闭ID列表 + * @return List:关闭失败的ID + */ + @Override + public List closeSarStandIssueControlProductList(StandIssueControlProductListVO standIssueControlProductListVO) { + List failIds=new ArrayList<>(); + for(String id:standIssueControlProductListVO.getIds()){ + boolean success=closeSarStandIssueControlProduct(id); + if(!success){ + failIds.add(id); + } + } + return failIds; + } + + /** + * 获得导出excel的数据 + * @param standIssueControlProductExcelVO:导出的数据ID + * @return List + */ + @Override + public List getStandIssueControlProductExcelData(StandIssueControlProductExcelVO standIssueControlProductExcelVO) { + QueryWrapper sarStandIssueControlProductQueryWrapper=new QueryWrapper<>(); + sarStandIssueControlProductQueryWrapper.eq("close_state",1); + if(standIssueControlProductExcelVO.getIds()!=null&&standIssueControlProductExcelVO.getIds().size()>0){ + sarStandIssueControlProductQueryWrapper.in("id",standIssueControlProductExcelVO.getIds()); + } + return sarStandIssueControlProductDao.selectList(sarStandIssueControlProductQueryWrapper); + } + + /** + * 问题关闭 + * @param standIssueControlCauseId:ID + * @return boolean + */ + private boolean closeSarStandIssueControlProduct(String standIssueControlCauseId){ + SarStandIssueControlProduct sarStandIssueControlProduct=sarStandIssueControlProductDao.selectById(standIssueControlCauseId); + //判断是否存在 + if(sarStandIssueControlProduct==null){ + return false; + } + //判断是否已关闭 + if(sarStandIssueControlProduct.getCloseState()==2){ + return false; + } + sarStandIssueControlProduct.setCloseState(2); + sarStandIssueControlProduct.setActualCloseTime(new Timestamp(new Date().getTime())); + sarStandIssueControlProductDao.updateById(sarStandIssueControlProduct); + return true; + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/service/ISarStandProjectLibraryService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/service/ISarStandProjectLibraryService.java index 10f24e5f..b6067834 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/service/ISarStandProjectLibraryService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/service/ISarStandProjectLibraryService.java @@ -2,17 +2,7 @@ package com.adc.da.slrs.sarStandProjectLibrary.service; import com.adc.da.slrs.sarStandProjectLibrary.entity.SarStandProjectLibrary; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - *

- * 服务类 - *

- * - * @author super_liu - * @since 2021-06-02 - */ -public interface ISarStandProjectLibraryService extends IService { +public interface ISarStandProjectLibraryService { IPage queryMaintenanceProject(int current, int pageSize); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/controller/SarStandUnqualifiedController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/controller/SarStandUnqualifiedController.java index 87b321e4..c342eebd 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/controller/SarStandUnqualifiedController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/controller/SarStandUnqualifiedController.java @@ -1,15 +1,42 @@ package com.adc.da.slrs.sarStandUnqualified.controller; +import com.adc.da.common.ReadExcel; +import com.adc.da.exception.AdcDaBaseException; +import com.adc.da.http.ResponseMessage; +import com.adc.da.http.ResponseMessageCodeEnum; +import com.adc.da.http.Result; +import com.adc.da.slrs.sarStandUnqualified.entity.SarStandUnqualifiedPage; +import com.adc.da.slrs.sarStandUnqualified.entity.StandUnqualifiedExcelVO; +import com.adc.da.slrs.sarStandUnqualified.entity.StandUnqualifiedListVO; import com.adc.da.slrs.sarStandUnqualified.service.ISarStandUnqualifiedService; +import com.adc.da.slrs.sarStandardsInfo.controller.SarStandardsInfoController; +import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo; +import com.adc.da.slrs.sarStandardsInfo.entity.StandardsInfoExcelVO; +import com.adc.da.utils.util.StandExportUtil; +import com.alibaba.excel.EasyExcel; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.util.IOUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.*; import com.adc.da.slrs.sarStandUnqualified.entity.SarStandUnqualified; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RestController; import com.adc.da.base.web.BaseController; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.List; + /** *

* 前端控制器 @@ -22,8 +49,79 @@ import com.adc.da.base.web.BaseController; @Api(tags = "未符合项整改") @RequestMapping("/sarStandUnqualified/sar-stand-unqualified") public class SarStandUnqualifiedController extends BaseController { + + private static final Logger logger = LoggerFactory.getLogger(SarStandardsInfoController.class); + @Autowired private ISarStandUnqualifiedService sarStandUnqualifiedService; + /** + * 分页查询未符合项 + * @param sarStandUnqualifiedPage:筛选、分页信息 + * @return ResponseMessage> + */ + @ApiOperation("分页查询未符合项") + @GetMapping + public ResponseMessage> getSarStandUnqualifiedPage(SarStandUnqualifiedPage sarStandUnqualifiedPage){ + IPage sarStandUnqualifiedIPage=sarStandUnqualifiedService.getSarStandUnqualifiedPage(sarStandUnqualifiedPage); + return Result.success(sarStandUnqualifiedIPage); + } + /** + * 分页查询未符合项历史数据 + * @param sarStandUnqualifiedPage:筛选、分页信息 + * @return ResponseMessage> + */ + @ApiOperation("分页查询未符合项历史数据") + @GetMapping("/history") + public ResponseMessage> getSarStandUnqualifiedHistoryPage(SarStandUnqualifiedPage sarStandUnqualifiedPage){ + IPage sarStandUnqualifiedIPage=sarStandUnqualifiedService.getSarStandUnqualifiedHistoryPage(sarStandUnqualifiedPage); + return Result.success(sarStandUnqualifiedIPage); + } + + /** + * 批量关闭未符合项 + * @param standUnqualifiedListVO:未符合项ID列表 + * @return ResponseMessage>:关闭失败的未符合项ID + */ + @ApiOperation("批量关闭未符合项") + @PostMapping("/close") + public ResponseMessage> closeSarStandUnqualified(@RequestBody StandUnqualifiedListVO standUnqualifiedListVO){ + if(standUnqualifiedListVO==null||standUnqualifiedListVO.getIds().size()==0){ + return Result.error(ResponseMessageCodeEnum.ERROR.getCode(),"未传入未符合项ID",null); + } + List failIds=sarStandUnqualifiedService.closeSarStandUnqualifiedList(standUnqualifiedListVO); + if(failIds==null||failIds.size()==0){ + return Result.success(null); + }else { + return Result.error(ResponseMessageCodeEnum.ERROR.getCode(),"部分未符合项关闭失败",null); + } + } + + @ApiOperation("导出Excel表") + @GetMapping(value = "/exportStandUnqulifiedExcel") + public void exportStandardsInfoExcel(StandUnqualifiedExcelVO standUnqualifiedExcelVO, HttpServletResponse response) throws Exception { + // 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman + try { + response.setContentType("application/vnd.ms-excel"); + response.setCharacterEncoding("utf-8"); + // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系 + if(standUnqualifiedExcelVO.getExportName()==null){ + standUnqualifiedExcelVO.setExportName("未符合项信息"); + } + String fileName = URLEncoder.encode(standUnqualifiedExcelVO.getExportName(), "UTF-8").replaceAll("\\+", "%20"); + response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); + List data=sarStandUnqualifiedService.getStandUnqualifiedExcelData(standUnqualifiedExcelVO); + // 这里需要设置不关闭流 + EasyExcel.write(response.getOutputStream(), SarStandUnqualified.class).autoCloseStream(Boolean.FALSE).sheet("sheet1") + .doWrite(data); + } catch (Exception e) { + System.out.println(e); + // 重置response + response.reset(); + response.setContentType("application/json"); + response.setCharacterEncoding("utf-8"); + response.getWriter().println(JSON.toJSONString(Result.error())); + } + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/entity/SarStandUnqualified.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/entity/SarStandUnqualified.java index d0ea4bc6..69c8650f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/entity/SarStandUnqualified.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/entity/SarStandUnqualified.java @@ -1,7 +1,13 @@ package com.adc.da.slrs.sarStandUnqualified.entity; import com.adc.da.base.entity.BaseEntity; -import java.time.LocalDateTime; + +import java.sql.Timestamp; + +import com.adc.da.slrs.sarStandUnqualified.utils.ProductTypeConverter; +import com.adc.da.slrs.sarStandUnqualified.utils.TimestampConverter; +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModel; @@ -26,74 +32,92 @@ public class SarStandUnqualified extends BaseEntity { private static final long serialVersionUID = 1L; + @ExcelProperty("创建部门") @ApiModelProperty(value = "创建部门") @TableField("CREATE_DEPT_ID") private String createDeptId; + @ExcelProperty("创建人") @ApiModelProperty(value = "创建人") @TableField("CREATE_BY_ID") private String createById; + @ExcelProperty(value = "创建时间",converter = TimestampConverter.class) @ApiModelProperty(value = "创建时间") @TableField("CREATE_TIME") - private LocalDateTime createTime; + private Timestamp createTime; + @ExcelIgnore @ApiModelProperty(value = "关闭状态(1为开启,2为关闭)") @TableField("CLOSE_STATE") private Integer closeState; + @ExcelIgnore @ApiModelProperty(value = "实际关闭时间") @TableField("ACTUAL_CLOSE_TIME") - private LocalDateTime actualCloseTime; + private Timestamp actualCloseTime; + @ExcelProperty(value = "计划关闭时间",converter = TimestampConverter.class) @ApiModelProperty(value = "计划关闭时间") @TableField("PLAN_CLOSE_TIME") - private LocalDateTime planCloseTime; + private Timestamp planCloseTime; + @ExcelProperty("质量工程师") @ApiModelProperty(value = "质量工程师") @TableField("QA_ENGINEER") private String qaEngineer; + @ExcelProperty("认证工程师") @ApiModelProperty(value = "认证工程师") @TableField("AUTH_ENGINEER") private String authEngineer; + @ExcelProperty("责任工程师") @ApiModelProperty(value = "责任工程师") @TableField("DUTY_ENGINEER") private String dutyEngineer; + @ExcelProperty("责任部门") @ApiModelProperty(value = "责任部门") @TableField("RESPONSIBLE_UNIT") private String responsibleUnit; + @ExcelProperty("项目名称") @ApiModelProperty(value = "项目名称") @TableField("PRODUCT_NAME") private String productName; + @ExcelProperty("产品线") @ApiModelProperty(value = "产品线") @TableField("PRODUCT_LINE") private String productLine; + @ExcelProperty(value = "产品类型",converter = ProductTypeConverter.class) @ApiModelProperty(value = "产品类型(research为在研产品,product为在产产品)") @TableField("PRODUCT_TYPE") private String productType; + @ExcelProperty("条款名称") @ApiModelProperty(value = "条款名称") @TableField("ITEMS_NAME") private String itemsName; + @ExcelProperty("条款号") @ApiModelProperty(value = "条款号") @TableField("ITEMS_NUM") private String itemsNum; + @ExcelProperty("标准名称") @ApiModelProperty(value = "标准名称") @TableField("STAND_NAME") private String standName; + @ExcelProperty("标准编号") @ApiModelProperty(value = "标准ID") @TableField("STAND_ID") private String standId; + @ExcelIgnore @ApiModelProperty(value = "主键") @TableId("ID") private String id; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/entity/SarStandUnqualifiedPage.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/entity/SarStandUnqualifiedPage.java new file mode 100644 index 00000000..c2801a4c --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/entity/SarStandUnqualifiedPage.java @@ -0,0 +1,88 @@ +package com.adc.da.slrs.sarStandUnqualified.entity; + +import com.adc.da.base.entity.BaseEntity; + +import java.sql.Timestamp; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonBackReference; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * + *

+ * + * @author super_liu + * @since 2021-06-15 + */ +@Data +@ApiModel(value="SarStandUnqualifiedPage对象", description="") +public class SarStandUnqualifiedPage { + + @ApiModelProperty(value = "创建部门") + private String createDeptId; + + @ApiModelProperty(value = "创建人") + private String createById; + + @ApiModelProperty(value = "创建时间") + private Timestamp createTime; + + @ApiModelProperty(value = "关闭状态(1为开启,2为关闭)") + private Integer closeState; + + @ApiModelProperty(value = "实际关闭时间") + private Timestamp actualCloseTime; + + @ApiModelProperty(value = "计划关闭时间") + private Timestamp planCloseTime; + + @ApiModelProperty(value = "质量工程师") + private String qaEngineer; + + @ApiModelProperty(value = "认证工程师") + private String authEngineer; + + @ApiModelProperty(value = "责任工程师") + private String dutyEngineer; + + @ApiModelProperty(value = "责任部门") + private String responsibleUnit; + + @ApiModelProperty(value = "项目名称") + private String productName; + + @ApiModelProperty(value = "产品线") + private String productLine; + + @ApiModelProperty(value = "产品类型(research为在研产品,product为在产产品)") + private String productType; + + @ApiModelProperty(value = "条款名称") + private String itemsName; + + @ApiModelProperty(value = "条款号") + private String itemsNum; + + @ApiModelProperty(value = "标准名称") + private String standName; + + @ApiModelProperty(value = "标准ID") + private String standId; + + @ApiModelProperty(value = "主键") + private String id; + + @ApiModelProperty("当前页") + private Integer current; + + @ApiModelProperty("每页条数") + private Integer size; + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/entity/StandUnqualifiedExcelVO.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/entity/StandUnqualifiedExcelVO.java new file mode 100644 index 00000000..830e23c1 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/entity/StandUnqualifiedExcelVO.java @@ -0,0 +1,16 @@ +package com.adc.da.slrs.sarStandUnqualified.entity; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@ApiModel(description = "未符合项ExcelVO类") +public class StandUnqualifiedExcelVO { + @ApiModelProperty("文件名") + String exportName; + @ApiModelProperty("导出的未符合项ID列表") + List ids; +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/entity/StandUnqualifiedListVO.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/entity/StandUnqualifiedListVO.java new file mode 100644 index 00000000..eb045402 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/entity/StandUnqualifiedListVO.java @@ -0,0 +1,12 @@ +package com.adc.da.slrs.sarStandUnqualified.entity; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class StandUnqualifiedListVO { + @ApiModelProperty("未符合项ID列表") + private List Ids; +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/service/ISarStandUnqualifiedService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/service/ISarStandUnqualifiedService.java index 765bc8bc..4d7873ca 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/service/ISarStandUnqualifiedService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/service/ISarStandUnqualifiedService.java @@ -1,8 +1,14 @@ package com.adc.da.slrs.sarStandUnqualified.service; import com.adc.da.slrs.sarStandUnqualified.entity.SarStandUnqualified; +import com.adc.da.slrs.sarStandUnqualified.entity.SarStandUnqualifiedPage; +import com.adc.da.slrs.sarStandUnqualified.entity.StandUnqualifiedExcelVO; +import com.adc.da.slrs.sarStandUnqualified.entity.StandUnqualifiedListVO; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** *

* 服务类 @@ -13,4 +19,31 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface ISarStandUnqualifiedService extends IService { + /** + * 分页查询未符合项 + * @param sarStandUnqualifiedPage:筛选、分页信息 + * @return:IPage + */ + IPage getSarStandUnqualifiedPage(SarStandUnqualifiedPage sarStandUnqualifiedPage); + + /** + * 分页查询未符合项历史数据 + * @param sarStandUnqualifiedPage:筛选、分页信息 + * @return:IPage + */ + IPage getSarStandUnqualifiedHistoryPage(SarStandUnqualifiedPage sarStandUnqualifiedPage); + + /** + * 批量关闭未符合项 + * @param standUnqualifiedListVO :要关闭的未符合项目列表 + * @return + */ + List closeSarStandUnqualifiedList(StandUnqualifiedListVO standUnqualifiedListVO); + + /** + * 获取导出excel的数据 + * @param standUnqualifiedExcelVO:ids + * @return List + */ + List getStandUnqualifiedExcelData(StandUnqualifiedExcelVO standUnqualifiedExcelVO); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/service/impl/SarStandUnqualifiedServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/service/impl/SarStandUnqualifiedServiceImpl.java index 66d459c9..eefa6161 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/service/impl/SarStandUnqualifiedServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/service/impl/SarStandUnqualifiedServiceImpl.java @@ -2,9 +2,23 @@ package com.adc.da.slrs.sarStandUnqualified.service.impl; import com.adc.da.slrs.sarStandUnqualified.entity.SarStandUnqualified; import com.adc.da.slrs.sarStandUnqualified.dao.SarStandUnqualifiedDao; +import com.adc.da.slrs.sarStandUnqualified.entity.SarStandUnqualifiedPage; +import com.adc.da.slrs.sarStandUnqualified.entity.StandUnqualifiedExcelVO; +import com.adc.da.slrs.sarStandUnqualified.entity.StandUnqualifiedListVO; import com.adc.da.slrs.sarStandUnqualified.service.ISarStandUnqualifiedService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.sql.Timestamp; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; /** *

@@ -17,4 +31,109 @@ import org.springframework.stereotype.Service; @Service public class SarStandUnqualifiedServiceImpl extends ServiceImpl implements ISarStandUnqualifiedService { + @Autowired + private SarStandUnqualifiedDao sarStandUnqualifiedDao; + /** + * 分页查询未符合项 + * @param sarStandUnqualifiedPage:筛选、分页信息 + * @return:IPage + */ + @Override + public IPage getSarStandUnqualifiedPage(SarStandUnqualifiedPage sarStandUnqualifiedPage) { + QueryWrapper sarStandUnqualifiedQueryWrapper=new QueryWrapper<>(); + //仅查询未关闭的 + sarStandUnqualifiedQueryWrapper.eq("close_state",1); + if(sarStandUnqualifiedPage.getStandId()!=null){ + sarStandUnqualifiedQueryWrapper.eq("stand_id",sarStandUnqualifiedPage.getStandId()).or().like("stand_name","%"+sarStandUnqualifiedPage.getStandName()+"%"); + } + if(sarStandUnqualifiedPage.getProductName()!=null){ + sarStandUnqualifiedQueryWrapper.like("product_name","%"+sarStandUnqualifiedPage.getProductName()+"%"); + } + if(sarStandUnqualifiedPage.getResponsibleUnit()!=null){ + sarStandUnqualifiedQueryWrapper.eq("responsible_unit",sarStandUnqualifiedPage.getResponsibleUnit()); + } + Page standUnqualifiedPage=new Page<>(); + //判断前端是否提供页码和每页条数 + if(sarStandUnqualifiedPage.getCurrent()!=null&&sarStandUnqualifiedPage.getSize()!=null){ + standUnqualifiedPage=new Page<>(sarStandUnqualifiedPage.getCurrent(),sarStandUnqualifiedPage.getSize()); + } + return sarStandUnqualifiedDao.selectPage(standUnqualifiedPage,sarStandUnqualifiedQueryWrapper); + } + + /** + * 分页查询未符合项历史数据 + * @param sarStandUnqualifiedPage:筛选、分页信息 + * @return:IPage + */ + @Override + public IPage getSarStandUnqualifiedHistoryPage(SarStandUnqualifiedPage sarStandUnqualifiedPage) { + QueryWrapper sarStandUnqualifiedQueryWrapper=new QueryWrapper<>(); + //仅查询关闭的 + sarStandUnqualifiedQueryWrapper.eq("close_state",2); + if(sarStandUnqualifiedPage.getStandId()!=null){ + sarStandUnqualifiedQueryWrapper.eq("stand_id",sarStandUnqualifiedPage.getStandId()).or().like("stand_name","%"+sarStandUnqualifiedPage.getStandName()+"%"); + } + if(sarStandUnqualifiedPage.getProductName()!=null){ + sarStandUnqualifiedQueryWrapper.like("product_name","%"+sarStandUnqualifiedPage.getProductName()+"%"); + } + if(sarStandUnqualifiedPage.getResponsibleUnit()!=null){ + sarStandUnqualifiedQueryWrapper.eq("responsible_unit",sarStandUnqualifiedPage.getResponsibleUnit()); + } + Page standUnqualifiedPage=new Page<>(); + //判断前端是否提供页码和每页条数 + if(sarStandUnqualifiedPage.getCurrent()!=null&&sarStandUnqualifiedPage.getSize()!=null){ + standUnqualifiedPage=new Page<>(sarStandUnqualifiedPage.getCurrent(),sarStandUnqualifiedPage.getSize()); + } + return sarStandUnqualifiedDao.selectPage(standUnqualifiedPage,sarStandUnqualifiedQueryWrapper); + + } + + /** + * 批量关闭未符合项 + * @param standUnqualifiedListVO :要关闭的未符合项目列表 + * @return List:失败的ID列表 + */ + @Transactional + @Override + public List closeSarStandUnqualifiedList(StandUnqualifiedListVO standUnqualifiedListVO) { + List failIds=new ArrayList<>(); + for(String id:standUnqualifiedListVO.getIds()){ + boolean success=closeSarStandUnqualified(id); + if(!success){ + failIds.add(id); + } + } + return failIds; + } + + /** + * 获取导出excel的数据 + * @param standUnqualifiedExcelVO:ids + * @return List + */ + @Override + public List getStandUnqualifiedExcelData(StandUnqualifiedExcelVO standUnqualifiedExcelVO) { + QueryWrapper sarStandUnqualifiedQueryWrapper=new QueryWrapper<>(); + sarStandUnqualifiedQueryWrapper.eq("close_state",1); + if(standUnqualifiedExcelVO.getIds()!=null&&standUnqualifiedExcelVO.getIds().size()>0){ + sarStandUnqualifiedQueryWrapper.in("id",standUnqualifiedExcelVO.getIds()); + } + return sarStandUnqualifiedDao.selectList(sarStandUnqualifiedQueryWrapper); + } + + private boolean closeSarStandUnqualified(String standUnqualifiedId){ + SarStandUnqualified sarStandUnqualified=sarStandUnqualifiedDao.selectById(standUnqualifiedId); + //判断是否存在 + if(sarStandUnqualified==null){ + return false; + } + //判断是否已关闭 + if(sarStandUnqualified.getCloseState()==2){ + return false; + } + sarStandUnqualified.setCloseState(2); + sarStandUnqualified.setActualCloseTime(new Timestamp(new Date().getTime())); + sarStandUnqualifiedDao.updateById(sarStandUnqualified); + return true; + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/utils/ProductTypeConverter.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/utils/ProductTypeConverter.java new file mode 100644 index 00000000..168354ed --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/utils/ProductTypeConverter.java @@ -0,0 +1,47 @@ +package com.adc.da.slrs.sarStandUnqualified.utils; + +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.CellData; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +/** + * excel产品类型转换 + */ +public class ProductTypeConverter implements Converter { + //在java中性别是用 0 1 来标识的 所以是int + @Override + public Class supportJavaTypeKey() {return String.class;} + // 在excel中是男女 所以是string + @Override + public CellDataTypeEnum supportExcelTypeKey() {return CellDataTypeEnum.STRING;} + //将excel的数据类型转为java数据类型 + @Override + public String convertToJavaData(CellData cellData, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception { + String stringValue = cellData.getStringValue(); + if (stringValue != null) { + if(stringValue.equals("在研产品")){ + return "research"; + } + if(stringValue.equals("在产产品")){ + return "product"; + } + } + return null; + } + + @Override + public CellData convertToExcelData(String s, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception { + if(s!=null){ + if(s.equals("research")){ + return new CellData<>("在研产品"); + } + if(s.equals("product")){ + return new CellData<>("在产产品"); + } + } + return null; + } + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/utils/TimestampConverter.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/utils/TimestampConverter.java new file mode 100644 index 00000000..feafea8c --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandUnqualified/utils/TimestampConverter.java @@ -0,0 +1,42 @@ +package com.adc.da.slrs.sarStandUnqualified.utils; + +import com.adc.da.utils.util.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.CellData; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.sql.Timestamp; +import java.text.ParseException; +import java.time.format.DateTimeFormatter; +import java.util.Date; + +/** + * excel输出时Timestamp和String的转换 + */ +public class TimestampConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Timestamp.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Timestamp convertToJavaData(CellData cellData, ExcelContentProperty contentProperty, + GlobalConfiguration globalConfiguration) throws ParseException { + return new Timestamp(DateUtil.stingToDate(cellData.getDataFormatString(),"yyyy-MM-dd HH:mm:ss").getTime()); + } + + @Override + public CellData convertToExcelData(Timestamp value, ExcelContentProperty contentProperty, + GlobalConfiguration globalConfiguration) { + return new CellData<>(DateUtil.dateToString(new Date(value.getTime()),"yyyy-MM-dd HH:mm:ss")); + } + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/utils/util/DateUtil.java b/adc-da-slrs/src/main/java/com/adc/da/utils/util/DateUtil.java index 7ef009f3..cd892c2c 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/utils/util/DateUtil.java +++ b/adc-da-slrs/src/main/java/com/adc/da/utils/util/DateUtil.java @@ -55,6 +55,36 @@ public class DateUtil { return dateTime; } + /** + * 将日期对象转换为指定的日期字符串 + * + * @param date 传入的日期对象 + * @param format 格式 + * @return 日期字符串 + * @author 赵肖云 + */ + public static String dateToString(Date date, String format) { + String string = ""; + SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format); + if (date != null) { + string = simpleDateFormat.format(date); + } + return string; + } + + /** + * 将日期字符串转换为一个日期对象 + * + * @param datestr 日期字符串 + * @param format 格式 + * @return Date + * @author 赵肖云 + */ + public static Date stingToDate(String datestr, String format) throws ParseException { + SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format); + return simpleDateFormat.parse(datestr); + } + public static void main(String[] args) { String utcTime = "2021-04-15T01:43:54.296Z"; diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandIssueControlCause/SarStandIssueControlCauseMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandIssueControlCause/SarStandIssueControlCauseMapper.xml new file mode 100644 index 00000000..cf0cfb84 --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandIssueControlCause/SarStandIssueControlCauseMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandIssueControlProduct/SarStandIssueControlProductMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandIssueControlProduct/SarStandIssueControlProductMapper.xml new file mode 100644 index 00000000..d436e6ae --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandIssueControlProduct/SarStandIssueControlProductMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/pom.xml b/pom.xml index a44dee79..4bff73b3 100644 --- a/pom.xml +++ b/pom.xml @@ -279,6 +279,12 @@ spring-rabbit-test test + + + com.alibaba + easyexcel + 2.2.6 + From 37930e0b072179cca458b70d4a33916c14f1f442 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Thu, 17 Jun 2021 11:32:28 +0800 Subject: [PATCH 11/11] =?UTF-8?q?feat:=20=E6=A0=87=E5=87=86=E5=AE=9E?= =?UTF-8?q?=E4=BD=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sarStandardsInfo/entity/SarStandardsInfo.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/entity/SarStandardsInfo.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/entity/SarStandardsInfo.java index 8cc07aef..7e4f80fd 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/entity/SarStandardsInfo.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/entity/SarStandardsInfo.java @@ -124,6 +124,16 @@ public class SarStandardsInfo extends BaseEntity { @TableField("CITED_STAND") private String citedStand; + // 新添加字段 + @ApiModelProperty(value = "文本状态") + @TableField("TEXT_STATUS") + private String textStatus; + + @ApiModelProperty(value = "标准体系") + @TableField("STAND_SYSTEM") + private String standSystem; + + // 以下为非表中字段 @TableField(exist = false) private String collectId; // 收藏表ID @@ -178,3 +188,4 @@ public class SarStandardsInfo extends BaseEntity { private String putTime2; } +