Browse Source

excel 接口

main
maochaoying 2 years ago
parent
commit
5674646820
  1. 28
      src/main/java/com/iflytop/nuclear/controller/TaskController.java
  2. 11
      src/main/java/com/iflytop/nuclear/controller/UploadController.java
  3. 2
      src/main/java/com/iflytop/nuclear/model/NuclearCoreConfig.java
  4. 2
      src/main/java/com/iflytop/nuclear/service/UploadService.java
  5. 14
      src/main/java/com/iflytop/nuclear/service/impl/TaskServiceImpl.java
  6. 5
      src/main/java/com/iflytop/nuclear/service/impl/UploadServiceImpl.java
  7. 2
      src/main/java/com/iflytop/nuclear/vo/TaskVO.java
  8. BIN
      uploadfiles/xlsx/20230630/堆芯模版.xlsx

28
src/main/java/com/iflytop/nuclear/controller/TaskController.java

@ -1,7 +1,11 @@
package com.iflytop.nuclear.controller; package com.iflytop.nuclear.controller;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.iflytop.nuclear.model.Account;
import com.iflytop.nuclear.model.NuclearCoreConfig;
import com.iflytop.nuclear.model.Task; import com.iflytop.nuclear.model.Task;
import com.iflytop.nuclear.service.NuclearCoreConfigService;
import com.iflytop.nuclear.service.TaskService; import com.iflytop.nuclear.service.TaskService;
import com.iflytop.nuclear.utils.JwtTokenUtils; import com.iflytop.nuclear.utils.JwtTokenUtils;
import com.iflytop.nuclear.utils.ResponseData; import com.iflytop.nuclear.utils.ResponseData;
@ -30,6 +34,8 @@ public class TaskController {
@Autowired @Autowired
TaskService taskService; TaskService taskService;
@Autowired @Autowired
NuclearCoreConfigService nuclearCoreConfigService;
@Autowired
HttpServletRequest request; HttpServletRequest request;
@PostMapping("/create") @PostMapping("/create")
@ -42,7 +48,7 @@ public class TaskController {
return ResponseData.success(jsonObject); return ResponseData.success(jsonObject);
} }
@GetMapping("list")
@GetMapping("/list")
public ResponseData getTaskListByUserId() { public ResponseData getTaskListByUserId() {
String token = request.getHeader("Authorization"); String token = request.getHeader("Authorization");
if (token.length() > 0){ if (token.length() > 0){
@ -56,4 +62,24 @@ public class TaskController {
} }
return ResponseData.fail("用户登陆信息错误"); return ResponseData.fail("用户登陆信息错误");
} }
@PostMapping("/delete/{id}")
public ResponseData deleteTask(@PathVariable(name = "id") int id) {
boolean b = taskService.removeById(id);
JSONObject jo = new JSONObject();
jo.put("result", b);
return ResponseData.success(jo);
}
@PostMapping("/delete/excel/{id}")
public ResponseData deleteTaskExcel(@PathVariable(name = "id") int id) {
QueryWrapper<NuclearCoreConfig> nuclearCoreConfigQueryWrapper = new QueryWrapper<>();
nuclearCoreConfigQueryWrapper.eq("task_id", id);
boolean remove = nuclearCoreConfigService.remove(nuclearCoreConfigQueryWrapper);
JSONObject jo = new JSONObject();
jo.put("result", remove);
return ResponseData.success(jo);
}
} }

11
src/main/java/com/iflytop/nuclear/controller/UploadController.java

@ -7,10 +7,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.io.File; import java.io.File;
@ -34,14 +31,14 @@ public class UploadController {
@Autowired @Autowired
UploadService uploadService; UploadService uploadService;
@PostMapping("/upload")
public ResponseData uploadToLocal(MultipartFile file) throws IOException {
@PostMapping("/upload/{id}")
public ResponseData uploadToLocal(MultipartFile file, @PathVariable(name = "id") int taskId) throws IOException {
// 对当前文件中内容格式进行校验 // 对当前文件中内容格式进行校验
boolean isValid = uploadService.verifyFileFormat(file); boolean isValid = uploadService.verifyFileFormat(file);
if (!isValid) { if (!isValid) {
return ResponseData.fail("上传文件内容未按照标准版式排版"); return ResponseData.fail("上传文件内容未按照标准版式排版");
} }
boolean isSuccess = uploadService.saveFileContentToDB(file);
boolean isSuccess = uploadService.saveFileContentToDB(file, taskId);
// 获取文件原本的名字 // 获取文件原本的名字
String originName = file.getOriginalFilename(); String originName = file.getOriginalFilename();
// 判断文件是否是pdf文件 // 判断文件是否是pdf文件

2
src/main/java/com/iflytop/nuclear/model/NuclearCoreConfig.java

@ -22,7 +22,7 @@ public class NuclearCoreConfig {
@TableId @TableId
private Long id; private Long id;
@TableField("task_id") @TableField("task_id")
private Long taskId;
private int taskId;
@TableField("first_sign") @TableField("first_sign")
private String firstSign; private String firstSign;
@TableField("serial_number") @TableField("serial_number")

2
src/main/java/com/iflytop/nuclear/service/UploadService.java

@ -13,5 +13,5 @@ import java.io.IOException;
public interface UploadService { public interface UploadService {
boolean verifyFileFormat(MultipartFile file) throws IOException; boolean verifyFileFormat(MultipartFile file) throws IOException;
boolean saveFileContentToDB(MultipartFile file) throws IOException;
boolean saveFileContentToDB(MultipartFile file, int taskId) throws IOException;
} }

14
src/main/java/com/iflytop/nuclear/service/impl/TaskServiceImpl.java

@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.iflytop.nuclear.mapper.TaskMapper; import com.iflytop.nuclear.mapper.TaskMapper;
import com.iflytop.nuclear.model.Account; import com.iflytop.nuclear.model.Account;
import com.iflytop.nuclear.model.NuclearCoreConfig;
import com.iflytop.nuclear.model.Task; import com.iflytop.nuclear.model.Task;
import com.iflytop.nuclear.service.NuclearCoreConfigService;
import com.iflytop.nuclear.service.TaskService; import com.iflytop.nuclear.service.TaskService;
import com.iflytop.nuclear.vo.TaskVO; import com.iflytop.nuclear.vo.TaskVO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -20,6 +22,9 @@ import java.util.List;
@Service @Service
public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements TaskService { public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements TaskService {
@Autowired
NuclearCoreConfigService nuclearCoreConfigService;
@Override @Override
public List<TaskVO> getTaskInfoByUsername(String username, String user_role) { public List<TaskVO> getTaskInfoByUsername(String username, String user_role) {
List<Task> list = null; List<Task> list = null;
@ -32,6 +37,14 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
} }
List<TaskVO> result= new ArrayList<>(); List<TaskVO> result= new ArrayList<>();
for (Task task: list) { for (Task task: list) {
// 查询该task上传过excel吗
QueryWrapper<NuclearCoreConfig> nuclearCoreConfigQueryWrapper = new QueryWrapper<>();
nuclearCoreConfigQueryWrapper.eq("task_id", task.getId());
List<NuclearCoreConfig> nuclearCoreConfigList = nuclearCoreConfigService.list(nuclearCoreConfigQueryWrapper);
boolean canUpload = true;
if (nuclearCoreConfigList.size() > 0) {
canUpload = false;
}
TaskVO taskVO = TaskVO.builder() TaskVO taskVO = TaskVO.builder()
.taskName(task.getTaskName()) .taskName(task.getTaskName())
.checkOrder(task.getCheckOrder()) .checkOrder(task.getCheckOrder())
@ -42,6 +55,7 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
.operatorName(task.getOperatorId()) .operatorName(task.getOperatorId())
.startTime(task.getStartTime()) .startTime(task.getStartTime())
.endTime(task.getEndTime()) .endTime(task.getEndTime())
.canUpload(canUpload)
.build(); .build();
result.add(taskVO); result.add(taskVO);
} }

5
src/main/java/com/iflytop/nuclear/service/impl/UploadServiceImpl.java

@ -49,7 +49,7 @@ public class UploadServiceImpl implements UploadService {
} }
@Override @Override
public boolean saveFileContentToDB(MultipartFile file) throws IOException {
public boolean saveFileContentToDB(MultipartFile file, int taskId) throws IOException {
InputStream inputStream = file.getInputStream(); InputStream inputStream = file.getInputStream();
Workbook wb = new XSSFWorkbook(inputStream); Workbook wb = new XSSFWorkbook(inputStream);
Sheet sheet = wb.getSheetAt(0); Sheet sheet = wb.getSheetAt(0);
@ -90,12 +90,11 @@ public class UploadServiceImpl implements UploadService {
String serialNumber = startIndex + "-" + (j + 1) ; String serialNumber = startIndex + "-" + (j + 1) ;
// 创建存储数据库对象list // 创建存储数据库对象list
// 临时taskid // 临时taskid
Long taskid = 1L;
NuclearCoreConfig nuclearCoreConfig = NuclearCoreConfig.builder() NuclearCoreConfig nuclearCoreConfig = NuclearCoreConfig.builder()
.percent(s2) .percent(s2)
.firstSign(s1) .firstSign(s1)
.secondSign(s3) .secondSign(s3)
.taskId(taskid)
.taskId(taskId)
.serialNumber(serialNumber) .serialNumber(serialNumber)
.build(); .build();
nuclearCoreConfigArrayList.add(nuclearCoreConfig); nuclearCoreConfigArrayList.add(nuclearCoreConfig);

2
src/main/java/com/iflytop/nuclear/vo/TaskVO.java

@ -35,5 +35,7 @@ public class TaskVO {
private Date startTime; private Date startTime;
private boolean canUpload;
private Date endTime; private Date endTime;
} }

BIN
uploadfiles/xlsx/20230630/堆芯模版.xlsx

Loading…
Cancel
Save