未符合项/重点问题管理
This commit is contained in:
+100
-2
@@ -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>
|
||||
* 前端控制器
|
||||
@@ -22,8 +49,79 @@ import com.adc.da.base.web.BaseController;
|
||||
@Api(tags = "未符合项整改")
|
||||
@RequestMapping("/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(@RequestBody 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()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+28
-4
@@ -1,7 +1,13 @@
|
||||
package com.adc.da.slrs.sarStandUnqualified.entity;
|
||||
|
||||
import com.adc.da.base.entity.BaseEntity;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
|
||||
import com.adc.da.slrs.sarStandUnqualified.utils.ProductTypeConverter;
|
||||
import com.adc.da.slrs.sarStandUnqualified.utils.TimestampConverter;
|
||||
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
@@ -26,74 +32,92 @@ public class SarStandUnqualified extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ExcelProperty("创建部门")
|
||||
@ApiModelProperty(value = "创建部门")
|
||||
@TableField("CREATE_DEPT_ID")
|
||||
private String createDeptId;
|
||||
|
||||
@ExcelProperty("创建人")
|
||||
@ApiModelProperty(value = "创建人")
|
||||
@TableField("CREATE_BY_ID")
|
||||
private String createById;
|
||||
|
||||
@ExcelProperty(value = "创建时间",converter = TimestampConverter.class)
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
@TableField("CREATE_TIME")
|
||||
private LocalDateTime createTime;
|
||||
private Timestamp createTime;
|
||||
|
||||
@ExcelIgnore
|
||||
@ApiModelProperty(value = "关闭状态(1为开启,2为关闭)")
|
||||
@TableField("CLOSE_STATE")
|
||||
private Integer closeState;
|
||||
|
||||
@ExcelIgnore
|
||||
@ApiModelProperty(value = "实际关闭时间")
|
||||
@TableField("ACTUAL_CLOSE_TIME")
|
||||
private LocalDateTime actualCloseTime;
|
||||
private Timestamp actualCloseTime;
|
||||
|
||||
@ExcelProperty(value = "计划关闭时间",converter = TimestampConverter.class)
|
||||
@ApiModelProperty(value = "计划关闭时间")
|
||||
@TableField("PLAN_CLOSE_TIME")
|
||||
private LocalDateTime planCloseTime;
|
||||
private Timestamp planCloseTime;
|
||||
|
||||
@ExcelProperty("质量工程师")
|
||||
@ApiModelProperty(value = "质量工程师")
|
||||
@TableField("QA_ENGINEER")
|
||||
private String qaEngineer;
|
||||
|
||||
@ExcelProperty("认证工程师")
|
||||
@ApiModelProperty(value = "认证工程师")
|
||||
@TableField("AUTH_ENGINEER")
|
||||
private String authEngineer;
|
||||
|
||||
@ExcelProperty("责任工程师")
|
||||
@ApiModelProperty(value = "责任工程师")
|
||||
@TableField("DUTY_ENGINEER")
|
||||
private String dutyEngineer;
|
||||
|
||||
@ExcelProperty("责任部门")
|
||||
@ApiModelProperty(value = "责任部门")
|
||||
@TableField("RESPONSIBLE_UNIT")
|
||||
private String responsibleUnit;
|
||||
|
||||
@ExcelProperty("项目名称")
|
||||
@ApiModelProperty(value = "项目名称")
|
||||
@TableField("PRODUCT_NAME")
|
||||
private String productName;
|
||||
|
||||
@ExcelProperty("产品线")
|
||||
@ApiModelProperty(value = "产品线")
|
||||
@TableField("PRODUCT_LINE")
|
||||
private String productLine;
|
||||
|
||||
@ExcelProperty(value = "产品类型",converter = ProductTypeConverter.class)
|
||||
@ApiModelProperty(value = "产品类型(research为在研产品,product为在产产品)")
|
||||
@TableField("PRODUCT_TYPE")
|
||||
private String productType;
|
||||
|
||||
@ExcelProperty("条款名称")
|
||||
@ApiModelProperty(value = "条款名称")
|
||||
@TableField("ITEMS_NAME")
|
||||
private String itemsName;
|
||||
|
||||
@ExcelProperty("条款号")
|
||||
@ApiModelProperty(value = "条款号")
|
||||
@TableField("ITEMS_NUM")
|
||||
private String itemsNum;
|
||||
|
||||
@ExcelProperty("标准名称")
|
||||
@ApiModelProperty(value = "标准名称")
|
||||
@TableField("STAND_NAME")
|
||||
private String standName;
|
||||
|
||||
@ExcelProperty("标准编号")
|
||||
@ApiModelProperty(value = "标准ID")
|
||||
@TableField("STAND_ID")
|
||||
private String standId;
|
||||
|
||||
@ExcelIgnore
|
||||
@ApiModelProperty(value = "主键")
|
||||
@TableId("ID")
|
||||
private String id;
|
||||
|
||||
+88
@@ -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;
|
||||
|
||||
}
|
||||
+16
@@ -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;
|
||||
}
|
||||
+12
@@ -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;
|
||||
}
|
||||
+33
@@ -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:筛选、分页信息
|
||||
* @return:IPage<SarStandUnqualified>
|
||||
*/
|
||||
IPage<SarStandUnqualified> getSarStandUnqualifiedPage(SarStandUnqualifiedPage sarStandUnqualifiedPage);
|
||||
|
||||
/**
|
||||
* 分页查询未符合项历史数据
|
||||
* @param sarStandUnqualifiedPage:筛选、分页信息
|
||||
* @return:IPage<SarStandUnqualified>
|
||||
*/
|
||||
IPage<SarStandUnqualified> getSarStandUnqualifiedHistoryPage(SarStandUnqualifiedPage sarStandUnqualifiedPage);
|
||||
|
||||
/**
|
||||
* 批量关闭未符合项
|
||||
* @param standUnqualifiedListVO :要关闭的未符合项目列表
|
||||
* @return
|
||||
*/
|
||||
List<String> closeSarStandUnqualifiedList(StandUnqualifiedListVO standUnqualifiedListVO);
|
||||
|
||||
/**
|
||||
* 获取导出excel的数据
|
||||
* @param standUnqualifiedExcelVO:ids
|
||||
* @return List<SarStandUnqualified>
|
||||
*/
|
||||
List<SarStandUnqualified> getStandUnqualifiedExcelData(StandUnqualifiedExcelVO standUnqualifiedExcelVO);
|
||||
}
|
||||
|
||||
+119
@@ -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:筛选、分页信息
|
||||
* @return:IPage<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.getStandName()+"%");
|
||||
}
|
||||
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:筛选、分页信息
|
||||
* @return:IPage<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.getStandName()+"%");
|
||||
}
|
||||
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 standUnqualifiedExcelVO:ids
|
||||
* @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;
|
||||
}
|
||||
}
|
||||
|
||||
+47
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
+42
@@ -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"));
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user