package org.springblade.mdm.flow.controller;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Parameter;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
import jakarta.servlet.http.HttpServletResponse;
|
import lombok.extern.slf4j.Slf4j;
|
import org.flowable.engine.HistoryService;
|
import org.flowable.engine.TaskService;
|
import org.flowable.engine.task.Comment;
|
import org.flowable.task.api.history.HistoricTaskInstance;
|
import org.springblade.core.excel.util.ExcelUtil;
|
import org.springblade.core.mp.support.Condition;
|
import org.springblade.core.mp.support.Query;
|
import org.springblade.core.oss.model.BladeFile;
|
import org.springblade.core.oss.model.OssFile;
|
import org.springblade.core.tool.api.R;
|
import org.springblade.core.tool.utils.DateUtil;
|
import org.springblade.core.tool.utils.Func;
|
import org.springblade.core.tool.utils.UrlUtil;
|
import org.springblade.mdm.commons.service.OssFileCommonService;
|
import org.springblade.mdm.flow.excel.TaskAssignExcel;
|
import org.springblade.mdm.flow.service.*;
|
import org.springblade.mdm.flow.vo.FlowVO;
|
import org.springblade.mdm.flow.vo.OvertimeTaskExcelVO;
|
import org.springblade.mdm.flow.vo.TaskTraceVO;
|
import org.springblade.system.feign.IUserClient;
|
import org.springblade.system.pojo.entity.User;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.web.bind.annotation.GetMapping;
|
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.multipart.MultipartFile;
|
|
import java.io.IOException;
|
import java.time.LocalDate;
|
import java.time.LocalDateTime;
|
import java.util.ArrayList;
|
import java.util.Collections;
|
import java.util.List;
|
|
@Slf4j
|
@RestController
|
@RequestMapping("/flow/mgr")
|
@Tag(name = "流程管理", description = "流程管理")
|
public class TaskImportController {
|
|
@Autowired
|
private OssFileCommonService ossFileCommonService;
|
@Autowired
|
private TaskImportService taskImportService;
|
|
@PostMapping("/import-task")
|
@Operation(summary = "导入任务", description = "excel导入任务")
|
public R<BladeFile> importTask(MultipartFile file) {
|
try {
|
List<TaskAssignExcel> importTaskList = ExcelUtil.read(file, TaskAssignExcel.class);
|
if(importTaskList.isEmpty()){
|
return R.fail("数据为空");
|
}
|
BladeFile resultFile = taskImportService.importTask(importTaskList,file.getOriginalFilename());
|
return R.data(resultFile);
|
}catch(Exception e) {
|
log.error("导入异常", e);
|
return R.fail(e.getMessage());
|
}
|
}
|
@GetMapping("/download-import-result")
|
@Operation(summary = "任务导入结果下载", description = "任务导入结果下载")
|
public void downloadImportResult(String name,String originalName,HttpServletResponse response) throws IOException {
|
ossFileCommonService.download(name,originalName,response);
|
}
|
|
|
@GetMapping("/download-task-template")
|
@Operation(summary = "任务模板下载", description = "任务模板下载")
|
public void downloadTaskTemplate(HttpServletResponse response) {
|
ExcelUtil.export(response,"计划任务导入模板", "任务派工",Collections.emptyList(),TaskAssignExcel.class);
|
|
}
|
}
|