Merge branch 'develop_3' into 'develop_master'
Develop 3 See merge request LiuChao/foton-slrs-system-rest!230
This commit is contained in:
@@ -0,0 +1,125 @@
|
|||||||
|
package com.adc.da.slrs.ImportExcelDatas.comment;
|
||||||
|
|
||||||
|
import org.apache.poi.ss.usermodel.Cell;
|
||||||
|
import org.apache.poi.ss.usermodel.CellType;
|
||||||
|
import org.apache.poi.ss.usermodel.Row;
|
||||||
|
import org.apache.poi.xssf.usermodel.XSSFSheet;
|
||||||
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.time.Year;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class Analysis {
|
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(Contrast.class);
|
||||||
|
|
||||||
|
public void run(MultipartFile file, MultipartFile sort) throws IOException {
|
||||||
|
|
||||||
|
InputStream inputStream = file.getInputStream();
|
||||||
|
XSSFWorkbook workbook = new XSSFWorkbook(inputStream);
|
||||||
|
|
||||||
|
XSSFSheet sheet = workbook.getSheetAt(0);
|
||||||
|
|
||||||
|
HashSet<String> sortSet = getSet(sort);
|
||||||
|
|
||||||
|
for (Row row : sheet) {
|
||||||
|
if (row.getCell(1)!=null){
|
||||||
|
//获取表1的标准号
|
||||||
|
String value = row.getCell(1).toString().trim();
|
||||||
|
Cell sortCell = row.createCell(11);
|
||||||
|
Cell sortNumber = row.createCell(12);
|
||||||
|
Cell sortYear = row.createCell(13);
|
||||||
|
|
||||||
|
sortCell.setCellType(CellType.STRING);
|
||||||
|
sortNumber.setCellType(CellType.STRING);
|
||||||
|
sortYear.setCellType(CellType.STRING);
|
||||||
|
|
||||||
|
List<String> collect = sortSet.stream()
|
||||||
|
.filter(item ->{
|
||||||
|
int length = item.length();
|
||||||
|
if (value.length()>length){
|
||||||
|
return value.substring(0, length).contains(item.trim());
|
||||||
|
}else return false;
|
||||||
|
})
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
//对比在表2中是否存在
|
||||||
|
if (collect.size()==1){
|
||||||
|
|
||||||
|
String sortStr = collect.get(0);
|
||||||
|
int length = sortStr.length();
|
||||||
|
logger.info("*");
|
||||||
|
// Pattern pattern = Pattern.compile("^\\S*\\s\\S*[\\u2014\\u002d\\s]\\d{4}$");
|
||||||
|
// pattern.matcher(standId).matches()
|
||||||
|
if (value.length()>=length+5){
|
||||||
|
sortCell.setCellValue(collect.get(0));
|
||||||
|
sortNumber.setCellValue(value.substring(length,value.length()-5));
|
||||||
|
sortYear.setCellValue(value.substring(value.length()-4));
|
||||||
|
}
|
||||||
|
}else if (collect.size()>1){
|
||||||
|
String maxLenSort="";
|
||||||
|
for (String s : collect) {
|
||||||
|
if (s.length()>maxLenSort.length()){
|
||||||
|
maxLenSort=s;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int length = maxLenSort.length();
|
||||||
|
|
||||||
|
if (value.length()>=length+5){
|
||||||
|
logger.info("+");
|
||||||
|
|
||||||
|
|
||||||
|
sortCell.setCellValue(maxLenSort);
|
||||||
|
sortNumber.setCellValue(value.substring(length,value.length()-5));
|
||||||
|
sortYear.setCellValue(value.substring(value.length()-4));
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
logger.info("-");
|
||||||
|
|
||||||
|
sortCell.setCellValue("-");
|
||||||
|
sortNumber.setCellValue("-");
|
||||||
|
sortYear.setCellValue("-");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
File result = new File("C:\\Users\\22501\\Desktop\\foton标准数据\\拆分标准号-海外.xlsx");
|
||||||
|
FileOutputStream os = new FileOutputStream(result);
|
||||||
|
workbook.write(os);
|
||||||
|
// HashMap<String, String> map = new HashMap<>();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private HashSet<String> getSet(MultipartFile file) throws IOException {
|
||||||
|
InputStream inputStream = file.getInputStream();
|
||||||
|
XSSFWorkbook workbook = new XSSFWorkbook(inputStream);
|
||||||
|
|
||||||
|
XSSFSheet sheet = workbook.getSheetAt(0);
|
||||||
|
|
||||||
|
// int lastNum = sheet.getLastRowNum();
|
||||||
|
|
||||||
|
HashSet<String> stringHashSet= new HashSet<>();
|
||||||
|
|
||||||
|
for (Row row : sheet) {
|
||||||
|
if (row.getCell(0)!=null){
|
||||||
|
stringHashSet.add(row.getCell(0).toString().trim());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return stringHashSet;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+1
-1
@@ -15,7 +15,7 @@ import java.util.List;
|
|||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class ExclErrorOut {
|
public class ExclErrorOut {
|
||||||
private static final Logger logger = LoggerFactory.getLogger(BussStandExportUtil.class);
|
private static final Logger logger = LoggerFactory.getLogger(ExclErrorOut.class);
|
||||||
|
|
||||||
public static Workbook exportDatas (List<ImportDto> datas,String header) {
|
public static Workbook exportDatas (List<ImportDto> datas,String header) {
|
||||||
Workbook workbook = new XSSFWorkbook();
|
Workbook workbook = new XSSFWorkbook();
|
||||||
|
|||||||
@@ -1,17 +1,29 @@
|
|||||||
package com.adc.da.slrs.ImportExcelDatas.comment;
|
package com.adc.da.slrs.ImportExcelDatas.comment;
|
||||||
|
|
||||||
import com.adc.da.slrs.ImportExcelDatas.entity.ImportDto;
|
import com.adc.da.slrs.ImportExcelDatas.entity.ImportDto;
|
||||||
import org.apache.poi.ss.usermodel.Sheet;
|
import org.apache.poi.ss.usermodel.*;
|
||||||
import org.apache.poi.ss.usermodel.Workbook;
|
import org.apache.poi.xssf.usermodel.XSSFRow;
|
||||||
|
import org.apache.poi.xssf.usermodel.XSSFSheet;
|
||||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class ExclExport extends ExclErrorOut {
|
public class ExclExport extends ExclErrorOut {
|
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(ExclErrorOut.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 导出多个sheet页的excl
|
* 导出多个sheet页的excl
|
||||||
@@ -34,4 +46,71 @@ public class ExclExport extends ExclErrorOut {
|
|||||||
|
|
||||||
return workbook;
|
return workbook;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 比对表格中的数据是否在数据库表中
|
||||||
|
* @param sourceFile
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public void contrast(MultipartFile sourceFile, HashSet<List<String>> set) throws IOException {
|
||||||
|
|
||||||
|
|
||||||
|
InputStream inputStream = sourceFile.getInputStream();
|
||||||
|
XSSFWorkbook workbook = new XSSFWorkbook(inputStream);
|
||||||
|
|
||||||
|
XSSFSheet sheet = workbook.getSheetAt(0);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// HashMap<String, String> map = new HashMap<>();
|
||||||
|
int lastNum = sheet.getLastRowNum();
|
||||||
|
for (int i = 0; i < lastNum; i++) {
|
||||||
|
|
||||||
|
XSSFRow row = sheet.getRow(i);
|
||||||
|
|
||||||
|
|
||||||
|
if (row.getCell(1)!=null){
|
||||||
|
// String value = row.getCell(1).toString();
|
||||||
|
|
||||||
|
// map.put(value,String.valueOf(i));
|
||||||
|
String value = row.getCell(1).toString();
|
||||||
|
Cell cell = row.createCell(11);
|
||||||
|
Set<List<String>> collect = set.stream()
|
||||||
|
.filter(item ->
|
||||||
|
value.contains(item.get(0).trim())
|
||||||
|
&& value.contains(item.get(1).trim())
|
||||||
|
&& value.contains(item.get(2).trim())
|
||||||
|
)
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
|
||||||
|
|
||||||
|
if (!collect.isEmpty()){
|
||||||
|
logger.info("*");
|
||||||
|
cell.setCellType(CellType.STRING);
|
||||||
|
cell.setCellValue("1");
|
||||||
|
}else {
|
||||||
|
logger.info("-");
|
||||||
|
cell.setCellType(CellType.STRING);
|
||||||
|
cell.setCellValue("0");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// map.strea
|
||||||
|
// List<User> filterList=map.stre()
|
||||||
|
// .filter(user -> serviceCodes.contains(user.getOrgId()))
|
||||||
|
// .collect(Collectors.toList());
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
File file = new File("C:\\Users\\22501\\Desktop\\foton标准数据\\ouhuo.xlsx");
|
||||||
|
FileOutputStream os = new FileOutputStream(file);
|
||||||
|
workbook.write(os);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+25
-10
@@ -2,26 +2,19 @@ package com.adc.da.slrs.ImportExcelDatas.controller;
|
|||||||
|
|
||||||
import com.adc.da.base.web.BaseController;
|
import com.adc.da.base.web.BaseController;
|
||||||
import com.adc.da.common.ReadExcel;
|
import com.adc.da.common.ReadExcel;
|
||||||
import com.adc.da.http.ResponseMessage;
|
import com.adc.da.slrs.ImportExcelDatas.comment.Analysis;
|
||||||
|
import com.adc.da.slrs.ImportExcelDatas.comment.Contrast;
|
||||||
import com.adc.da.slrs.ImportExcelDatas.comment.ExclErrorOut;
|
import com.adc.da.slrs.ImportExcelDatas.comment.ExclErrorOut;
|
||||||
import com.adc.da.slrs.ImportExcelDatas.comment.ExclExport;
|
import com.adc.da.slrs.ImportExcelDatas.comment.ExclExport;
|
||||||
import com.adc.da.slrs.ImportExcelDatas.entity.ImportDto;
|
import com.adc.da.slrs.ImportExcelDatas.entity.ImportDto;
|
||||||
import com.adc.da.slrs.ImportExcelDatas.service.ImportExcelService;
|
import com.adc.da.slrs.ImportExcelDatas.service.ImportExcelService;
|
||||||
import com.adc.da.slrs.ImportExcelDatas.service.impl.ImportExcelServiceImpl;
|
|
||||||
import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand;
|
|
||||||
import com.adc.da.slrs.sarPersonalCenter.entity.SarUserStar;
|
|
||||||
import com.adc.da.slrs.sarPersonalCenter.entity.SarUserStarEO;
|
|
||||||
import com.adc.da.util.exception.AdcDaBaseException;
|
import com.adc.da.util.exception.AdcDaBaseException;
|
||||||
import com.adc.da.util.utils.IOUtils;
|
import com.adc.da.util.utils.IOUtils;
|
||||||
import com.adc.da.util.utils.StringUtils;
|
|
||||||
import com.adc.da.utils.util.BussStandExportUtil;
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import org.apache.poi.ss.usermodel.Workbook;
|
import org.apache.poi.ss.usermodel.Workbook;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
@@ -97,7 +90,7 @@ public class ImportExcelController extends BaseController<ImportDto> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation("从excl中导入标准信息")
|
@ApiOperation("从excl分解")
|
||||||
@PostMapping("/analysisExcl")
|
@PostMapping("/analysisExcl")
|
||||||
public void analysisExcl(MultipartFile exclFile,MultipartFile standSort, HttpServletResponse response, HttpServletRequest request) throws IOException {
|
public void analysisExcl(MultipartFile exclFile,MultipartFile standSort, HttpServletResponse response, HttpServletRequest request) throws IOException {
|
||||||
/**
|
/**
|
||||||
@@ -139,4 +132,26 @@ public class ImportExcelController extends BaseController<ImportDto> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation("excel表中的信息是否在数据库中存在")
|
||||||
|
@PostMapping("/isExist")
|
||||||
|
public String isExist(MultipartFile exclFile){
|
||||||
|
return importExcelService.isExist(exclFile);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("对比")
|
||||||
|
@PostMapping("/contrast")
|
||||||
|
public void contrast(MultipartFile all,MultipartFile excel) throws IOException {
|
||||||
|
Contrast contrast = new Contrast();
|
||||||
|
contrast.run(all,excel);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation("根据标准从excl中分解出标准号,类别,年份")
|
||||||
|
@PostMapping("/analysis")
|
||||||
|
public void analysis(MultipartFile exclFile,MultipartFile standSort) throws IOException {
|
||||||
|
Analysis analysis = new Analysis();
|
||||||
|
analysis.run(exclFile,standSort);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
@@ -15,4 +15,7 @@ public interface ImportExcelService extends IService<ImportDto> {
|
|||||||
public List<ImportDto> storageExclData(Map<String, List<ImportDto>> importListMap);
|
public List<ImportDto> storageExclData(Map<String, List<ImportDto>> importListMap);
|
||||||
|
|
||||||
public Map<String,List<ImportDto>> analysisExcl(MultipartFile exclFile,MultipartFile standSort);
|
public Map<String,List<ImportDto>> analysisExcl(MultipartFile exclFile,MultipartFile standSort);
|
||||||
|
|
||||||
|
|
||||||
|
public String isExist(MultipartFile exclFile);
|
||||||
}
|
}
|
||||||
|
|||||||
+32
@@ -2,6 +2,7 @@ package com.adc.da.slrs.ImportExcelDatas.service.impl;
|
|||||||
|
|
||||||
import com.adc.da.att.service.IAttFileEOService;
|
import com.adc.da.att.service.IAttFileEOService;
|
||||||
import com.adc.da.att.vo.AttFileVo;
|
import com.adc.da.att.vo.AttFileVo;
|
||||||
|
import com.adc.da.slrs.ImportExcelDatas.comment.ExclExport;
|
||||||
import com.adc.da.slrs.ImportExcelDatas.dao.ImportExcelDao;
|
import com.adc.da.slrs.ImportExcelDatas.dao.ImportExcelDao;
|
||||||
import com.adc.da.slrs.ImportExcelDatas.entity.ImportDto;
|
import com.adc.da.slrs.ImportExcelDatas.entity.ImportDto;
|
||||||
import com.adc.da.slrs.ImportExcelDatas.service.ImportExcelService;
|
import com.adc.da.slrs.ImportExcelDatas.service.ImportExcelService;
|
||||||
@@ -598,6 +599,37 @@ public class ImportExcelServiceImpl extends ServiceImpl<ImportExcelDao, ImportDt
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String isExist(MultipartFile exclFile) {
|
||||||
|
ExclExport exclExport = new ExclExport();
|
||||||
|
QueryWrapper<SarStandardsInfo> standWrapper = new QueryWrapper<>();
|
||||||
|
standWrapper.select("STAND_NUMBER,STAND_SORT,STAND_YEAR");
|
||||||
|
List<Map<String, Object>> maps = sarStandardsInfoService.listMaps(standWrapper);
|
||||||
|
|
||||||
|
QueryWrapper<SarBussionessStand> bussionessWrapper = new QueryWrapper<>();
|
||||||
|
bussionessWrapper.select("STAND_CODE AS STAND_NUMBER,STAND_SORT,STAND_YEAR");
|
||||||
|
List<Map<String, Object>> maps1 = sarBussionessStandService.listMaps(bussionessWrapper);
|
||||||
|
|
||||||
|
HashSet<List<String>> nameSet = new HashSet<>();
|
||||||
|
maps.addAll(maps1);
|
||||||
|
maps.forEach(item->{
|
||||||
|
List<String> strings = new LinkedList<>();
|
||||||
|
strings.add(item.get("STAND_NUMBER").toString().trim());
|
||||||
|
strings.add(item.get("STAND_SORT").toString().trim());
|
||||||
|
strings.add(item.get("STAND_YEAR").toString().trim());
|
||||||
|
|
||||||
|
nameSet.add(strings);
|
||||||
|
});
|
||||||
|
|
||||||
|
try {
|
||||||
|
exclExport.contrast(exclFile,nameSet);
|
||||||
|
return "success";
|
||||||
|
}catch (Exception e){
|
||||||
|
e.printStackTrace();
|
||||||
|
return "failed";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 整理为标准信息实体
|
* 整理为标准信息实体
|
||||||
|
|||||||
+56
@@ -0,0 +1,56 @@
|
|||||||
|
package com.adc.da.slrs.sarIssueTrack.controller;
|
||||||
|
|
||||||
|
import com.adc.da.http.ResponseMessage;
|
||||||
|
import com.adc.da.http.Result;
|
||||||
|
import com.adc.da.slrs.sarIssueTrack.entity.IssueTrack;
|
||||||
|
import com.adc.da.slrs.sarIssueTrack.entity.IssueTrackVo;
|
||||||
|
import com.adc.da.slrs.sarIssueTrack.service.IIssueTrackService;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
@RestController
|
||||||
|
@Api(tags = "重点标准跟踪清单")
|
||||||
|
@RequestMapping("/api/sarIssueTrack/issueTrack")
|
||||||
|
public class IssueTrackController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IIssueTrackService issueTrackService;
|
||||||
|
|
||||||
|
@PutMapping()
|
||||||
|
@ApiOperation("新增重点标准跟踪清单项目")
|
||||||
|
public ResponseMessage addIssueTrack(@RequestBody IssueTrack issueTrack){
|
||||||
|
boolean b = issueTrackService.addIssueTrack(issueTrack);
|
||||||
|
return Result.success(b);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@DeleteMapping
|
||||||
|
@ApiOperation("删除重点标准跟踪清单项目")
|
||||||
|
public ResponseMessage removeIssueTrack(@RequestParam(value="selectedString") String idList){
|
||||||
|
|
||||||
|
List<String> stringList = Arrays.asList(idList.split(","));
|
||||||
|
boolean b = issueTrackService.removeIssueTrack(stringList);
|
||||||
|
return Result.success(b);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping
|
||||||
|
@ApiOperation("查询重点标准跟踪清单")
|
||||||
|
public ResponseMessage<List<IssueTrack>> getIssueTrack(IssueTrackVo wrapper){
|
||||||
|
List<IssueTrack> issueTrack = issueTrackService.getIssueTrack(wrapper);
|
||||||
|
return Result.success(issueTrack);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping
|
||||||
|
@ApiOperation("更新重点标准跟踪清单项目")
|
||||||
|
public ResponseMessage updateIssueTrack(@RequestBody IssueTrack issueTrack){
|
||||||
|
boolean b = issueTrackService.updateIssueTrack(issueTrack);
|
||||||
|
return Result.success(b);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package com.adc.da.slrs.sarIssueTrack.dao;
|
||||||
|
|
||||||
|
import com.adc.da.slrs.sarIssueTrack.entity.IssueTrack;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
|
public interface IssueTrackDao extends BaseMapper<IssueTrack> {
|
||||||
|
}
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
package com.adc.da.slrs.sarIssueTrack.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@TableName("issue_track")
|
||||||
|
public class IssueTrack {
|
||||||
|
|
||||||
|
@TableField("id")
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
@TableField("law_id")
|
||||||
|
private String lawId;
|
||||||
|
|
||||||
|
@TableField("law_name")
|
||||||
|
private String lawName;
|
||||||
|
|
||||||
|
@TableField("product_type")
|
||||||
|
private String productType;
|
||||||
|
|
||||||
|
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-mm-dd")
|
||||||
|
@TableField("impl_time")
|
||||||
|
private Date implTime;
|
||||||
|
|
||||||
|
@TableField("impl_require")
|
||||||
|
private String implRequire;
|
||||||
|
|
||||||
|
@TableLogic(value = "0",delval = "1")
|
||||||
|
@TableField("del_flag")
|
||||||
|
private String delFlag;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package com.adc.da.slrs.sarIssueTrack.entity;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class IssueTrackVo extends IssueTrack {
|
||||||
|
}
|
||||||
+17
@@ -0,0 +1,17 @@
|
|||||||
|
package com.adc.da.slrs.sarIssueTrack.service;
|
||||||
|
|
||||||
|
import com.adc.da.slrs.sarIssueTrack.entity.IssueTrack;
|
||||||
|
import com.adc.da.slrs.sarIssueTrack.entity.IssueTrackVo;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface IIssueTrackService {
|
||||||
|
|
||||||
|
public boolean addIssueTrack(IssueTrack obj);
|
||||||
|
|
||||||
|
public boolean removeIssueTrack(List<String> idList);
|
||||||
|
|
||||||
|
public List<IssueTrack> getIssueTrack(IssueTrackVo objVo);
|
||||||
|
|
||||||
|
public boolean updateIssueTrack(IssueTrack obj);
|
||||||
|
}
|
||||||
+58
@@ -0,0 +1,58 @@
|
|||||||
|
package com.adc.da.slrs.sarIssueTrack.service.impl;
|
||||||
|
|
||||||
|
import com.adc.da.slrs.sarIssueTrack.dao.IssueTrackDao;
|
||||||
|
import com.adc.da.slrs.sarIssueTrack.entity.IssueTrack;
|
||||||
|
import com.adc.da.slrs.sarIssueTrack.entity.IssueTrackVo;
|
||||||
|
import com.adc.da.slrs.sarIssueTrack.service.IIssueTrackService;
|
||||||
|
import com.adc.da.util.UUIDUtils;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class IssueTrackServiceImpl extends ServiceImpl<IssueTrackDao, IssueTrack> implements IIssueTrackService {
|
||||||
|
@Override
|
||||||
|
public boolean addIssueTrack(IssueTrack obj) {
|
||||||
|
obj.setId(UUIDUtils.randomUUID20());
|
||||||
|
obj.setDelFlag("0");
|
||||||
|
return this.save(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean removeIssueTrack(List<String> idList) {
|
||||||
|
return removeByIds(idList);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<IssueTrack> getIssueTrack(IssueTrackVo objVo) {
|
||||||
|
List<IssueTrack> result=new ArrayList<>();
|
||||||
|
if (objVo==null){
|
||||||
|
result=this.list();
|
||||||
|
}else {
|
||||||
|
QueryWrapper<IssueTrack> wrapper = new QueryWrapper<>();
|
||||||
|
|
||||||
|
if (objVo.getLawId()!=null){
|
||||||
|
wrapper.like("law_id",objVo.getLawId());
|
||||||
|
}
|
||||||
|
if (objVo.getLawName()!=null){
|
||||||
|
wrapper.like("law_name",objVo.getLawName());
|
||||||
|
}
|
||||||
|
if (objVo.getProductType()!=null){
|
||||||
|
wrapper.like("product_type",objVo.getProductType());
|
||||||
|
}
|
||||||
|
|
||||||
|
result=list(wrapper);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean updateIssueTrack(IssueTrack obj) {
|
||||||
|
|
||||||
|
return this.updateById(obj);
|
||||||
|
}
|
||||||
|
}
|
||||||
+116
@@ -0,0 +1,116 @@
|
|||||||
|
package com.adc.da.slrs.sarStandUnqualified.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.sarStandUnqualified.entity.BusinessDeptIssue;
|
||||||
|
import com.adc.da.slrs.sarStandUnqualified.entity.BusinessDeptIssueVo;
|
||||||
|
import com.adc.da.slrs.sarStandUnqualified.service.IBusinessDeptIssueService;
|
||||||
|
import com.alibaba.excel.EasyExcel;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.net.URLEncoder;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/api/sarStandUnqualified/businessDeptIssue")
|
||||||
|
@Api(tags = "事业部重点问题")
|
||||||
|
public class BusinessDeptIssueController extends BaseController {
|
||||||
|
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IBusinessDeptIssueService iBusinessDeptIssueService;
|
||||||
|
|
||||||
|
@PutMapping()
|
||||||
|
@ApiOperation("新增事业部重点问题")
|
||||||
|
public ResponseMessage addBussDeptIssue(@RequestBody BusinessDeptIssue issue){
|
||||||
|
boolean b = iBusinessDeptIssueService.addBusinessDeptIssue(issue);
|
||||||
|
return Result.success(b);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@DeleteMapping
|
||||||
|
@ApiOperation("删除事业部重点问题")
|
||||||
|
public ResponseMessage removeBussDeptIssue(@RequestParam(value="selectedString") String idList){
|
||||||
|
List<String> stringList = Arrays.asList(idList.split(","));
|
||||||
|
boolean b = iBusinessDeptIssueService.removeBusinessDeptIssue(stringList);
|
||||||
|
return Result.success(b);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping
|
||||||
|
@ApiOperation("查询事业部重点问题")
|
||||||
|
public ResponseMessage<IPage<BusinessDeptIssue>> getBussDeptIssue(BusinessDeptIssueVo pageVo){
|
||||||
|
IPage<BusinessDeptIssue> page = iBusinessDeptIssueService.getBusinessDeptIssue(pageVo);
|
||||||
|
|
||||||
|
|
||||||
|
return Result.success(page);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping
|
||||||
|
@ApiOperation("更新事业部重点问题")
|
||||||
|
public ResponseMessage updateBussDeptIssue(@RequestBody BusinessDeptIssue issue){
|
||||||
|
boolean b = iBusinessDeptIssueService.updateBusinessDeptIssue(issue);
|
||||||
|
return Result.success(b);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/closeIssue")
|
||||||
|
@ApiOperation("批量关闭事业部重点问题")
|
||||||
|
public ResponseMessage closeBusinessIssue(@RequestParam(value="ids")String idList){
|
||||||
|
List<String> stringList = Arrays.asList(idList.split(","));
|
||||||
|
boolean b = iBusinessDeptIssueService.closeBusinessDeptIssue(stringList);
|
||||||
|
return Result.success(b);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@GetMapping("/exportIssue")
|
||||||
|
@ApiOperation("导出事业部重点问题")
|
||||||
|
public void exportIssue(HttpServletResponse response,BusinessDeptIssueVo issue) throws IOException {
|
||||||
|
// 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman
|
||||||
|
|
||||||
|
//TODO
|
||||||
|
try {
|
||||||
|
response.setContentType("application/vnd.ms-excel");
|
||||||
|
response.setCharacterEncoding("utf-8");
|
||||||
|
// 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
|
||||||
|
|
||||||
|
if(issue.getFileName()==null || issue.getFileName()==""){
|
||||||
|
issue.setFileName("事业部重点问题信息");
|
||||||
|
}
|
||||||
|
String fileName = URLEncoder.encode(issue.getFileName(), "UTF-8").replaceAll("\\+", "%20");
|
||||||
|
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
|
||||||
|
// List<SarStandUnqualified> data=sarStandUnqualifiedService.getStandUnqualifiedExcelData(standUnqualifiedExcelVO);
|
||||||
|
|
||||||
|
JSONObject jsonObject = JSONObject.parseObject(issue.getExportContent());
|
||||||
|
|
||||||
|
BusinessDeptIssueVo businessDeptIssueVo = JSONObject.toJavaObject(jsonObject, BusinessDeptIssueVo.class);
|
||||||
|
IPage<BusinessDeptIssue> page = iBusinessDeptIssueService.getBusinessDeptIssue(businessDeptIssueVo);
|
||||||
|
|
||||||
|
|
||||||
|
// 这里需要设置不关闭流
|
||||||
|
EasyExcel.write(response.getOutputStream(), BusinessDeptIssue.class).autoCloseStream(Boolean.FALSE).sheet("sheet1")
|
||||||
|
.doWrite(page.getRecords());
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
// 重置response
|
||||||
|
response.reset();
|
||||||
|
response.setContentType("application/json");
|
||||||
|
response.setCharacterEncoding("utf-8");
|
||||||
|
response.getWriter().println(JSONObject.toJSONString(Result.error()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
+69
@@ -0,0 +1,69 @@
|
|||||||
|
package com.adc.da.slrs.sarStandUnqualified.controller;
|
||||||
|
|
||||||
|
import com.adc.da.http.ResponseMessage;
|
||||||
|
import com.adc.da.http.Result;
|
||||||
|
import com.adc.da.slrs.sarStandUnqualified.entity.BusinessDeptIssue;
|
||||||
|
import com.adc.da.slrs.sarStandUnqualified.entity.BusinessDeptIssueVo;
|
||||||
|
import com.adc.da.slrs.sarStandUnqualified.entity.ProductDeptIssue;
|
||||||
|
import com.adc.da.slrs.sarStandUnqualified.entity.ProductDeptIssueVo;
|
||||||
|
import com.adc.da.slrs.sarStandUnqualified.service.IBusinessDeptIssueService;
|
||||||
|
import com.adc.da.slrs.sarStandUnqualified.service.IProductDeptIssueService;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
@RequestMapping("/api/sarStandUnqualified/productDeptIssue")
|
||||||
|
@Api(tags = "产品规划部重点问题项管控")
|
||||||
|
public class ProductDeptIssueController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IProductDeptIssueService iProductDeptIssueService;
|
||||||
|
|
||||||
|
@PutMapping()
|
||||||
|
@ApiOperation("新增产品规划部重点问题")
|
||||||
|
public ResponseMessage addProductDeptIssue(@RequestBody ProductDeptIssue issue){
|
||||||
|
boolean b = iProductDeptIssueService.addProductDeptIssue(issue);
|
||||||
|
return Result.success(b);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@DeleteMapping
|
||||||
|
@ApiOperation("删除产品规划部重点问题")
|
||||||
|
public ResponseMessage removeProductDeptIssue(@RequestParam(value="selectedString") String idList){
|
||||||
|
|
||||||
|
List<String> stringList = Arrays.asList(idList.split(","));
|
||||||
|
boolean b = iProductDeptIssueService.removeProductDeptIssue(stringList);
|
||||||
|
return Result.success(b);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping
|
||||||
|
@ApiOperation("查询产品规划部重点问题")
|
||||||
|
public ResponseMessage<IPage<ProductDeptIssue>> getProductDeptIssue(@RequestParam ProductDeptIssueVo wrapper){
|
||||||
|
IPage<ProductDeptIssue> issueList = iProductDeptIssueService.getProductDeptIssue(wrapper);
|
||||||
|
return Result.success(issueList);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping
|
||||||
|
@ApiOperation("更新产品规划部重点问题")
|
||||||
|
public ResponseMessage updateProductDeptIssue(@RequestBody ProductDeptIssue issue){
|
||||||
|
boolean b = iProductDeptIssueService.updateProductDeptIssue(issue);
|
||||||
|
return Result.success(b);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@PostMapping("/closeProductIssue")
|
||||||
|
@ApiOperation("关闭产品规划部重点问题")
|
||||||
|
public ResponseMessage closeProductDeptIssue(String idList){
|
||||||
|
List<String> stringList = Arrays.asList(idList.split(","));
|
||||||
|
boolean b = iProductDeptIssueService.closeProductDeptIssue(stringList);
|
||||||
|
|
||||||
|
return Result.success(b);
|
||||||
|
}
|
||||||
|
}
|
||||||
+8
-1
@@ -2,11 +2,18 @@ package com.adc.da.slrs.sarStandUnqualified.dao;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import com.adc.da.slrs.sarStandUnqualified.entity.BusinessDeptIssue;
|
import com.adc.da.slrs.sarStandUnqualified.entity.BusinessDeptIssue;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface BusinessDeptIssueDao extends BaseMapper<BusinessDeptIssue> {
|
public interface BusinessDeptIssueDao extends BaseMapper<BusinessDeptIssue> {
|
||||||
|
|
||||||
|
IPage<BusinessDeptIssue> findPage(IPage<BusinessDeptIssue> page, @Param(Constants.WRAPPER) QueryWrapper<BusinessDeptIssue> queryWrapper);
|
||||||
}
|
}
|
||||||
|
|||||||
+7
@@ -1,8 +1,15 @@
|
|||||||
package com.adc.da.slrs.sarStandUnqualified.dao;
|
package com.adc.da.slrs.sarStandUnqualified.dao;
|
||||||
|
|
||||||
import com.adc.da.slrs.sarStandUnqualified.entity.ProductDeptIssue;
|
import com.adc.da.slrs.sarStandUnqualified.entity.ProductDeptIssue;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
public interface ProductDeptIssueDao extends BaseMapper<ProductDeptIssue> {
|
public interface ProductDeptIssueDao extends BaseMapper<ProductDeptIssue> {
|
||||||
|
|
||||||
|
public IPage<ProductDeptIssue> findPage(IPage<ProductDeptIssue> page,@Param(Constants.WRAPPER) QueryWrapper<ProductDeptIssue> wrapper);
|
||||||
}
|
}
|
||||||
|
|||||||
+69
@@ -1,7 +1,15 @@
|
|||||||
package com.adc.da.slrs.sarStandUnqualified.entity;
|
package com.adc.da.slrs.sarStandUnqualified.entity;
|
||||||
|
|
||||||
|
|
||||||
|
import com.adc.da.base.page.BasePage;
|
||||||
|
import com.adc.da.http.PageInfo;
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
@@ -10,17 +18,78 @@ import java.util.Date;
|
|||||||
@TableName("business_dept_issue")
|
@TableName("business_dept_issue")
|
||||||
public class BusinessDeptIssue {
|
public class BusinessDeptIssue {
|
||||||
|
|
||||||
|
|
||||||
|
@ExcelIgnore
|
||||||
|
@TableId
|
||||||
private String id;
|
private String id;
|
||||||
|
|
||||||
|
@ExcelIgnore
|
||||||
|
@TableField("law_id")
|
||||||
private String lawId;
|
private String lawId;
|
||||||
|
|
||||||
|
@ExcelProperty("标准号")
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String lawNumber;
|
||||||
|
|
||||||
|
@ExcelProperty("标准名称")
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String lawName;
|
||||||
|
|
||||||
|
@ExcelProperty("产品类别")
|
||||||
|
@TableField("product_type")
|
||||||
private String productType;
|
private String productType;
|
||||||
|
|
||||||
|
@ExcelProperty("实施实践")
|
||||||
|
@TableField("impl_time")
|
||||||
|
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-mm-dd")
|
||||||
private Date implTime;
|
private Date implTime;
|
||||||
|
|
||||||
|
@ExcelProperty("实施要求")
|
||||||
|
@TableField("impl_require")
|
||||||
private String implRequire;
|
private String implRequire;
|
||||||
|
|
||||||
|
@ExcelProperty("资源符合状态")
|
||||||
|
@TableField("conform_situation")
|
||||||
private String conformSituation;
|
private String conformSituation;
|
||||||
|
|
||||||
|
@ExcelProperty("开发情况")
|
||||||
|
@TableField("dev_scheme")
|
||||||
private String devScheme;
|
private String devScheme;
|
||||||
|
|
||||||
|
@ExcelProperty("sop时间")
|
||||||
|
@TableField("sop_time")
|
||||||
|
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-mm-dd")
|
||||||
private Date sopTime;
|
private Date sopTime;
|
||||||
|
|
||||||
|
@ExcelProperty("完成情况")
|
||||||
|
@TableField("complete_situation")
|
||||||
private String completeSituation;
|
private String completeSituation;
|
||||||
|
|
||||||
|
@ExcelProperty("超出sop时限后计划")
|
||||||
|
@TableField("timeout_situation")
|
||||||
private String timeoutSituation;
|
private String timeoutSituation;
|
||||||
|
|
||||||
|
@ExcelIgnore
|
||||||
|
@TableLogic(value = "0",delval = "1")
|
||||||
|
private String delFlag;
|
||||||
|
|
||||||
|
@ExcelProperty("责任部门")
|
||||||
|
@TableField("response_dept")
|
||||||
|
private String responseDept;
|
||||||
|
|
||||||
|
@ExcelProperty("责任人")
|
||||||
|
@TableField("response_people")
|
||||||
|
private String responsePeople;
|
||||||
|
|
||||||
|
@ExcelIgnore
|
||||||
|
@TableField("is_close")
|
||||||
|
private String isClose;
|
||||||
|
|
||||||
|
@ExcelIgnore
|
||||||
|
@TableField(exist = false)
|
||||||
|
private Integer page;
|
||||||
|
|
||||||
|
@ExcelIgnore
|
||||||
|
@TableField(exist = false)
|
||||||
|
private Integer pageSize;
|
||||||
}
|
}
|
||||||
|
|||||||
+26
@@ -0,0 +1,26 @@
|
|||||||
|
package com.adc.da.slrs.sarStandUnqualified.entity;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class BusinessDeptIssueVo extends BusinessDeptIssue {
|
||||||
|
|
||||||
|
private String numberOrName;
|
||||||
|
|
||||||
|
private String fileName;
|
||||||
|
|
||||||
|
private String idList;
|
||||||
|
|
||||||
|
private String exportContent;
|
||||||
|
|
||||||
|
public List<String> getIdList(){
|
||||||
|
if (this.idList!=null){
|
||||||
|
return Arrays.asList(this.idList.split(","));
|
||||||
|
}else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+48
@@ -1,7 +1,12 @@
|
|||||||
package com.adc.da.slrs.sarStandUnqualified.entity;
|
package com.adc.da.slrs.sarStandUnqualified.entity;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import io.swagger.models.auth.In;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
@@ -10,16 +15,59 @@ import java.util.Date;
|
|||||||
@TableName("product_dept_issue")
|
@TableName("product_dept_issue")
|
||||||
public class ProductDeptIssue {
|
public class ProductDeptIssue {
|
||||||
|
|
||||||
|
@TableId
|
||||||
private String id;
|
private String id;
|
||||||
|
|
||||||
|
@TableField("law_id")
|
||||||
private String lawId;
|
private String lawId;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String lawsNumber;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String lawsName;
|
||||||
|
|
||||||
|
@TableField("product_business")
|
||||||
private String productBusiness;
|
private String productBusiness;
|
||||||
|
|
||||||
|
@TableField("platform")
|
||||||
private String platform;
|
private String platform;
|
||||||
|
|
||||||
|
@TableField("poj_name")
|
||||||
private String pojName;
|
private String pojName;
|
||||||
|
|
||||||
|
@TableField("poj_description")
|
||||||
private String pojDescription;
|
private String pojDescription;
|
||||||
|
|
||||||
|
@TableField("current_node")
|
||||||
private String currentNode;
|
private String currentNode;
|
||||||
|
|
||||||
|
@TableField("conceptual_state")
|
||||||
private String conceptualState;
|
private String conceptualState;
|
||||||
|
|
||||||
|
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-mm-dd")
|
||||||
|
@TableField("scheduled_issuance_time")
|
||||||
private Date scheduledIssuanceTime;
|
private Date scheduledIssuanceTime;
|
||||||
|
|
||||||
|
@TableField("revised_plan")
|
||||||
private String revisedPlan;
|
private String revisedPlan;
|
||||||
|
|
||||||
|
@TableField("explanation")
|
||||||
private String explanation;
|
private String explanation;
|
||||||
|
|
||||||
|
@TableField("response_dept")
|
||||||
|
private String responseDept;
|
||||||
|
|
||||||
|
@TableLogic(value = "0",delval = "1")
|
||||||
|
private String delFlag;
|
||||||
|
|
||||||
|
@TableField("is_close")
|
||||||
|
private String isClose;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
private Integer page;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
private Integer pageSize;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
package com.adc.da.slrs.sarStandUnqualified.entity;
|
||||||
|
|
||||||
|
public class ProductDeptIssueVo extends ProductDeptIssue {
|
||||||
|
}
|
||||||
+17
@@ -1,7 +1,24 @@
|
|||||||
package com.adc.da.slrs.sarStandUnqualified.service;
|
package com.adc.da.slrs.sarStandUnqualified.service;
|
||||||
|
|
||||||
|
import com.adc.da.slrs.sarIssueTrack.entity.IssueTrack;
|
||||||
|
import com.adc.da.slrs.sarIssueTrack.entity.IssueTrackVo;
|
||||||
import com.adc.da.slrs.sarStandUnqualified.entity.BusinessDeptIssue;
|
import com.adc.da.slrs.sarStandUnqualified.entity.BusinessDeptIssue;
|
||||||
|
import com.adc.da.slrs.sarStandUnqualified.entity.BusinessDeptIssueVo;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public interface IBusinessDeptIssueService extends IService<BusinessDeptIssue> {
|
public interface IBusinessDeptIssueService extends IService<BusinessDeptIssue> {
|
||||||
|
|
||||||
|
|
||||||
|
public boolean addBusinessDeptIssue(BusinessDeptIssue obj);
|
||||||
|
|
||||||
|
public boolean removeBusinessDeptIssue(List<String> idList);
|
||||||
|
|
||||||
|
public IPage<BusinessDeptIssue> getBusinessDeptIssue(BusinessDeptIssueVo objVo);
|
||||||
|
|
||||||
|
public boolean updateBusinessDeptIssue(BusinessDeptIssue obj);
|
||||||
|
|
||||||
|
public boolean closeBusinessDeptIssue(List<String> idList);
|
||||||
}
|
}
|
||||||
|
|||||||
+17
@@ -1,4 +1,21 @@
|
|||||||
package com.adc.da.slrs.sarStandUnqualified.service;
|
package com.adc.da.slrs.sarStandUnqualified.service;
|
||||||
|
|
||||||
|
import com.adc.da.slrs.sarStandUnqualified.entity.ProductDeptIssue;
|
||||||
|
import com.adc.da.slrs.sarStandUnqualified.entity.ProductDeptIssueVo;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public interface IProductDeptIssueService {
|
public interface IProductDeptIssueService {
|
||||||
|
|
||||||
|
|
||||||
|
public boolean addProductDeptIssue(ProductDeptIssue obj);
|
||||||
|
|
||||||
|
public boolean removeProductDeptIssue(List<String> idList);
|
||||||
|
|
||||||
|
public IPage<ProductDeptIssue> getProductDeptIssue(ProductDeptIssueVo objVo);
|
||||||
|
|
||||||
|
public boolean updateProductDeptIssue(ProductDeptIssue obj);
|
||||||
|
|
||||||
|
public boolean closeProductDeptIssue(List<String> idList);
|
||||||
}
|
}
|
||||||
|
|||||||
+89
@@ -2,10 +2,99 @@ package com.adc.da.slrs.sarStandUnqualified.service.impl;
|
|||||||
|
|
||||||
import com.adc.da.slrs.sarStandUnqualified.dao.BusinessDeptIssueDao;
|
import com.adc.da.slrs.sarStandUnqualified.dao.BusinessDeptIssueDao;
|
||||||
import com.adc.da.slrs.sarStandUnqualified.entity.BusinessDeptIssue;
|
import com.adc.da.slrs.sarStandUnqualified.entity.BusinessDeptIssue;
|
||||||
|
import com.adc.da.slrs.sarStandUnqualified.entity.BusinessDeptIssueVo;
|
||||||
import com.adc.da.slrs.sarStandUnqualified.service.IBusinessDeptIssueService;
|
import com.adc.da.slrs.sarStandUnqualified.service.IBusinessDeptIssueService;
|
||||||
|
import com.adc.da.util.UUIDUtils;
|
||||||
|
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 com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class BusinessDeptIssueService extends ServiceImpl<BusinessDeptIssueDao, BusinessDeptIssue> implements IBusinessDeptIssueService {
|
public class BusinessDeptIssueService extends ServiceImpl<BusinessDeptIssueDao, BusinessDeptIssue> implements IBusinessDeptIssueService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private BusinessDeptIssueDao businessDeptIssueDao;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean addBusinessDeptIssue(BusinessDeptIssue obj) {
|
||||||
|
obj.setId(UUIDUtils.randomUUID20());
|
||||||
|
obj.setDelFlag("0");
|
||||||
|
return this.save(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean removeBusinessDeptIssue(List<String> idList) {
|
||||||
|
return removeByIds(idList);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IPage<BusinessDeptIssue> getBusinessDeptIssue(BusinessDeptIssueVo pageVo) {
|
||||||
|
|
||||||
|
IPage<BusinessDeptIssue> page = new Page<>();
|
||||||
|
QueryWrapper<BusinessDeptIssue> wrapper = new QueryWrapper<>();
|
||||||
|
//是否分页
|
||||||
|
if (pageVo.getPage()!=null && pageVo.getPageSize()!=null){
|
||||||
|
page=new Page<>(pageVo.getPage(),pageVo.getPageSize());
|
||||||
|
|
||||||
|
}else {
|
||||||
|
Integer count = businessDeptIssueDao.selectCount(wrapper);
|
||||||
|
page=new Page<>(0,count,false);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//查询条件
|
||||||
|
if (pageVo.getIsClose()!=null){
|
||||||
|
wrapper.like("is_close",pageVo.getIsClose());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pageVo.getLawNumber()!=null || pageVo.getLawName()!=null){
|
||||||
|
wrapper.like("laws.LAWS_NUMBER",pageVo.getLawNumber())
|
||||||
|
.or()
|
||||||
|
.like("laws.LAWS_NAME",pageVo.getLawName());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pageVo.getProductType()!=null){
|
||||||
|
wrapper.like("product_type",pageVo.getProductType());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pageVo.getResponseDept()!=null){
|
||||||
|
wrapper.like("response_dept",pageVo.getResponseDept());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出
|
||||||
|
*/
|
||||||
|
if (pageVo.getIdList()!=null){
|
||||||
|
wrapper.in("issue.ID",pageVo.getIdList());
|
||||||
|
}
|
||||||
|
|
||||||
|
page = businessDeptIssueDao.findPage(page, wrapper);
|
||||||
|
|
||||||
|
return page;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean updateBusinessDeptIssue(BusinessDeptIssue obj) {
|
||||||
|
return this.updateById(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean closeBusinessDeptIssue(List<String> idList){
|
||||||
|
List<BusinessDeptIssue> collect = idList.stream()
|
||||||
|
.map(item -> {
|
||||||
|
BusinessDeptIssue businessDeptIssue = new BusinessDeptIssue();
|
||||||
|
businessDeptIssue.setId(item);
|
||||||
|
businessDeptIssue.setIsClose("1");
|
||||||
|
return businessDeptIssue;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
|
||||||
|
return this.updateBatchById(collect);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+73
@@ -2,8 +2,81 @@ package com.adc.da.slrs.sarStandUnqualified.service.impl;
|
|||||||
|
|
||||||
import com.adc.da.slrs.sarStandUnqualified.dao.ProductDeptIssueDao;
|
import com.adc.da.slrs.sarStandUnqualified.dao.ProductDeptIssueDao;
|
||||||
import com.adc.da.slrs.sarStandUnqualified.entity.ProductDeptIssue;
|
import com.adc.da.slrs.sarStandUnqualified.entity.ProductDeptIssue;
|
||||||
|
import com.adc.da.slrs.sarStandUnqualified.entity.ProductDeptIssueVo;
|
||||||
import com.adc.da.slrs.sarStandUnqualified.service.IProductDeptIssueService;
|
import com.adc.da.slrs.sarStandUnqualified.service.IProductDeptIssueService;
|
||||||
|
import com.adc.da.util.UUIDUtils;
|
||||||
|
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 com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
@Service
|
||||||
public class ProductDeptIssueService extends ServiceImpl<ProductDeptIssueDao,ProductDeptIssue> implements IProductDeptIssueService {
|
public class ProductDeptIssueService extends ServiceImpl<ProductDeptIssueDao,ProductDeptIssue> implements IProductDeptIssueService {
|
||||||
|
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ProductDeptIssueDao productDeptIssueDao;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean addProductDeptIssue(ProductDeptIssue obj) {
|
||||||
|
obj.setId(UUIDUtils.randomUUID20());
|
||||||
|
obj.setDelFlag("0");
|
||||||
|
return this.save(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean removeProductDeptIssue(List<String> idList) {
|
||||||
|
return removeByIds(idList);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IPage<ProductDeptIssue> getProductDeptIssue(ProductDeptIssueVo objVo) {
|
||||||
|
|
||||||
|
IPage<ProductDeptIssue> page=new Page<>(objVo.getPage(),objVo.getPage());
|
||||||
|
|
||||||
|
QueryWrapper<ProductDeptIssue> wrapper = new QueryWrapper<>();
|
||||||
|
|
||||||
|
if (objVo.getLawsNumber()!=null){
|
||||||
|
wrapper.like("laws.LAWS_NAME",objVo.getLawsName())
|
||||||
|
.or()
|
||||||
|
.like("laws.LAWS_NUMBER",objVo.getLawsNumber());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (objVo.getPojName()!=null){
|
||||||
|
wrapper.like("poj_name",objVo.getPojName());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (objVo.getResponseDept()!=null){
|
||||||
|
wrapper.like("response_dept",objVo.getResponseDept());
|
||||||
|
}
|
||||||
|
productDeptIssueDao.findPage(page,wrapper);
|
||||||
|
|
||||||
|
return page;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean updateProductDeptIssue(ProductDeptIssue obj) {
|
||||||
|
|
||||||
|
return this.updateById(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean closeProductDeptIssue(List<String> idList){
|
||||||
|
|
||||||
|
List<ProductDeptIssue> collect = idList.stream()
|
||||||
|
.map(id -> {
|
||||||
|
ProductDeptIssue productDeptIssue = new ProductDeptIssue();
|
||||||
|
productDeptIssue.setId(id);
|
||||||
|
productDeptIssue.setIsClose("1");
|
||||||
|
return productDeptIssue;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
return this.updateBatchById(collect);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+32
@@ -0,0 +1,32 @@
|
|||||||
|
<?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.sarStandUnqualified.dao.BusinessDeptIssueDao">
|
||||||
|
|
||||||
|
<resultMap id="BusinessIssuePage" type="com.adc.da.slrs.sarStandUnqualified.entity.BusinessDeptIssue">
|
||||||
|
<result property="id" column="ID"/>
|
||||||
|
<result property="lawId" column="law_id"/>
|
||||||
|
<result property="lawNumber" column="LAWS_NUMBER"/>
|
||||||
|
<result property="lawName" column="LAWS_NAME"/>
|
||||||
|
<result property="productType" column="product_type"/>
|
||||||
|
<result property="implTime" column="impl_time"/>
|
||||||
|
<result property="implRequire" column="impl_require"/>
|
||||||
|
<result property="conformSituation" column="conform_situation"/>
|
||||||
|
<result property="devScheme" column="dev_scheme"/>
|
||||||
|
<result property="sopTime" column="sop_Time"/>
|
||||||
|
<result property="completeSituation" column="complete_situation"/>
|
||||||
|
<result property="timeoutSituation" column="timeout_situation"/>
|
||||||
|
<result property="responseDept" column="response_dept"/>
|
||||||
|
<result property="responsePeople" column="response_people"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
|
||||||
|
<select id="findPage" resultMap="BusinessIssuePage">
|
||||||
|
SELECT
|
||||||
|
issue.*,laws.LAWS_NUMBER,laws.LAWS_NAME
|
||||||
|
FROM
|
||||||
|
business_dept_issue AS issue
|
||||||
|
LEFT JOIN sar_laws_stand_info AS laws
|
||||||
|
ON issue.law_id = laws.ID
|
||||||
|
${ew.customSqlSegment}
|
||||||
|
</select>
|
||||||
|
</mapper>
|
||||||
+32
@@ -0,0 +1,32 @@
|
|||||||
|
<?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.sarStandUnqualified.dao.ProductDeptIssueDao">
|
||||||
|
|
||||||
|
<resultMap id="ProductIssuePage" type="com.adc.da.slrs.sarStandUnqualified.entity.ProductDeptIssue">
|
||||||
|
<result property="id" column="ID"/>
|
||||||
|
<result property="lawId" column="law_id"/>
|
||||||
|
<result property="lawsNumber" column="LAWS_NUMBER"/>
|
||||||
|
<result property="productBusiness" column="product_business"/>
|
||||||
|
<result property="platform" column="platform"/>
|
||||||
|
<result property="pojName" column="poj_name"/>
|
||||||
|
<result property="pojDescription" column="poj_description"/>
|
||||||
|
<result property="currentNode" column="current_node"/>
|
||||||
|
<result property="conceptualState" column="conceptual_state"/>
|
||||||
|
<result property="scheduledIssuanceTime" column="scheduled_issuance_time"/>
|
||||||
|
<result property="revisedPlan" column="revised_plan"/>
|
||||||
|
<result property="explanation" column="explanation"/>
|
||||||
|
<result property="responseDept" column="response_dept"/>
|
||||||
|
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
|
||||||
|
<select id="findPage" resultMap="ProductIssuePage">
|
||||||
|
SELECT
|
||||||
|
issue.*,laws.LAWS_NUMBER,laws.LAWS_NAME
|
||||||
|
FROM
|
||||||
|
product_dept_issue AS issue
|
||||||
|
LEFT JOIN sar_laws_stand_info AS laws
|
||||||
|
ON issue.law_id = laws.ID
|
||||||
|
${ew.customSqlSegment}
|
||||||
|
</select>
|
||||||
|
</mapper>
|
||||||
Reference in New Issue
Block a user