Merge branch 'develop_2' into 'develop_master'

Develop 2

See merge request !8
This commit is contained in:
super_liu
2021-06-18 07:46:25 +00:00
67 changed files with 2236 additions and 384 deletions
@@ -37,7 +37,7 @@ import java.util.Map;
@Validated
@Controller
@RequestMapping(value = "/api")
@Api(description = "登录接口")
@Api(tags = "登录接口")
@Slf4j
public class LoginRestController {
@@ -3,7 +3,7 @@
# 数据库配置
#=============================================
spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver
spring.datasource.url = jdbc:mysql://39.100.23.127:3306/foton_slrs_test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false
spring.datasource.url = jdbc:mysql://192.168.10.47:3306/foton_slrs_test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false
spring.datasource.username = root
spring.datasource.password = root
+1
View File
@@ -35,5 +35,6 @@
<version>3.1.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
@@ -1,41 +0,0 @@
package com.adc.da.slrs.sarInterpretationStandard.entity;
import com.adc.da.base.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
*
* </p>
*
* @author zyl
* @since 2021-06-16
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="SarInterpretationForeignStandard对象", description="")
public class SarInterpretationForeignStandard extends BaseEntity {
private static final long serialVersionUID = 1L;
private String standardNum;
private String standardName;
private String correspondDomesticStandard;
private String specificItem;
private String coreTechnicalRequirement;
private String comparedDomesticStandard;
private String complianceState;
}
@@ -1,41 +0,0 @@
package com.adc.da.slrs.sarInterpretationStandard.entity;
import com.adc.da.base.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
*
* </p>
*
* @author zyl
* @since 2021-06-16
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="SarInterpretationNationalStandard对象", description="")
public class SarInterpretationNationalStandard extends BaseEntity {
private static final long serialVersionUID = 1L;
private String standardNum;
private String standardName;
private Integer lastVersionNum;
private String specificItem;
private String coreTechnicalRequirement;
private String comparedWithPrevious;
private String complianceState;
}
@@ -1,20 +0,0 @@
package com.adc.da.slrs.sarInterpretationStandard.service.impl;
import com.adc.da.slrs.sarInterpretationStandard.entity.SarInterpretationForeignStandard;
import com.adc.da.slrs.sarInterpretationStandard.dao.SarInterpretationForeignStandardDao;
import com.adc.da.slrs.sarInterpretationStandard.service.ISarInterpretationForeignStandardService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author zyl
* @since 2021-06-16
*/
@Service
public class SarInterpretationForeignStandardServiceImpl extends ServiceImpl<SarInterpretationForeignStandardDao, SarInterpretationForeignStandard> implements ISarInterpretationForeignStandardService {
}
@@ -1,20 +0,0 @@
package com.adc.da.slrs.sarInterpretationStandard.service.impl;
import com.adc.da.slrs.sarInterpretationStandard.entity.SarInterpretationNationalStandard;
import com.adc.da.slrs.sarInterpretationStandard.dao.SarInterpretationNationalStandardDao;
import com.adc.da.slrs.sarInterpretationStandard.service.ISarInterpretationNationalStandardService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author zyl
* @since 2021-06-16
*/
@Service
public class SarInterpretationNationalStandardServiceImpl extends ServiceImpl<SarInterpretationNationalStandardDao, SarInterpretationNationalStandard> implements ISarInterpretationNationalStandardService {
}
@@ -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;
/**
* <p>
* 前端控制器
* </p>
*
* @author super_liu
* @since 2021-06-16
*/
@RestController
@Api(tags = "|重点问题项管控模块-事业部|")
@RequestMapping("/api/sarStandIssueControlCause/sar-stand-issue-control-cause")
public class SarStandIssueControlCauseController extends BaseController<SarStandIssueControlCause> {
private static final Logger logger = LoggerFactory.getLogger(SarStandardsInfoController.class);
@Autowired
private ISarStandIssueControlCauseService sarStandIssueControlCauseService;
/**
* 分页查询
* @param sarStandIssueControlCausePage:筛选、分页信息
* @return ResponseMessage<IPage<SarStandIssueControlCause>>
*/
@ApiOperation("分页查询")
@GetMapping
public ResponseMessage<IPage<SarStandIssueControlCause>> getSarStandIssueControlCausePage(SarStandIssueControlCausePage sarStandIssueControlCausePage){
IPage<SarStandIssueControlCause> sarStandIssueControlCauseIPage=sarStandIssueControlCauseService.getSarStandIssueControlCausePage(sarStandIssueControlCausePage);
return Result.success(sarStandIssueControlCauseIPage);
}
/**
* 分页查询历史数据
* @param sarStandIssueControlCausePage:筛选、分页信息
* @return ResponseMessage<IPage<SarStandUnqualified>>
*/
@ApiOperation("分页查询历史数据")
@GetMapping("/history")
public ResponseMessage<IPage<SarStandIssueControlCause>> getSarStandIssueControlCauseHistoryPage(SarStandIssueControlCausePage sarStandIssueControlCausePage){
IPage<SarStandIssueControlCause> sarStandIssueControlCauseIPage=sarStandIssueControlCauseService.getSarStandIssueControlCauseHistoryPage(sarStandIssueControlCausePage);
return Result.success(sarStandIssueControlCauseIPage);
}
/**
* 批量关闭
* @param standIssueControlCauseListVO:事业部重大问题ID列表
* @return ResponseMessage<List<String>>:关闭失败的事业部重大问题ID列表
*/
@ApiOperation("批量关闭")
@PostMapping("/close")
public ResponseMessage<List<String>> closeSarStandIssueControlCause(@RequestBody StandIssueControlCauseListVO standIssueControlCauseListVO){
if(standIssueControlCauseListVO==null||standIssueControlCauseListVO.getIds().size()==0){
return Result.error(ResponseMessageCodeEnum.ERROR.getCode(),"未传入ID",null);
}
List<String> 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<SarStandIssueControlCause> 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()));
}
}
}
@@ -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;
/**
* <p>
* Mapper 接口
* </p>
*
* @author super_liu
* @since 2021-06-16
*/
public interface SarStandIssueControlCauseDao extends BaseMapper<SarStandIssueControlCause> {
}
@@ -0,0 +1,124 @@
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 com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
/**
* <p>
*
* </p>
*
* @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 = "创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField("CREATE_TIME")
private Timestamp createTime;
@ExcelIgnore
@ApiModelProperty(value = "关闭状态(1为开启,2为关闭)")
@TableField("CLOSE_STATE")
private Integer closeState;
@ExcelIgnore
@ApiModelProperty(value = "实际关闭时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField("ACTUAL_CLOSE_TIME")
private Timestamp actualCloseTime;
@ExcelProperty(value = "要求关闭时间",converter = TimestampConverter.class)
@ApiModelProperty(value = "要求关闭时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@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;
}
@@ -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;
}
@@ -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<String> ids;
}
@@ -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<String> Ids;
}
@@ -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;
/**
* <p>
* 服务类
* </p>
*
* @author super_liu
* @since 2021-06-16
*/
public interface ISarStandIssueControlCauseService extends IService<SarStandIssueControlCause> {
/**
* 分页查询
* @param sarStandIssueControlCausePage:筛选信息、分页信息
* @return IPage<SarStandIssueControlCause>
*/
IPage<SarStandIssueControlCause> getSarStandIssueControlCausePage(SarStandIssueControlCausePage sarStandIssueControlCausePage);
/**
* 分页查询历史数据
* @param sarStandIssueControlCausePage:筛选信息、分页信息
* @return IPage<SarStandIssueControlCause>
*/
IPage<SarStandIssueControlCause> getSarStandIssueControlCauseHistoryPage(SarStandIssueControlCausePage sarStandIssueControlCausePage);
/**
* 批量关闭
* @param standIssueControlCauseListVO:问题ID列表
* @return List<String>:关闭失败的ID列表
*/
List<String> closeSarStandIssueControlCauseList(StandIssueControlCauseListVO standIssueControlCauseListVO);
/**
* 获得excel导出的数据
* @param standIssueControlCauseExcelVO :筛选ID
* @return List<SarStandIssueControlCause>
*/
List<SarStandIssueControlCause> getStandIssueControlCauseExcelData(StandIssueControlCauseExcelVO standIssueControlCauseExcelVO);
}
@@ -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;
/**
* <p>
* 服务实现类
* </p>
*
* @author super_liu
* @since 2021-06-16
*/
@Service
public class SarStandIssueControlCauseServiceImpl extends ServiceImpl<SarStandIssueControlCauseDao, SarStandIssueControlCause> implements ISarStandIssueControlCauseService {
@Autowired
private SarStandIssueControlCauseDao sarStandIssueControlCauseDao;
/**
* 分页查询
* @param sarStandIssueControlCausePage:筛选信息、分页信息
* @return SarStandIssueControlCause
*/
@Override
public IPage<SarStandIssueControlCause> getSarStandIssueControlCausePage(SarStandIssueControlCausePage sarStandIssueControlCausePage) {
QueryWrapper<SarStandIssueControlCause> sarStandIssueControlCauseQueryWrapper=new QueryWrapper<>();
//仅查询未关闭的
sarStandIssueControlCauseQueryWrapper.eq("close_state",1);
if(sarStandIssueControlCausePage.getStandId()!=null){
sarStandIssueControlCauseQueryWrapper.eq("stand_id",sarStandIssueControlCausePage.getStandId()).or().like("stand_name","%"+sarStandIssueControlCausePage.getStandId()+"%");
}
if(sarStandIssueControlCausePage.getProductName()!=null){
sarStandIssueControlCauseQueryWrapper.like("product_name","%"+sarStandIssueControlCausePage.getProductName()+"%");
}
if(sarStandIssueControlCausePage.getResponsibleUnit()!=null){
sarStandIssueControlCauseQueryWrapper.eq("responsible_unit",sarStandIssueControlCausePage.getResponsibleUnit());
}
Page<SarStandIssueControlCause> 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<SarStandIssueControlCause>
*/
@Override
public IPage<SarStandIssueControlCause> getSarStandIssueControlCauseHistoryPage(SarStandIssueControlCausePage sarStandIssueControlCausePage) {
QueryWrapper<SarStandIssueControlCause> sarStandIssueControlCauseQueryWrapper=new QueryWrapper<>();
//仅查询关闭的
sarStandIssueControlCauseQueryWrapper.eq("close_state",2);
if(sarStandIssueControlCausePage.getStandId()!=null){
sarStandIssueControlCauseQueryWrapper.eq("stand_id",sarStandIssueControlCausePage.getStandId()).or().like("stand_name","%"+sarStandIssueControlCausePage.getStandId()+"%");
}
if(sarStandIssueControlCausePage.getProductName()!=null){
sarStandIssueControlCauseQueryWrapper.like("product_name","%"+sarStandIssueControlCausePage.getProductName()+"%");
}
if(sarStandIssueControlCausePage.getResponsibleUnit()!=null){
sarStandIssueControlCauseQueryWrapper.eq("responsible_unit",sarStandIssueControlCausePage.getResponsibleUnit());
}
Page<SarStandIssueControlCause> 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<String>:关闭失败的ID列表
*/
@Override
public List<String> closeSarStandIssueControlCauseList(StandIssueControlCauseListVO standIssueControlCauseListVO) {
List<String> 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<SarStandIssueControlCause>
*/
@Override
public List<SarStandIssueControlCause> getStandIssueControlCauseExcelData(StandIssueControlCauseExcelVO standIssueControlCauseExcelVO) {
QueryWrapper<SarStandIssueControlCause> 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 standIssueControlCauseIdID
* @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;
}
}
@@ -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;
/**
* <p>
* 前端控制器
* </p>
*
* @author zxy
* @since 2021-06-17
*/
@RestController
@Api(tags = "|重点问题项管控-产品规划部|")
@RequestMapping("/api/sarStandIssueControlProduct/sar-stand-issue-control-product")
public class SarStandIssueControlProductController extends BaseController<SarStandIssueControlProduct> {
private static final Logger logger = LoggerFactory.getLogger(SarStandardsInfoController.class);
@Autowired
private ISarStandIssueControlProductService sarStandIssueControlProductService;
/**
* 分页查询
* @param sarStandIssueControlProductPage:筛选、分页信息
* @return ResponseMessage<IPage<SarStandIssueControlCause>>
*/
@ApiOperation("分页查询")
@GetMapping
public ResponseMessage<IPage<SarStandIssueControlProduct>> getSarStandIssueControlProductPage(SarStandIssueControlProductPage sarStandIssueControlProductPage){
IPage<SarStandIssueControlProduct> sarStandIssueControlCauseIPage=sarStandIssueControlProductService.getSarStandIssueControlProductPage(sarStandIssueControlProductPage);
return Result.success(sarStandIssueControlCauseIPage);
}
/**
* 分页查询历史数据
* @param sarStandIssueControlProductPage:筛选、分页信息
* @return ResponseMessage<IPage<SarStandUnqualified>>
*/
@ApiOperation("分页查询历史数据")
@GetMapping("/history")
public ResponseMessage<IPage<SarStandIssueControlProduct>> getSarStandIssueControlProductHistoryPage(SarStandIssueControlProductPage sarStandIssueControlProductPage){
IPage<SarStandIssueControlProduct> sarStandIssueControlProductIPage=sarStandIssueControlProductService.getSarStandIssueControlProductHistoryPage(sarStandIssueControlProductPage);
return Result.success(sarStandIssueControlProductIPage);
}
/**
* 批量关闭
* @param standIssueControlProductListVO:重大问题ID列表
* @return ResponseMessage<List<String>>:关闭失败的重大问题ID列表
*/
@ApiOperation("批量关闭")
@PostMapping("/close")
public ResponseMessage<List<String>> closeSarStandIssueControlCause(@RequestBody StandIssueControlProductListVO standIssueControlProductListVO){
if(standIssueControlProductListVO==null||standIssueControlProductListVO.getIds().size()==0){
return Result.error(ResponseMessageCodeEnum.ERROR.getCode(),"未传入ID",null);
}
List<String> 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<SarStandIssueControlProduct> 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()));
}
}
}
@@ -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;
/**
* <p>
* Mapper 接口
* </p>
*
* @author super_liu
* @since 2021-06-17
*/
public interface SarStandIssueControlProductDao extends BaseMapper<SarStandIssueControlProduct> {
}
@@ -0,0 +1,131 @@
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 com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
/**
* <p>
*
* </p>
*
* @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 = "创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField("CREATE_TIME")
private Timestamp createTime;
@ExcelIgnore
@ApiModelProperty(value = "关闭状态(1为开启,2为关闭)")
@TableField("CLOSE_STATE")
private Integer closeState;
@ExcelIgnore
@ApiModelProperty(value = "实际关闭时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField("ACTUAL_CLOSE_TIME")
private Timestamp actualCloseTime;
@ExcelProperty(value = "要求关闭时间",converter = TimestampConverter.class)
@ApiModelProperty(value = "要求关闭时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@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 = "实施时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@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;
}
@@ -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;
}
@@ -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<String> ids;
}
@@ -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<String> Ids;
}
@@ -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;
/**
* <p>
* 服务类
* </p>
*
* @author zxy
* @since 2021-06-17
*/
public interface ISarStandIssueControlProductService extends IService<SarStandIssueControlProduct> {
/**
* 分页查询
* @param sarStandIssueControlProductPage:筛选、分页信息
* @return IPage<SarStandIssueControlProduct>
*/
IPage<SarStandIssueControlProduct> getSarStandIssueControlProductPage(SarStandIssueControlProductPage sarStandIssueControlProductPage);
/**
* 分页查询
* @param sarStandIssueControlProductPage:筛选、分页信息
* @return IPage<SarStandIssueControlProduct>
*/
IPage<SarStandIssueControlProduct> getSarStandIssueControlProductHistoryPage(SarStandIssueControlProductPage sarStandIssueControlProductPage);
/**
* 批量关闭
* @param standIssueControlProductListVO:关闭ID列表
* @return List<String>:关闭失败的ID
*/
List<String> closeSarStandIssueControlProductList(StandIssueControlProductListVO standIssueControlProductListVO);
/**
* 获得导出excel的数据
* @param standIssueControlProductExcelVO:导出的数据ID
* @return List<SarStandIssueControlProduct>
*/
List<SarStandIssueControlProduct> getStandIssueControlProductExcelData(StandIssueControlProductExcelVO standIssueControlProductExcelVO);
}
@@ -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;
/**
* <p>
* 服务实现类
* </p>
*
* @author super_liu
* @since 2021-06-17
*/
@Service
public class SarStandIssueControlProductServiceImpl extends ServiceImpl<SarStandIssueControlProductDao, SarStandIssueControlProduct> implements ISarStandIssueControlProductService {
@Autowired
private SarStandIssueControlProductDao sarStandIssueControlProductDao;
/**
* 分页查询
* @param sarStandIssueControlProductPage:筛选、分页信息
* @return IPage<SarStandIssueControlProduct>
*/
@Override
public IPage<SarStandIssueControlProduct> getSarStandIssueControlProductPage(SarStandIssueControlProductPage sarStandIssueControlProductPage) {
QueryWrapper<SarStandIssueControlProduct> sarStandIssueControlProductQueryWrapper=new QueryWrapper<>();
//仅查询未关闭的
sarStandIssueControlProductQueryWrapper.eq("close_state",1);
if(sarStandIssueControlProductPage.getStandId()!=null){
sarStandIssueControlProductQueryWrapper.eq("stand_id",sarStandIssueControlProductPage.getStandId()).or().like("stand_name","%"+sarStandIssueControlProductPage.getStandId()+"%");
}
if(sarStandIssueControlProductPage.getResponsibleUnit()!=null){
sarStandIssueControlProductQueryWrapper.eq("responsible_unit",sarStandIssueControlProductPage.getResponsibleUnit());
}
Page<SarStandIssueControlProduct> 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<SarStandIssueControlProduct>
*/
@Override
public IPage<SarStandIssueControlProduct> getSarStandIssueControlProductHistoryPage(SarStandIssueControlProductPage sarStandIssueControlProductPage) {
QueryWrapper<SarStandIssueControlProduct> sarStandIssueControlProductQueryWrapper=new QueryWrapper<>();
//仅查询关闭的
sarStandIssueControlProductQueryWrapper.eq("close_state",2);
if(sarStandIssueControlProductPage.getStandId()!=null){
sarStandIssueControlProductQueryWrapper.eq("stand_id",sarStandIssueControlProductPage.getStandId()).or().like("stand_name","%"+sarStandIssueControlProductPage.getStandId()+"%");
}
if(sarStandIssueControlProductPage.getResponsibleUnit()!=null){
sarStandIssueControlProductQueryWrapper.eq("responsible_unit",sarStandIssueControlProductPage.getResponsibleUnit());
}
Page<SarStandIssueControlProduct> 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<String>:关闭失败的ID
*/
@Override
public List<String> closeSarStandIssueControlProductList(StandIssueControlProductListVO standIssueControlProductListVO) {
List<String> 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<SarStandIssueControlProduct>
*/
@Override
public List<SarStandIssueControlProduct> getStandIssueControlProductExcelData(StandIssueControlProductExcelVO standIssueControlProductExcelVO) {
QueryWrapper<SarStandIssueControlProduct> 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 standIssueControlCauseIdID
* @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;
}
}
@@ -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;
/**
* <p>
* 服务类
* </p>
*
* @author super_liu
* @since 2021-06-02
*/
public interface ISarStandProjectLibraryService extends IService<SarStandProjectLibrary> {
public interface ISarStandProjectLibraryService {
IPage<SarStandProjectLibrary> queryMaintenanceProject(int current, int pageSize);
}
@@ -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;
/**
* <p>
* 前端控制器
@@ -20,10 +47,81 @@ import com.adc.da.base.web.BaseController;
*/
@RestController
@Api(tags = "未符合项整改")
@RequestMapping("/sarStandUnqualified/sar-stand-unqualified")
@RequestMapping("/api/sarStandUnqualified/sar-stand-unqualified")
public class SarStandUnqualifiedController extends BaseController<SarStandUnqualified> {
private static final Logger logger = LoggerFactory.getLogger(SarStandardsInfoController.class);
@Autowired
private ISarStandUnqualifiedService sarStandUnqualifiedService;
/**
* 分页查询未符合项
* @param sarStandUnqualifiedPage:筛选、分页信息
* @return ResponseMessage<IPage<SarStandUnqualified>>
*/
@ApiOperation("分页查询未符合项")
@GetMapping
public ResponseMessage<IPage<SarStandUnqualified>> getSarStandUnqualifiedPage(SarStandUnqualifiedPage sarStandUnqualifiedPage){
IPage<SarStandUnqualified> sarStandUnqualifiedIPage=sarStandUnqualifiedService.getSarStandUnqualifiedPage(sarStandUnqualifiedPage);
return Result.success(sarStandUnqualifiedIPage);
}
/**
* 分页查询未符合项历史数据
* @param sarStandUnqualifiedPage:筛选、分页信息
* @return ResponseMessage<IPage<SarStandUnqualified>>
*/
@ApiOperation("分页查询未符合项历史数据")
@GetMapping("/history")
public ResponseMessage<IPage<SarStandUnqualified>> getSarStandUnqualifiedHistoryPage(SarStandUnqualifiedPage sarStandUnqualifiedPage){
IPage<SarStandUnqualified> sarStandUnqualifiedIPage=sarStandUnqualifiedService.getSarStandUnqualifiedHistoryPage(sarStandUnqualifiedPage);
return Result.success(sarStandUnqualifiedIPage);
}
/**
* 批量关闭未符合项
* @param standUnqualifiedListVO:未符合项ID列表
* @return ResponseMessage<List<String>>:关闭失败的未符合项ID
*/
@ApiOperation("批量关闭未符合项")
@PostMapping("/close")
public ResponseMessage<List<String>> closeSarStandUnqualified(StandUnqualifiedListVO standUnqualifiedListVO){
if(standUnqualifiedListVO==null||standUnqualifiedListVO.getIds().size()==0){
return Result.error(ResponseMessageCodeEnum.ERROR.getCode(),"未传入未符合项ID",null);
}
List<String> 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<SarStandUnqualified> 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()));
}
}
}
@@ -1,14 +1,22 @@
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 com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
/**
* <p>
@@ -26,74 +34,98 @@ 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 = "创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField("CREATE_TIME")
private LocalDateTime createTime;
private Timestamp createTime;
@ExcelIgnore
@ApiModelProperty(value = "关闭状态(1为开启,2为关闭)")
@TableField("CLOSE_STATE")
private Integer closeState;
@ExcelIgnore
@ApiModelProperty(value = "实际关闭时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField("ACTUAL_CLOSE_TIME")
private LocalDateTime actualCloseTime;
private Timestamp actualCloseTime;
@ExcelProperty(value = "计划关闭时间",converter = TimestampConverter.class)
@ApiModelProperty(value = "计划关闭时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@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;
@@ -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;
/**
* <p>
*
* </p>
*
* @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;
}
@@ -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<String> ids;
}
@@ -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<String> Ids;
}
@@ -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;
/**
* <p>
* 服务类
@@ -13,4 +19,31 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface ISarStandUnqualifiedService extends IService<SarStandUnqualified> {
/**
* 分页查询未符合项
* @param sarStandUnqualifiedPage:筛选、分页信息
* @returnIPage<SarStandUnqualified>
*/
IPage<SarStandUnqualified> getSarStandUnqualifiedPage(SarStandUnqualifiedPage sarStandUnqualifiedPage);
/**
* 分页查询未符合项历史数据
* @param sarStandUnqualifiedPage:筛选、分页信息
* @returnIPage<SarStandUnqualified>
*/
IPage<SarStandUnqualified> getSarStandUnqualifiedHistoryPage(SarStandUnqualifiedPage sarStandUnqualifiedPage);
/**
* 批量关闭未符合项
* @param standUnqualifiedListVO :要关闭的未符合项目列表
* @return
*/
List<String> closeSarStandUnqualifiedList(StandUnqualifiedListVO standUnqualifiedListVO);
/**
* 获取导出excel的数据
* @param standUnqualifiedExcelVOids
* @return List<SarStandUnqualified>
*/
List<SarStandUnqualified> getStandUnqualifiedExcelData(StandUnqualifiedExcelVO standUnqualifiedExcelVO);
}
@@ -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;
/**
* <p>
@@ -17,4 +31,109 @@ import org.springframework.stereotype.Service;
@Service
public class SarStandUnqualifiedServiceImpl extends ServiceImpl<SarStandUnqualifiedDao, SarStandUnqualified> implements ISarStandUnqualifiedService {
@Autowired
private SarStandUnqualifiedDao sarStandUnqualifiedDao;
/**
* 分页查询未符合项
* @param sarStandUnqualifiedPage:筛选、分页信息
* @returnIPage<SarStandUnqualified>
*/
@Override
public IPage<SarStandUnqualified> getSarStandUnqualifiedPage(SarStandUnqualifiedPage sarStandUnqualifiedPage) {
QueryWrapper<SarStandUnqualified> sarStandUnqualifiedQueryWrapper=new QueryWrapper<>();
//仅查询未关闭的
sarStandUnqualifiedQueryWrapper.eq("close_state",1);
if(sarStandUnqualifiedPage.getStandId()!=null){
sarStandUnqualifiedQueryWrapper.eq("stand_id",sarStandUnqualifiedPage.getStandId()).or().like("stand_name","%"+sarStandUnqualifiedPage.getStandId()+"%");
}
if(sarStandUnqualifiedPage.getProductName()!=null){
sarStandUnqualifiedQueryWrapper.like("product_name","%"+sarStandUnqualifiedPage.getProductName()+"%");
}
if(sarStandUnqualifiedPage.getResponsibleUnit()!=null){
sarStandUnqualifiedQueryWrapper.eq("responsible_unit",sarStandUnqualifiedPage.getResponsibleUnit());
}
Page<SarStandUnqualified> standUnqualifiedPage=new Page<>();
//判断前端是否提供页码和每页条数
if(sarStandUnqualifiedPage.getCurrent()!=null&&sarStandUnqualifiedPage.getSize()!=null){
standUnqualifiedPage=new Page<>(sarStandUnqualifiedPage.getCurrent(),sarStandUnqualifiedPage.getSize());
}
return sarStandUnqualifiedDao.selectPage(standUnqualifiedPage,sarStandUnqualifiedQueryWrapper);
}
/**
* 分页查询未符合项历史数据
* @param sarStandUnqualifiedPage:筛选、分页信息
* @returnIPage<SarStandUnqualified>
*/
@Override
public IPage<SarStandUnqualified> getSarStandUnqualifiedHistoryPage(SarStandUnqualifiedPage sarStandUnqualifiedPage) {
QueryWrapper<SarStandUnqualified> sarStandUnqualifiedQueryWrapper=new QueryWrapper<>();
//仅查询关闭的
sarStandUnqualifiedQueryWrapper.eq("close_state",2);
if(sarStandUnqualifiedPage.getStandId()!=null){
sarStandUnqualifiedQueryWrapper.eq("stand_id",sarStandUnqualifiedPage.getStandId()).or().like("stand_name","%"+sarStandUnqualifiedPage.getStandId()+"%");
}
if(sarStandUnqualifiedPage.getProductName()!=null){
sarStandUnqualifiedQueryWrapper.like("product_name","%"+sarStandUnqualifiedPage.getProductName()+"%");
}
if(sarStandUnqualifiedPage.getResponsibleUnit()!=null){
sarStandUnqualifiedQueryWrapper.eq("responsible_unit",sarStandUnqualifiedPage.getResponsibleUnit());
}
Page<SarStandUnqualified> 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<String>:失败的ID列表
*/
@Transactional
@Override
public List<String> closeSarStandUnqualifiedList(StandUnqualifiedListVO standUnqualifiedListVO) {
List<String> failIds=new ArrayList<>();
for(String id:standUnqualifiedListVO.getIds()){
boolean success=closeSarStandUnqualified(id);
if(!success){
failIds.add(id);
}
}
return failIds;
}
/**
* 获取导出excel的数据
* @param standUnqualifiedExcelVOids
* @return List<SarStandUnqualified>
*/
@Override
public List<SarStandUnqualified> getStandUnqualifiedExcelData(StandUnqualifiedExcelVO standUnqualifiedExcelVO) {
QueryWrapper<SarStandUnqualified> 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;
}
}
@@ -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<String> {
//在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<String> 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;
}
}
@@ -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<Timestamp> {
@Override
public Class<Timestamp> 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<String> convertToExcelData(Timestamp value, ExcelContentProperty contentProperty,
GlobalConfiguration globalConfiguration) {
return new CellData<>(DateUtil.dateToString(new Date(value.getTime()),"yyyy-MM-dd HH:mm:ss"));
}
}
@@ -1,8 +1,8 @@
package com.adc.da.slrs.sarInterpretationStandard.controller;
package com.adc.da.slrs.sarStandardComplianceAssessResult.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.adc.da.slrs.sarInterpretationStandard.entity.SarInterpretationForeignStandard;
import com.adc.da.slrs.sarStandardComplianceAssessResult.entity.SarInterpretationForeignStandard;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController;
import com.adc.da.base.web.BaseController;
@@ -13,11 +13,11 @@ import com.adc.da.base.web.BaseController;
* </p>
*
* @author zyl
* @since 2021-06-16
* @since 2021-06-18
*/
@RestController
@Api(description = "|SarInterpretationForeignStandard|")
@RequestMapping("/sarInterpretationStandard/sar-interpretation-foreign-standard")
@RequestMapping("/sarStandardComplianceAssessResult/sar-interpretation-foreign-standard")
public class SarInterpretationForeignStandardController extends BaseController<SarInterpretationForeignStandard> {
}
@@ -1,8 +1,8 @@
package com.adc.da.slrs.sarInterpretationStandard.controller;
package com.adc.da.slrs.sarStandardComplianceAssessResult.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.adc.da.slrs.sarInterpretationStandard.entity.SarInterpretationNationalStandard;
import com.adc.da.slrs.sarStandardComplianceAssessResult.entity.SarInterpretationNationalStandard;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController;
import com.adc.da.base.web.BaseController;
@@ -13,11 +13,11 @@ import com.adc.da.base.web.BaseController;
* </p>
*
* @author zyl
* @since 2021-06-16
* @since 2021-06-18
*/
@RestController
@Api(description = "|SarInterpretationNationalStandard|")
@RequestMapping("/sarInterpretationStandard/sar-interpretation-national-standard")
@RequestMapping("/sarStandardComplianceAssessResult/sar-interpretation-national-standard")
public class SarInterpretationNationalStandardController extends BaseController<SarInterpretationNationalStandard> {
}
@@ -4,22 +4,12 @@ package com.adc.da.slrs.sarStandardComplianceAssessResult.controller;
import com.adc.da.base.web.BaseController;
import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result;
import com.adc.da.slrs.sarInterpretationStandard.entity.SarInterpretationForeignStandard;
import com.adc.da.slrs.sarInterpretationStandard.entity.SarInterpretationNationalStandard;
import com.adc.da.slrs.sarInterpretationStandard.service.ISarInterpretationForeignStandardService;
import com.adc.da.slrs.sarInterpretationStandard.service.ISarInterpretationNationalStandardService;
import com.adc.da.slrs.sarProductStand.entity.SarProductStand;
import com.adc.da.slrs.sarProductStand.service.ISarProductStandService;
import com.adc.da.slrs.sarSarAccessInfo.entity.SarSarAccessInfo;
import com.adc.da.slrs.sarSarAccessInfo.service.ISarSarAccessInfoService;
import com.adc.da.slrs.sarStandardComplianceAssessResult.entity.SarInterpretationForeignStandardEO;
import com.adc.da.slrs.sarStandardComplianceAssessResult.entity.SarInterpretationNationalStandardEO;
import com.adc.da.slrs.sarStandardComplianceAssessResult.entity.SarStandardComplianceProductAssessEO;
import com.adc.da.slrs.sarStandardComplianceAssessResult.entity.SarStandardsInfoEO;
import com.adc.da.slrs.sarStandardComplianceProductAssess.entity.SarStandardComplianceProductAssess;
import com.adc.da.slrs.sarStandardComplianceProductAssess.service.ISarStandardComplianceProductAssessService;
import com.adc.da.slrs.sarStandardComplianceAssessResult.entity.*;
import com.adc.da.slrs.sarStandardComplianceAssessResult.service.ISarInterpretationForeignStandardService;
import com.adc.da.slrs.sarStandardComplianceAssessResult.service.ISarInterpretationNationalStandardService;
import com.adc.da.slrs.sarStandardComplianceAssessResult.service.ISarStandardComplianceProductAssessService;
import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo;
import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfoEOPage;
import com.adc.da.slrs.sarStandardsInfo.service.ISarStandardsInfoService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -33,27 +23,21 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* <p>
* 标准法规准入清单详情表 前端控制器
* </p>
*
* @author super_liu
* @since 2021-06-02
*/
* <p>
* 标准法规准入清单详情表 前端控制器
* </p>
*
* @author super_liu
* @since 2021-06-02
*/
@RestController
@Api(tags = "福田标准法规--标准法规库--标准合规评估结果")
@RequestMapping("/${restPath}/sarStandardComplianceAssessResult")
public class SarStandardComplianceAssessResultController extends BaseController<SarSarAccessInfo> {
public class SarStandardComplianceAssessResultController {
private static final Logger logger = LoggerFactory.getLogger(SarStandardComplianceAssessResultController.class);
@Autowired
private ISarStandardsInfoService iSarStandardsInfoService;
@Autowired
private ISarStandardComplianceProductAssessService iSarStandardComplianceProductAssessService;
@@ -65,48 +49,71 @@ public class SarStandardComplianceAssessResultController extends BaseController<
@ApiOperation(value = "条件查询标准清单")
@GetMapping("/standard")
public ResponseMessage<IPage<SarStandardsInfo>> selectStandard(SarStandardsInfoEO eo) throws Exception {
QueryWrapper<SarStandardsInfo> sarStandardsInfoQueryWrapper=new QueryWrapper<>();
public ResponseMessage<Object> selectStandard(SarStandardsInfoEO eo) throws Exception {
if (eo.getStandName() != null) {
sarStandardsInfoQueryWrapper.like("STAND_NAME",eo.getStandName());
if (eo.getStandApplicationType() == 1) {
QueryWrapper<SarStandardComplianceProductAssess> queryWrapper = new QueryWrapper<>();
IPage<SarStandardComplianceProductAssess> iPage = new Page<>(eo.getCurrent(), eo.getSize());
queryWrapper.select("distinct STAND_ID, STAND_NUMBER, STAND_NAME, STAND_TYPE, INTERPRETATION_TIME");
if (eo.getStandName() != null && !eo.getStandName().trim().equals("")) {
queryWrapper.like("STAND_NAME",eo.getStandName().trim());
}
if (eo.getStandNumber() != null && !eo.getStandNumber().trim().equals("")) {
queryWrapper.like("STAND_NUMBER",eo.getStandNumber().trim());
}
return Result.success(iSarStandardComplianceProductAssessService.page(iPage,queryWrapper));
}else {
if(eo.getPosition()==1){
QueryWrapper<SarInterpretationNationalStandard> queryWrapper = new QueryWrapper<>();
IPage<SarInterpretationNationalStandard> iPage = new Page<>(eo.getCurrent(), eo.getSize());
queryWrapper.select("distinct STAND_ID, STAND_NUMBER, STAND_NAME, STAND_TYPE, INTERPRETATION_TIME");
if (eo.getStandName() != null && !eo.getStandName().trim().equals("")) {
queryWrapper.like("STAND_NAME",eo.getStandName().trim());
}
if (eo.getStandNumber() != null && !eo.getStandNumber().trim().equals("")) {
queryWrapper.like("STAND_NUMBER",eo.getStandNumber().trim());
}
return Result.success(iSarInterpretationNationalStandardService.page(iPage,queryWrapper));
}else{
QueryWrapper<SarInterpretationForeignStandard> queryWrapper = new QueryWrapper<>();
IPage<SarInterpretationForeignStandard> iPage = new Page<>(eo.getCurrent(), eo.getSize());
queryWrapper.select("distinct STAND_ID, STAND_NUMBER, STAND_NAME, STAND_TYPE, INTERPRETATION_TIME");
if (eo.getStandName() != null && !eo.getStandName().trim().equals("")) {
queryWrapper.like("STAND_NAME",eo.getStandName().trim());
}
if (eo.getStandNumber() != null && !eo.getStandNumber().trim().equals("")) {
queryWrapper.like("STAND_NUMBER",eo.getStandNumber().trim());
}
return Result.success(iSarInterpretationForeignStandardService.page(iPage,queryWrapper));
}
}
if (eo.getStandNumber() != null) {
sarStandardsInfoQueryWrapper.like("STAND_NUMBER",eo.getStandNumber());
}
IPage<SarStandardsInfo> iPage=new Page<>(eo.getCurrent(), eo.getSize());
return Result.success(iSarStandardsInfoService.page(iPage,sarStandardsInfoQueryWrapper));
}
@ApiOperation(value = "条件查询标准涉及项目符合性清单")
@GetMapping("/product")
public ResponseMessage<IPage<SarStandardComplianceProductAssess>> selectProduct(SarStandardComplianceProductAssessEO eo) throws Exception {
IPage<SarStandardComplianceProductAssess> iPage=new Page<>(eo.getCurrent(), eo.getSize());
QueryWrapper<SarStandardComplianceProductAssess> queryWrapper=new QueryWrapper<>();
if(eo.getProductName()!=null)queryWrapper.like("product_name",eo.getProductName());
if(eo.getStandardId()!=null)queryWrapper.like("standard_id",eo.getStandardId());
return Result.success(iSarStandardComplianceProductAssessService.page(iPage,queryWrapper));
IPage<SarStandardComplianceProductAssess> iPage = new Page<>(eo.getCurrent(), eo.getSize());
QueryWrapper<SarStandardComplianceProductAssess> queryWrapper = new QueryWrapper<>();
if (eo.getProductName() != null) queryWrapper.like("product_name", eo.getProductName());
if (eo.getStandId() != null) queryWrapper.like("STAND_ID", eo.getStandId());
if (eo.getInterpretationTime() != null) queryWrapper.eq("INTERPRETATION_TIME", eo.getInterpretationTime());
return Result.success(iSarStandardComplianceProductAssessService.page(iPage, queryWrapper));
}
@ApiOperation(value = "条件查询标准涉及国内标准符合性清单")
@GetMapping("/nationalStandard")
public ResponseMessage<IPage<SarInterpretationNationalStandard>> selectNationalStandard(SarInterpretationNationalStandardEO eo) throws Exception {
IPage<SarInterpretationNationalStandard> iPage=new Page<>(eo.getCurrent(), eo.getSize());
QueryWrapper<SarInterpretationNationalStandard> queryWrapper=new QueryWrapper<>();
if(eo.getStandardId()!=null)queryWrapper.like("standard_num",eo.getStandardId());
return Result.success(iSarInterpretationNationalStandardService.page(iPage,queryWrapper));
@ApiOperation(value = "条件查询技术审核符合性清单")
@GetMapping("/interpretation")
public ResponseMessage<Object> selectNationalStandard(InterpretationEO eo) throws Exception {
if (eo.getPosition()==1) {
IPage<SarInterpretationNationalStandard> iPage = new Page<>(eo.getCurrent(), eo.getSize());
QueryWrapper<SarInterpretationNationalStandard> queryWrapper = new QueryWrapper<>();
if (eo.getInterpretationTime() != null) queryWrapper.eq("INTERPRETATION_TIME", eo.getInterpretationTime());
if(eo.getStandId()!=null)queryWrapper.eq("STAND_ID",eo.getStandId());
return Result.success(iSarInterpretationNationalStandardService.page(iPage, queryWrapper));
} else {
IPage<SarInterpretationForeignStandard> iPage = new Page<>(eo.getCurrent(), eo.getSize());
QueryWrapper<SarInterpretationForeignStandard> queryWrapper = new QueryWrapper<>();
if (eo.getInterpretationTime() != null) queryWrapper.eq("INTERPRETATION_TIME", eo.getInterpretationTime());
if(eo.getStandId()!=null)queryWrapper.eq("STAND_ID",eo.getStandId());
return Result.success(iSarInterpretationForeignStandardService.page(iPage, queryWrapper));
}
}
@ApiOperation(value = "条件查询标准涉及国内标准符合性清单")
@GetMapping("/foreignStandard")
public ResponseMessage<IPage<SarInterpretationForeignStandard>> selectForeignStandard(SarInterpretationForeignStandardEO eo) throws Exception {
IPage<SarInterpretationForeignStandard> iPage=new Page<>(eo.getCurrent(), eo.getSize());
QueryWrapper<SarInterpretationForeignStandard> queryWrapper=new QueryWrapper<>();
if(eo.getStandardId()!=null)queryWrapper.like("standard_num",eo.getStandardId());
return Result.success(iSarInterpretationForeignStandardService.page(iPage,queryWrapper));
}
}
@@ -1,8 +1,8 @@
package com.adc.da.slrs.sarStandardComplianceProductAssess.controller;
package com.adc.da.slrs.sarStandardComplianceAssessResult.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.adc.da.slrs.sarStandardComplianceProductAssess.entity.SarStandardComplianceProductAssess;
import com.adc.da.slrs.sarStandardComplianceAssessResult.entity.SarStandardComplianceProductAssess;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController;
import com.adc.da.base.web.BaseController;
@@ -13,11 +13,11 @@ import com.adc.da.base.web.BaseController;
* </p>
*
* @author zyl
* @since 2021-06-16
* @since 2021-06-18
*/
@RestController
@Api(description = "|SarStandardComplianceProductAssess|")
@RequestMapping("/sarStandardComplianceProductAssess/sar-standard-compliance-product-assess")
@RequestMapping("/sarStandardComplianceAssessResult/sar-standard-compliance-product-assess")
public class SarStandardComplianceProductAssessController extends BaseController<SarStandardComplianceProductAssess> {
}
@@ -1,6 +1,6 @@
package com.adc.da.slrs.sarInterpretationStandard.dao;
package com.adc.da.slrs.sarStandardComplianceAssessResult.dao;
import com.adc.da.slrs.sarInterpretationStandard.entity.SarInterpretationForeignStandard;
import com.adc.da.slrs.sarStandardComplianceAssessResult.entity.SarInterpretationForeignStandard;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* </p>
*
* @author zyl
* @since 2021-06-16
* @since 2021-06-18
*/
public interface SarInterpretationForeignStandardDao extends BaseMapper<SarInterpretationForeignStandard> {
@@ -1,6 +1,6 @@
package com.adc.da.slrs.sarInterpretationStandard.dao;
package com.adc.da.slrs.sarStandardComplianceAssessResult.dao;
import com.adc.da.slrs.sarInterpretationStandard.entity.SarInterpretationNationalStandard;
import com.adc.da.slrs.sarStandardComplianceAssessResult.entity.SarInterpretationNationalStandard;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* </p>
*
* @author zyl
* @since 2021-06-16
* @since 2021-06-18
*/
public interface SarInterpretationNationalStandardDao extends BaseMapper<SarInterpretationNationalStandard> {
@@ -1,12 +0,0 @@
package com.adc.da.slrs.sarStandardComplianceAssessResult.dao;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Repository
@Mapper
public interface SarStandardComplianceAssessResultDao {
}
@@ -1,6 +1,6 @@
package com.adc.da.slrs.sarStandardComplianceProductAssess.dao;
package com.adc.da.slrs.sarStandardComplianceAssessResult.dao;
import com.adc.da.slrs.sarStandardComplianceProductAssess.entity.SarStandardComplianceProductAssess;
import com.adc.da.slrs.sarStandardComplianceAssessResult.entity.SarStandardComplianceProductAssess;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* </p>
*
* @author zyl
* @since 2021-06-16
* @since 2021-06-18
*/
public interface SarStandardComplianceProductAssessDao extends BaseMapper<SarStandardComplianceProductAssess> {
@@ -0,0 +1,39 @@
package com.adc.da.slrs.sarStandardComplianceAssessResult.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@Data
@ApiModel("条件查询")
public class InterpretationEO {
// @ApiModelProperty(value = "'审核编号'")
// private String interpretation_id;
@ApiModelProperty(value = "标准ID")
@TableField("STAND_ID")
private String standId;
@ApiModelProperty(value = "评估时间")
@TableField("INTERPRETATION_TIME")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date interpretationTime;
@ApiModelProperty(value = "国内(1)/外(2)")
private Integer position=1;
@ApiModelProperty("页数")
private Integer current=1;
@ApiModelProperty("页内数量")
private Integer size=20;
}
@@ -0,0 +1,16 @@
package com.adc.da.slrs.sarStandardComplianceAssessResult.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class SarBaseStandardInfo {
private String standard_id;
private String standard_number;
private String standard_name;
private String standard_type;
private LocalDateTime INTERPRETATION_TIME;
}
@@ -0,0 +1,102 @@
package com.adc.da.slrs.sarStandardComplianceAssessResult.entity;
import com.adc.da.base.entity.BaseEntity;
import java.time.LocalDateTime;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
/**
* <p>
*
* </p>
*
* @author zyl
* @since 2021-06-18
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="SarInterpretationForeignStandard对象", description="")
public class SarInterpretationForeignStandard extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "具体章条")
private String specificItem;
@ApiModelProperty(value = "核心技术要求")
private String coreTechnicalRequirement;
@ApiModelProperty(value = "相对于国行标差异点")
private String comparedDomesticStandard;
@ApiModelProperty(value = "对应国行版(仅国外有)")
private String correspondDomesticStandard;
private String complianceState;
@ApiModelProperty(value = "上一版本号")
@TableField("LAST_VERSION_NUMBER")
private String lastVersionNumber;
@ApiModelProperty(value = "创建时间")
@TableField("CREATION_TIME")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date creationTime;
@ApiModelProperty(value = "修改时间")
@TableField("MODIFY_TIME")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date modifyTime;
@ApiModelProperty(value = "标准ID")
@TableField("STAND_ID")
private String standId;
@ApiModelProperty(value = "标准分类")
@TableField("STAND_TYPE")
private String standType;
@ApiModelProperty(value = "标准类别")
@TableField("STAND_SORT")
private String standSort;
@ApiModelProperty(value = "标准编号")
@TableField("STAND_NUMBER")
private String standNumber;
@ApiModelProperty(value = "标准名称")
@TableField("STAND_NAME")
private String standName;
@TableField("CREATION_USER")
private String creationUser;
@ApiModelProperty(value = "是否有效")
@TableField("VALID_FLAG")
private String validFlag;
@ApiModelProperty(value = "评估状态")
@TableField("INTERPRETATION_STATE")
private String interpretationState;
@ApiModelProperty(value = "评估时间")
@TableField("INTERPRETATION_TIME")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date interpretationTime;
}
@@ -1,20 +0,0 @@
package com.adc.da.slrs.sarStandardComplianceAssessResult.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("条件查询")
public class SarInterpretationForeignStandardEO {
@ApiModelProperty(value = "'标准编号'")
private String standardId;
@ApiModelProperty("页数")
private Integer current=1;
@ApiModelProperty("页内数量")
private Integer size=20;
}
@@ -0,0 +1,90 @@
package com.adc.da.slrs.sarStandardComplianceAssessResult.entity;
import com.adc.da.base.entity.BaseEntity;
import java.time.LocalDateTime;
import java.util.Date;
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;
/**
* <p>
*
* </p>
*
* @author zyl
* @since 2021-06-18
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="SarInterpretationNationalStandard对象", description="")
public class SarInterpretationNationalStandard extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "具体章条")
private String specificItem;
@ApiModelProperty(value = "核心技术要求")
private String coreTechnicalRequirement;
@ApiModelProperty(value = "相对于上一版本变化点")
private String comparedWithPrevious;
@ApiModelProperty(value = "合规性分析")
private String complianceState;
@ApiModelProperty(value = "上一版本号")
@TableField("LAST_VERSION_NUMBER")
private String lastVersionNumber;
@ApiModelProperty(value = "创建时间")
@TableField("CREATION_TIME")
private Date creationTime;
@ApiModelProperty(value = "修改时间")
@TableField("MODIFY_TIME")
private Date modifyTime;
@ApiModelProperty(value = "标准ID")
@TableField("STAND_ID")
private String standId;
@ApiModelProperty(value = "标准分类")
@TableField("STAND_TYPE")
private String standType;
@ApiModelProperty(value = "标准类别")
@TableField("STAND_SORT")
private String standSort;
@ApiModelProperty(value = "标准编号")
@TableField("STAND_NUMBER")
private String standNumber;
@ApiModelProperty(value = "标准名称")
@TableField("STAND_NAME")
private String standName;
@TableField("CREATION_USER")
private String creationUser;
@ApiModelProperty(value = "是否有效")
@TableField("VALID_FLAG")
private String validFlag;
@ApiModelProperty(value = "评估状态")
@TableField("INTERPRETATION_STATE")
private String interpretationState;
@ApiModelProperty(value = "评估时间")
@TableField("INTERPRETATION_TIME")
private Date interpretationTime;
}
@@ -1,20 +0,0 @@
package com.adc.da.slrs.sarStandardComplianceAssessResult.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("条件查询")
public class SarInterpretationNationalStandardEO {
@ApiModelProperty(value = "'标准编号'")
private String standardId;
@ApiModelProperty("页数")
private Integer current=1;
@ApiModelProperty("页内数量")
private Integer size=20;
}
@@ -0,0 +1,112 @@
package com.adc.da.slrs.sarStandardComplianceAssessResult.entity;
import com.adc.da.base.entity.BaseEntity;
import java.time.LocalDateTime;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
/**
* <p>
*
* </p>
*
* @author zyl
* @since 2021-06-18
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="SarStandardComplianceProductAssess对象", description="")
public class SarStandardComplianceProductAssess extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "'产品线'")
private String productLineId;
@ApiModelProperty(value = "'项目id'")
private String productId;
@ApiModelProperty(value = "'项目名称'")
private String productName;
@ApiModelProperty(value = "标准ID")
@TableField("STAND_ID")
private String standId;
@ApiModelProperty(value = "标准编号")
@TableField("STAND_NUMBER")
private String standNumber;
@ApiModelProperty(value = "'标准名称'")
@TableField("STAND_NAME")
private String standName;
@ApiModelProperty(value = "'标准章条'")
private String standardItem;
@ApiModelProperty(value = "标准类型")
@TableField("STAND_TYPE")
private String standType;
@ApiModelProperty(value = "标准主要内容")
private String standardInfo;
@ApiModelProperty(value = "1是在产,0是在研")
private Integer productType;
@ApiModelProperty(value = "在研产品实施时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date researchImplementationTime;
@ApiModelProperty(value = "在研产品合规信息")
private String researchCompliance;
@ApiModelProperty(value = "在研产品不合规项目")
private String researchNonCompliance;
@ApiModelProperty(value = "在研产品不合规应对措施")
private String researchCountermeasures;
@ApiModelProperty(value = "在研产品不合规完成时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date researchCompletionTime;
@ApiModelProperty(value = "在产产品实施时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date productionImplementationTime;
@ApiModelProperty(value = "在产产品合规信息")
private String productionCompliance;
@ApiModelProperty(value = "在产产品不合规应对措施")
private String productionCountermeasures;
@ApiModelProperty(value = "在产产品不合规完成时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date productionCompletionTime;
@ApiModelProperty(value = "审查状态")
@TableField("INTERPRETATION_STATE")
private String interpretationState;
@ApiModelProperty(value = "审查时间")
@TableField("INTERPRETATION_TIME")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date interpretationTime;
}
@@ -1,19 +1,31 @@
package com.adc.da.slrs.sarStandardComplianceAssessResult.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@Data
@ApiModel("条件查询")
public class SarStandardComplianceProductAssessEO {
public class SarStandardComplianceProductAssessEO{
@ApiModelProperty(value = "标准ID")
@TableField("STAND_ID")
private String standId;
@ApiModelProperty(value = "'项目名称'")
private String productName;
@ApiModelProperty(value = "'标准编号'")
private String standardId;
@ApiModelProperty(value = "评估时间")
@TableField("INTERPRETATION_TIME")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date interpretationTime;
@ApiModelProperty("页数")
private Integer current=1;
@@ -17,6 +17,12 @@ public class SarStandardsInfoEO {
@ApiModelProperty(value = "标准名称")
private String standName;
@ApiModelProperty(value = "应用类型")
private Integer standApplicationType=1;
@ApiModelProperty(value = "国内1,国外2")
private Integer position=1;
@ApiModelProperty("页数")
private Integer current=1;
@@ -1,6 +1,6 @@
package com.adc.da.slrs.sarInterpretationStandard.service;
package com.adc.da.slrs.sarStandardComplianceAssessResult.service;
import com.adc.da.slrs.sarInterpretationStandard.entity.SarInterpretationForeignStandard;
import com.adc.da.slrs.sarStandardComplianceAssessResult.entity.SarInterpretationForeignStandard;
import com.baomidou.mybatisplus.extension.service.IService;
/**
@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
* </p>
*
* @author zyl
* @since 2021-06-16
* @since 2021-06-18
*/
public interface ISarInterpretationForeignStandardService extends IService<SarInterpretationForeignStandard> {
@@ -1,6 +1,6 @@
package com.adc.da.slrs.sarInterpretationStandard.service;
package com.adc.da.slrs.sarStandardComplianceAssessResult.service;
import com.adc.da.slrs.sarInterpretationStandard.entity.SarInterpretationNationalStandard;
import com.adc.da.slrs.sarStandardComplianceAssessResult.entity.SarInterpretationNationalStandard;
import com.baomidou.mybatisplus.extension.service.IService;
/**
@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
* </p>
*
* @author zyl
* @since 2021-06-16
* @since 2021-06-18
*/
public interface ISarInterpretationNationalStandardService extends IService<SarInterpretationNationalStandard> {
@@ -1,11 +0,0 @@
package com.adc.da.slrs.sarStandardComplianceAssessResult.service;
import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo;
import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfoEOPage;
import com.baomidou.mybatisplus.core.metadata.IPage;
public interface ISarStandardComplianceAssessResult {
IPage<SarStandardsInfo> getSarStandardsInfo();
}
@@ -1,6 +1,6 @@
package com.adc.da.slrs.sarStandardComplianceProductAssess.service;
package com.adc.da.slrs.sarStandardComplianceAssessResult.service;
import com.adc.da.slrs.sarStandardComplianceProductAssess.entity.SarStandardComplianceProductAssess;
import com.adc.da.slrs.sarStandardComplianceAssessResult.entity.SarStandardComplianceProductAssess;
import com.baomidou.mybatisplus.extension.service.IService;
/**
@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
* </p>
*
* @author zyl
* @since 2021-06-16
* @since 2021-06-18
*/
public interface ISarStandardComplianceProductAssessService extends IService<SarStandardComplianceProductAssess> {
@@ -0,0 +1,20 @@
package com.adc.da.slrs.sarStandardComplianceAssessResult.service.impl;
import com.adc.da.slrs.sarStandardComplianceAssessResult.entity.SarInterpretationForeignStandard;
import com.adc.da.slrs.sarStandardComplianceAssessResult.dao.SarInterpretationForeignStandardDao;
import com.adc.da.slrs.sarStandardComplianceAssessResult.service.ISarInterpretationForeignStandardService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author zyl
* @since 2021-06-18
*/
@Service
public class SarInterpretationForeignStandardServiceImpl extends ServiceImpl<SarInterpretationForeignStandardDao, SarInterpretationForeignStandard> implements ISarInterpretationForeignStandardService {
}
@@ -0,0 +1,20 @@
package com.adc.da.slrs.sarStandardComplianceAssessResult.service.impl;
import com.adc.da.slrs.sarStandardComplianceAssessResult.entity.SarInterpretationNationalStandard;
import com.adc.da.slrs.sarStandardComplianceAssessResult.dao.SarInterpretationNationalStandardDao;
import com.adc.da.slrs.sarStandardComplianceAssessResult.service.ISarInterpretationNationalStandardService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author zyl
* @since 2021-06-18
*/
@Service
public class SarInterpretationNationalStandardServiceImpl extends ServiceImpl<SarInterpretationNationalStandardDao, SarInterpretationNationalStandard> implements ISarInterpretationNationalStandardService {
}
@@ -0,0 +1,20 @@
package com.adc.da.slrs.sarStandardComplianceAssessResult.service.impl;
import com.adc.da.slrs.sarStandardComplianceAssessResult.entity.SarStandardComplianceProductAssess;
import com.adc.da.slrs.sarStandardComplianceAssessResult.dao.SarStandardComplianceProductAssessDao;
import com.adc.da.slrs.sarStandardComplianceAssessResult.service.ISarStandardComplianceProductAssessService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author zyl
* @since 2021-06-18
*/
@Service
public class SarStandardComplianceProductAssessServiceImpl extends ServiceImpl<SarStandardComplianceProductAssessDao, SarStandardComplianceProductAssess> implements ISarStandardComplianceProductAssessService {
}
@@ -1,63 +0,0 @@
package com.adc.da.slrs.sarStandardComplianceProductAssess.entity;
import com.adc.da.base.entity.BaseEntity;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
*
* </p>
*
* @author zyl
* @since 2021-06-16
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="SarStandardComplianceProductAssess对象", description="")
public class SarStandardComplianceProductAssess extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "'产品线'")
private String productLineId;
@ApiModelProperty(value = "'项目id'")
private String productId;
@ApiModelProperty(value = "'项目名称'")
private String productName;
@ApiModelProperty(value = "'标准编号'")
private String standardId;
@ApiModelProperty(value = "'标准章条'")
private String itemsId;
@ApiModelProperty(value = "'标准名称'")
private String standardName;
@ApiModelProperty(value = "1是在产,0是在研")
private Integer state;
@ApiModelProperty(value = "实施时间")
private LocalDateTime implementation_time;
@ApiModelProperty(value = "0是合规,1是不合规")
private Integer complianceState;
private String compliance;
private String nonCompliance;
private String countermeasures;
private LocalDateTime completionTime;
}
@@ -1,20 +0,0 @@
package com.adc.da.slrs.sarStandardComplianceProductAssess.service.impl;
import com.adc.da.slrs.sarStandardComplianceProductAssess.entity.SarStandardComplianceProductAssess;
import com.adc.da.slrs.sarStandardComplianceProductAssess.dao.SarStandardComplianceProductAssessDao;
import com.adc.da.slrs.sarStandardComplianceProductAssess.service.ISarStandardComplianceProductAssessService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author zyl
* @since 2021-06-16
*/
@Service
public class SarStandardComplianceProductAssessServiceImpl extends ServiceImpl<SarStandardComplianceProductAssessDao, SarStandardComplianceProductAssess> implements ISarStandardComplianceProductAssessService {
}
@@ -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";
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.adc.da.slrs.sarInterpretationStandard.dao.SarInterpretationStandardDao">
</mapper>
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.adc.da.slrs.sarStandIssueControlCause.dao.SarStandIssueControlCauseDao">
</mapper>
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.adc.da.slrs.sarStandIssueControlProduct.dao.SarStandIssueControlProductDao">
</mapper>
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.adc.da.slrs.sarStandardComplianceAssessResult.dao.SarInterpretationForeignStandardDao">
</mapper>
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.adc.da.slrs.sarStandardComplianceAssessResult.dao.SarInterpretationNationalStandardDao">
<select id="getStandardItem"
resultType="com.adc.da.slrs.sarStandardComplianceAssessResult.entity.SarBaseStandardInfo">
select distinct STAND_ID as standard_id, STAND_NUMBER as standard_number, STAND_NAME as standard_name, STAND_TYPE as standard_type, INTERPRETATION_TIME from sar_interpretation_national_standard
</select>
</mapper>
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.adc.da.slrs.sarStandardComplianceAssessResult.dao.SarStandardComplianceProductAssessDao">
</mapper>
+6
View File
@@ -279,6 +279,12 @@
<artifactId>spring-rabbit-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.2.6</version>
</dependency>
</dependencies>
<!-- Profiles for different environment -->