FTOController.java 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. package cn.cslg.pas.controller;
  2. import cn.cslg.pas.common.core.base.Constants;
  3. import cn.cslg.pas.common.dto.ComparedPatentVO;
  4. import cn.cslg.pas.common.dto.business.GetFeatureSplitDTO;
  5. import cn.cslg.pas.common.dto.business.ProductMessageDTO;
  6. import cn.cslg.pas.common.dto.business.TortCompareRecordDTO;
  7. import cn.cslg.pas.common.dto.business.TortTaskDTO;
  8. import cn.cslg.pas.common.model.cronModel.Records;
  9. import cn.cslg.pas.common.utils.Response;
  10. import cn.cslg.pas.common.vo.business.ProductMessageVO;
  11. import cn.cslg.pas.common.vo.business.TortCompareRecordVO;
  12. import cn.cslg.pas.exception.ConditionException;
  13. import cn.cslg.pas.exception.UnLoginException;
  14. import cn.cslg.pas.exception.XiaoShiException;
  15. import cn.cslg.pas.service.business.FTOCompareRecordService;
  16. import cn.cslg.pas.service.business.ProductMessageService;
  17. import cn.cslg.pas.service.business.ProjectTaskService;
  18. import cn.cslg.pas.service.business.TortCompareRecordService;
  19. import io.swagger.v3.oas.annotations.Operation;
  20. import lombok.extern.slf4j.Slf4j;
  21. import org.springframework.beans.factory.annotation.Autowired;
  22. import org.springframework.web.bind.annotation.*;
  23. import java.util.ArrayList;
  24. import java.util.List;
  25. /**
  26. * FTOTort
  27. *
  28. * @Author xiexiang
  29. * @Date 2023/12/8
  30. */
  31. @Slf4j
  32. @RequestMapping(Constants.API_XiaoSHI + "/fto")
  33. @RestController
  34. public class FTOController {
  35. @Autowired
  36. private FTOCompareRecordService ftoCompareRecordService;
  37. @Autowired
  38. private ProjectTaskService projectTaskService;
  39. @Operation(summary = "查询某个任务下的某件专利的对比结果(包含拆分特征)")
  40. @PostMapping("/getFTOCompareRecord")
  41. public Response getFTOCompareRecord(@RequestBody GetFeatureSplitDTO getFeatureSplitDTO) throws Exception {
  42. TortCompareRecordVO tortCompareRecordVO = ftoCompareRecordService.getTortCompareRecord(getFeatureSplitDTO);
  43. return Response.success(tortCompareRecordVO);
  44. }
  45. @Operation(summary = "保存FTO对比结果")
  46. @PostMapping("/addFTOCompareRecord")
  47. public Response addFTOCompareRecord(@RequestBody TortCompareRecordDTO tortCompareRecordDTO) {
  48. if (tortCompareRecordDTO != null) {
  49. List<Integer> ids = new ArrayList<>();
  50. try {
  51. ids = ftoCompareRecordService.addFTOCompareRecord(tortCompareRecordDTO);
  52. } catch (Exception e) {
  53. if (e instanceof XiaoShiException) {
  54. return Response.error(e.getMessage());
  55. } else if (e instanceof UnLoginException) {
  56. return Response.unLogin(e.getMessage());
  57. } else if (e instanceof ConditionException) {
  58. return Response.conditionError(e.getMessage());
  59. }
  60. }
  61. Records records = new Records();
  62. records.setData(ids);
  63. return Response.success(records);
  64. } else {
  65. return Response.error("入参为null");
  66. }
  67. }
  68. @Operation(summary = "添加FTO协同任务")
  69. @PostMapping("/addFTOAssitTask")
  70. public Response addFTOAssitTask(@RequestBody TortTaskDTO tortTaskDTO) {
  71. Integer id = projectTaskService.addFTOAssitTask(tortTaskDTO);
  72. Records records = new Records();
  73. records.setData(id);
  74. return Response.success(records);
  75. }
  76. @Operation(summary = "保存FTO协同任务对比结果")
  77. @PostMapping("/addFTOAssitTaskResult")
  78. public Response addFTOAssitTaskResult(@RequestBody TortCompareRecordDTO tortCompareRecordDTO) {
  79. List<Integer> ids = ftoCompareRecordService.addFTOAssitTaskResult(tortCompareRecordDTO);
  80. Records records = new Records();
  81. records.setData(ids);
  82. return Response.success(records);
  83. }
  84. @Operation(summary = "查询fto协同前后对比结果")
  85. @GetMapping("/getFTOAssitResult")
  86. public Response getFTOAssitResult(String patentNo, Integer taskId) {
  87. Integer type = 1;
  88. TortCompareRecordVO tortCompareRecordVO = ftoCompareRecordService.getFTOAssitResult(patentNo, taskId, type);
  89. return Response.success(tortCompareRecordVO);
  90. }
  91. @Operation(summary = "保存最终对比结果")
  92. @PostMapping("/addFinalAssitResult")
  93. public Response addFinalAssitResult(@RequestBody TortCompareRecordDTO tortCompareRecordDTO) {
  94. List<Integer> ids = ftoCompareRecordService.addFinalAssitResult(tortCompareRecordDTO);
  95. Records records = new Records();
  96. records.setData(ids);
  97. return Response.success(records);
  98. }
  99. @Operation(summary = "查询最终结果")
  100. @GetMapping("/getFTOFinalResult")
  101. public Response getFTOFinalResult(String patentNo, Integer taskId) {
  102. Integer type = 2;
  103. TortCompareRecordVO tortCompareRecordVO = ftoCompareRecordService.getFTOAssitResult(patentNo, taskId, type);
  104. return Response.success(tortCompareRecordVO);
  105. }
  106. @Operation(summary = "查询报告专利最新对比结果")
  107. @GetMapping("/getLastRecord")
  108. public Response getLastRecord(Integer projectId, String patentNo) {
  109. ftoCompareRecordService.getLastRecord(projectId, patentNo);
  110. return null;
  111. }
  112. @Operation(summary = "查询报告专利最新对比结果")
  113. @GetMapping("/getComparedPatent")
  114. public Response getComparedPatent(Integer projectId,Integer compareResult) {
  115. List<ComparedPatentVO> comparedPatentVOS = ftoCompareRecordService.getComparedPatent(projectId,compareResult);
  116. Records records = new Records();
  117. records.setData(comparedPatentVOS);
  118. return Response.success(records);
  119. }
  120. }