package cn.cslg.pas.controller; import cn.cslg.pas.common.core.base.Constants; import cn.cslg.pas.common.dto.business.*; import cn.cslg.pas.common.model.cronModel.Records; import cn.cslg.pas.common.model.request.StringRequest; import cn.cslg.pas.common.utils.Response; import cn.cslg.pas.common.vo.business.AssoTaskFileVO; import cn.cslg.pas.common.vo.business.TaskDetailsVO; import cn.cslg.pas.factorys.businessFactory.Business; import cn.cslg.pas.factorys.businessFactory.BusinessFactory; import cn.cslg.pas.service.business.AssoTaskFileService; import cn.cslg.pas.service.business.ProjectTaskService; import cn.cslg.pas.service.business.TaskHandleResultService; import io.swagger.v3.oas.annotations.Operation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.io.IOException; import java.util.List; /** * 项目任务的Controller层 * @Author xiexiang * @Date 2023/11/22 */ @Slf4j @RequestMapping(Constants.API_XiaoSHI + "/projectTask") @RestController public class ProjectTaskController { @Autowired private BusinessFactory businessFactory; @Autowired private ProjectTaskService projectTaskService; @Autowired private TaskHandleResultService taskHandleResultService; @Autowired private AssoTaskFileService assoTaskFileService; @Operation(summary = "添加项目开卷审核任务") @PostMapping("/addProjectOpenAuditTask") public Response addProjectOpenAuditTask(@RequestBody PatentDigProjectTaskDTO patentDigProjectTaskDTO) throws Exception { Integer id = (Integer) projectTaskService.addProjectOpenAuditTask(patentDigProjectTaskDTO); return Response.success(id); } @Operation(summary = "添加任务") @PostMapping("/addTask") public Response addTask(@RequestBody ProjectTaskDTO projectTaskDTO) throws Exception { Integer id = projectTaskService.addTask(projectTaskDTO); return Response.success(id); } @Operation(summary = "添加任务处理结果") @PostMapping("/addTaskAuditResult") public Response addTaskAuditResult(@RequestBody TaskAuditResultDTO taskAuditResultDTO) throws Exception { Integer id = taskHandleResultService.addTaskAuditResult(taskAuditResultDTO); return Response.success(id); } @Operation(summary = "查询任务") @PostMapping("/queryProjectTask") public Response queryProjectTask(@RequestBody StringRequest stringRequest) throws Exception { Business business = businessFactory.getClass("projectTaskService"); Records records = (Records) business.queryMessage(stringRequest); return Response.success(records); } @Operation(summary = "查询审核历史") @GetMapping("/queryAuditHistory") public Response queryAuditHistory(Integer taskId) throws IOException { //查询审核历史就是根据taskId,查询所有关联任务的信息 TaskDetailsVO taskDetailsVO = projectTaskService.queryAuditHistory(taskId); return Response.success(taskDetailsVO); } @Operation(summary = "删除任务") @PostMapping("/deleteProjectTask") public String deleteProjectTask(@RequestBody List ids) throws IOException { Business business = businessFactory.getClass("projectTaskService"); business.deleteMessage(ids); return Response.success(); } @Operation(summary = "查询任务与附件关联") @PostMapping("/getAssoTaskFile") public Response getAssoTaskFile(@RequestBody GetAssoTaskFileDTO getAssoTaskFileDTO) throws IOException { List assoTaskFileVOS = assoTaskFileService.getAssoTaskFile(getAssoTaskFileDTO.getTaskId()); return Response.success(assoTaskFileVOS); } @Operation(summary = "删除任务与附件关联") @PostMapping("/deleteAssoTaskFile") public String deleteAssoTaskFile(@RequestBody List ids){ assoTaskFileService.deleteAssoTaskFile(ids); return Response.success(); } }