diff --git a/src/main/java/com/iflytop/nuclear/controller/TaskController.java b/src/main/java/com/iflytop/nuclear/controller/TaskController.java index 0cd11e8..bdbd0ce 100644 --- a/src/main/java/com/iflytop/nuclear/controller/TaskController.java +++ b/src/main/java/com/iflytop/nuclear/controller/TaskController.java @@ -1,7 +1,11 @@ package com.iflytop.nuclear.controller; 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.service.NuclearCoreConfigService; import com.iflytop.nuclear.service.TaskService; import com.iflytop.nuclear.utils.JwtTokenUtils; import com.iflytop.nuclear.utils.ResponseData; @@ -30,6 +34,8 @@ public class TaskController { @Autowired TaskService taskService; @Autowired + NuclearCoreConfigService nuclearCoreConfigService; + @Autowired HttpServletRequest request; @PostMapping("/create") @@ -42,7 +48,7 @@ public class TaskController { return ResponseData.success(jsonObject); } - @GetMapping("list") + @GetMapping("/list") public ResponseData getTaskListByUserId() { String token = request.getHeader("Authorization"); if (token.length() > 0){ @@ -56,4 +62,24 @@ public class TaskController { } 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 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); + } + + } diff --git a/src/main/java/com/iflytop/nuclear/controller/UploadController.java b/src/main/java/com/iflytop/nuclear/controller/UploadController.java index 122b73c..322f5fd 100644 --- a/src/main/java/com/iflytop/nuclear/controller/UploadController.java +++ b/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.security.access.prepost.PreAuthorize; 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 java.io.File; @@ -34,14 +31,14 @@ public class UploadController { @Autowired 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); if (!isValid) { return ResponseData.fail("上传文件内容未按照标准版式排版"); } - boolean isSuccess = uploadService.saveFileContentToDB(file); + boolean isSuccess = uploadService.saveFileContentToDB(file, taskId); // 获取文件原本的名字 String originName = file.getOriginalFilename(); // 判断文件是否是pdf文件 diff --git a/src/main/java/com/iflytop/nuclear/model/NuclearCoreConfig.java b/src/main/java/com/iflytop/nuclear/model/NuclearCoreConfig.java index 29a5db6..eeaa194 100644 --- a/src/main/java/com/iflytop/nuclear/model/NuclearCoreConfig.java +++ b/src/main/java/com/iflytop/nuclear/model/NuclearCoreConfig.java @@ -22,7 +22,7 @@ public class NuclearCoreConfig { @TableId private Long id; @TableField("task_id") - private Long taskId; + private int taskId; @TableField("first_sign") private String firstSign; @TableField("serial_number") diff --git a/src/main/java/com/iflytop/nuclear/service/UploadService.java b/src/main/java/com/iflytop/nuclear/service/UploadService.java index 55333f2..b2af372 100644 --- a/src/main/java/com/iflytop/nuclear/service/UploadService.java +++ b/src/main/java/com/iflytop/nuclear/service/UploadService.java @@ -13,5 +13,5 @@ import java.io.IOException; public interface UploadService { boolean verifyFileFormat(MultipartFile file) throws IOException; - boolean saveFileContentToDB(MultipartFile file) throws IOException; + boolean saveFileContentToDB(MultipartFile file, int taskId) throws IOException; } diff --git a/src/main/java/com/iflytop/nuclear/service/impl/TaskServiceImpl.java b/src/main/java/com/iflytop/nuclear/service/impl/TaskServiceImpl.java index 7e5856e..5d2dfb7 100644 --- a/src/main/java/com/iflytop/nuclear/service/impl/TaskServiceImpl.java +++ b/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.iflytop.nuclear.mapper.TaskMapper; import com.iflytop.nuclear.model.Account; +import com.iflytop.nuclear.model.NuclearCoreConfig; import com.iflytop.nuclear.model.Task; +import com.iflytop.nuclear.service.NuclearCoreConfigService; import com.iflytop.nuclear.service.TaskService; import com.iflytop.nuclear.vo.TaskVO; import org.springframework.beans.factory.annotation.Autowired; @@ -20,6 +22,9 @@ import java.util.List; @Service public class TaskServiceImpl extends ServiceImpl implements TaskService { + @Autowired + NuclearCoreConfigService nuclearCoreConfigService; + @Override public List getTaskInfoByUsername(String username, String user_role) { List list = null; @@ -32,6 +37,14 @@ public class TaskServiceImpl extends ServiceImpl implements Ta } List result= new ArrayList<>(); for (Task task: list) { + // 查询该task上传过excel吗 + QueryWrapper nuclearCoreConfigQueryWrapper = new QueryWrapper<>(); + nuclearCoreConfigQueryWrapper.eq("task_id", task.getId()); + List nuclearCoreConfigList = nuclearCoreConfigService.list(nuclearCoreConfigQueryWrapper); + boolean canUpload = true; + if (nuclearCoreConfigList.size() > 0) { + canUpload = false; + } TaskVO taskVO = TaskVO.builder() .taskName(task.getTaskName()) .checkOrder(task.getCheckOrder()) @@ -42,6 +55,7 @@ public class TaskServiceImpl extends ServiceImpl implements Ta .operatorName(task.getOperatorId()) .startTime(task.getStartTime()) .endTime(task.getEndTime()) + .canUpload(canUpload) .build(); result.add(taskVO); } diff --git a/src/main/java/com/iflytop/nuclear/service/impl/UploadServiceImpl.java b/src/main/java/com/iflytop/nuclear/service/impl/UploadServiceImpl.java index b2910f3..88578b1 100644 --- a/src/main/java/com/iflytop/nuclear/service/impl/UploadServiceImpl.java +++ b/src/main/java/com/iflytop/nuclear/service/impl/UploadServiceImpl.java @@ -49,7 +49,7 @@ public class UploadServiceImpl implements UploadService { } @Override - public boolean saveFileContentToDB(MultipartFile file) throws IOException { + public boolean saveFileContentToDB(MultipartFile file, int taskId) throws IOException { InputStream inputStream = file.getInputStream(); Workbook wb = new XSSFWorkbook(inputStream); Sheet sheet = wb.getSheetAt(0); @@ -90,12 +90,11 @@ public class UploadServiceImpl implements UploadService { String serialNumber = startIndex + "-" + (j + 1) ; // 创建存储数据库对象list // 临时taskid - Long taskid = 1L; NuclearCoreConfig nuclearCoreConfig = NuclearCoreConfig.builder() .percent(s2) .firstSign(s1) .secondSign(s3) - .taskId(taskid) + .taskId(taskId) .serialNumber(serialNumber) .build(); nuclearCoreConfigArrayList.add(nuclearCoreConfig); diff --git a/src/main/java/com/iflytop/nuclear/vo/TaskVO.java b/src/main/java/com/iflytop/nuclear/vo/TaskVO.java index 2fbf056..f941c2f 100644 --- a/src/main/java/com/iflytop/nuclear/vo/TaskVO.java +++ b/src/main/java/com/iflytop/nuclear/vo/TaskVO.java @@ -35,5 +35,7 @@ public class TaskVO { private Date startTime; + private boolean canUpload; + private Date endTime; } diff --git a/uploadfiles/xlsx/20230630/堆芯模版.xlsx b/uploadfiles/xlsx/20230630/堆芯模版.xlsx new file mode 100644 index 0000000..0bebed0 Binary files /dev/null and b/uploadfiles/xlsx/20230630/堆芯模版.xlsx differ