QualityTaskController.java 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466
  1. package edp.davinci.controller;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.alibaba.fastjson.JSONObject;
  4. import edp.core.annotation.CurrentUser;
  5. import edp.core.exception.ServerException;
  6. import edp.davinci.common.controller.BaseController;
  7. import edp.davinci.core.common.Constants;
  8. import edp.davinci.core.common.ResultMap;
  9. import edp.davinci.core.enums.CronJobStatusEnum;
  10. import edp.davinci.dto.cronJobDto.CronJobBaseInfo;
  11. import edp.davinci.dto.cronJobDto.CronJobInfo;
  12. import edp.davinci.dto.qualityAuditor.QualityAuditorDto;
  13. import edp.davinci.dto.qualityAuditor.QualityTaskDto;
  14. import edp.davinci.dto.sourceDto.SourceDetail;
  15. import edp.davinci.dto.viewDto.ViewBaseInfo;
  16. import edp.davinci.model.CronJob;
  17. import edp.davinci.model.QualityAuditor;
  18. import edp.davinci.model.QualityTask;
  19. import edp.davinci.model.User;
  20. import edp.davinci.service.*;
  21. import io.jsonwebtoken.lang.Collections;
  22. import io.swagger.annotations.Api;
  23. import io.swagger.annotations.ApiOperation;
  24. import io.swagger.annotations.ApiResponse;
  25. import io.swagger.annotations.ApiResponses;
  26. import lombok.extern.slf4j.Slf4j;
  27. import org.springframework.beans.BeanUtils;
  28. import org.springframework.beans.factory.annotation.Autowired;
  29. import org.springframework.format.annotation.DateTimeFormat;
  30. import org.springframework.http.MediaType;
  31. import org.springframework.http.ResponseEntity;
  32. import org.springframework.util.StringUtils;
  33. import org.springframework.validation.BindingResult;
  34. import org.springframework.web.bind.annotation.*;
  35. import springfox.documentation.annotations.ApiIgnore;
  36. import javax.servlet.http.HttpServletRequest;
  37. import javax.validation.Valid;
  38. import java.text.DecimalFormat;
  39. import java.util.*;
  40. import java.util.stream.Collectors;
  41. @Api(value = "/qualityTask", tags = "qualityTask", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
  42. @ApiResponses(@ApiResponse(code = 404, message = "qualityTask not found"))
  43. @Slf4j
  44. @RestController
  45. @RequestMapping(value = Constants.BASE_API_PATH + "/qualityTask", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
  46. public class QualityTaskController extends BaseController {
  47. @Autowired
  48. private QualityTaskService qualityTaskService;
  49. @Autowired
  50. private QualityAuditorService qualityAuditorService;
  51. @Autowired
  52. private CronJobService cronJobService;
  53. @Autowired
  54. private ViewService viewService;
  55. @Autowired
  56. private SourceService sourceService;
  57. /**
  58. * 获取 质量任务
  59. *
  60. * @param user
  61. * @param request
  62. * @return
  63. */
  64. @ApiOperation(value = "get qualityTask")
  65. @GetMapping(value = "/getQualityTask")
  66. public ResponseEntity getQualityTask(@ApiIgnore @CurrentUser User user,
  67. HttpServletRequest request) {
  68. List<QualityTask> qualityTasks = qualityTaskService.getQualityTask();
  69. dualQualityTasks(qualityTasks);
  70. return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request).payloads(qualityTasks));
  71. }
  72. /**
  73. * 获取 质量任务
  74. *
  75. * @param user
  76. * @param request
  77. * @return
  78. */
  79. @ApiOperation(value = "get qualityTask")
  80. @GetMapping(value = "/getQualityTaskByPid")
  81. public ResponseEntity getQualityTask(@ApiIgnore @CurrentUser User user,
  82. @RequestParam(required = false) Long pId,
  83. HttpServletRequest request) {
  84. List<QualityTask> qualityTasks = qualityTaskService.getQualityTaskByPid(pId);
  85. dualQualityTasks(qualityTasks);
  86. return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request).payloads(qualityTasks));
  87. }
  88. private void dualQualityTasks(List<QualityTask> qualityTasks) {
  89. if (!Collections.isEmpty(qualityTasks)) {
  90. for (QualityTask qualityTask : qualityTasks) {
  91. if (!StringUtils.isEmpty(qualityTask.getMetadataConfig())) {
  92. JSONArray jsonArray = JSONArray.parseArray(qualityTask.getMetadataConfig());
  93. qualityTask.setAuditorCount(jsonArray.size());
  94. }
  95. }
  96. }
  97. }
  98. /**
  99. * 增加 质量任务
  100. *
  101. * @param qualityTask
  102. * @param bindingResult
  103. * @param user
  104. * @param request
  105. * @return
  106. */
  107. @ApiOperation(value = "create qualityTask")
  108. @PostMapping(value = "/createQualityTask", consumes = MediaType.APPLICATION_JSON_VALUE)
  109. public ResponseEntity createQualityTask(@Valid @RequestBody QualityTask qualityTask,
  110. @ApiIgnore BindingResult bindingResult,
  111. @ApiIgnore @CurrentUser User user,
  112. HttpServletRequest request) {
  113. if (bindingResult.hasErrors()) {
  114. ResultMap resultMap = new ResultMap(tokenUtils).failAndRefreshToken(request).message(bindingResult.getFieldErrors().get(0).getDefaultMessage());
  115. return ResponseEntity.status(resultMap.getCode()).body(resultMap);
  116. }
  117. qualityTask = qualityTaskService.createQualityTask(qualityTask);
  118. return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request).payload(qualityTask));
  119. }
  120. /**
  121. * 修改 qualityTask
  122. *
  123. * @param id
  124. * @param qualityTask
  125. * @param bindingResult
  126. * @param user
  127. * @param request
  128. * @return
  129. */
  130. @ApiOperation(value = "update qualityTask")
  131. @PutMapping(value = "/updateQualityTask/{id}", consumes = MediaType.APPLICATION_JSON_VALUE)
  132. public ResponseEntity updateQualityTask(@PathVariable Long id,
  133. @Valid @RequestBody QualityTask qualityTask,
  134. @ApiIgnore BindingResult bindingResult,
  135. @ApiIgnore @CurrentUser User user,
  136. HttpServletRequest request) {
  137. if (invalidId(id) || !id.equals(qualityTask.getId())) {
  138. ResultMap resultMap = new ResultMap(tokenUtils).failAndRefreshToken(request).message("Invalid dataSubject id");
  139. return ResponseEntity.status(resultMap.getCode()).body(resultMap);
  140. }
  141. if (bindingResult.hasErrors()) {
  142. ResultMap resultMap = new ResultMap(tokenUtils).failAndRefreshToken(request).message(bindingResult.getFieldErrors().get(0).getDefaultMessage());
  143. return ResponseEntity.status(resultMap.getCode()).body(resultMap);
  144. }
  145. qualityTaskService.updateQualityTask(qualityTask);
  146. return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request));
  147. }
  148. /**
  149. * 删除 qualityTask
  150. *
  151. * @param id
  152. * @param user
  153. * @param request
  154. * @return
  155. */
  156. @ApiOperation(value = "delete qualityTask")
  157. @DeleteMapping("/deleteQualityTask/{id}")
  158. public ResponseEntity deleteQualityTask(@PathVariable Long id,
  159. @ApiIgnore @CurrentUser User user,
  160. HttpServletRequest request) {
  161. if (invalidId(id)) {
  162. ResultMap resultMap = new ResultMap(tokenUtils).failAndRefreshToken(request).message("Invalid dataSubject id");
  163. return ResponseEntity.status(resultMap.getCode()).body(resultMap);
  164. }
  165. QualityTask qualityTask = qualityTaskService.getQualityTask(id);
  166. qualityTaskService.deleteQualityTask(id);
  167. cronJobService.stopCronJob(qualityTask.getCronJobId(),user);
  168. cronJobService.deleteCronJob(qualityTask.getCronJobId(),user);
  169. return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request));
  170. }
  171. /**
  172. * 立即稽核
  173. *
  174. * @param id
  175. * @param request
  176. * @return
  177. */
  178. @ApiOperation(value = "auditor")
  179. @GetMapping(value = "/auditor/{id}")
  180. public ResponseEntity auditor(@PathVariable Long id, HttpServletRequest request) {
  181. // 执行任务
  182. qualityTaskService.auditor(id);
  183. return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request));
  184. }
  185. /**
  186. * 设置调度
  187. *
  188. * @param cronJob
  189. * @param request
  190. * @return
  191. */
  192. @ApiOperation(value = "setDispatch")
  193. @PutMapping(value = "/setDispatch/{id}", consumes = MediaType.APPLICATION_JSON_VALUE)
  194. public ResponseEntity setDispatch(@PathVariable Long id, @RequestBody CronJobInfo cronJob, @ApiIgnore BindingResult bindingResult, @ApiIgnore @CurrentUser User user, HttpServletRequest request) {
  195. // 1. 保存任务
  196. if (bindingResult.hasErrors()) {
  197. ResultMap resultMap = new ResultMap(tokenUtils).failAndRefreshToken(request).message(bindingResult.getFieldErrors().get(0).getDefaultMessage());
  198. return ResponseEntity.status(resultMap.getCode()).body(resultMap);
  199. }
  200. QualityTask qualityTask = qualityTaskService.getQualityTask(id);
  201. // 2. 判断任务状态
  202. if (null != qualityTask) {
  203. if (!StringUtils.isEmpty(qualityTask.getCronJobId())) {
  204. CronJob cronJob1 = cronJobService.getCronJob(qualityTask.getCronJobId(), user);
  205. if (null != cronJob1) {
  206. // 停止
  207. cronJobService.stopCronJob(cronJob1.getId(), user);
  208. // 删掉任务
  209. cronJobService.deleteCronJob(cronJob1.getId(), user);
  210. }
  211. }
  212. }
  213. // 3. 创建任务
  214. cronJob.setName("质量稽核任务-"+ new Random().nextInt());
  215. cronJob.setConfig("{}");
  216. cronJob.setDescription("质量稽核任务");
  217. CronJobInfo jobInfo = cronJobService.createCronJob(cronJob, user);
  218. // 4. 执行
  219. try {
  220. CronJob cronJobStart = cronJobService.startCronJob(jobInfo.getId(), user);
  221. }catch (Exception e)
  222. {
  223. log.info("定时任务启动失败"+ jobInfo.getCronExpression());
  224. cronJobService.deleteCronJob(jobInfo.getId(),user);
  225. throw new ServerException("定时任务启动失败"+ jobInfo.getCronExpression());
  226. }
  227. // 5. 更新定时规则id到任务中
  228. qualityTask.setCronJobId(jobInfo.getId());
  229. qualityTaskService.updateQualityTask(qualityTask);
  230. return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request));
  231. }
  232. /**
  233. * 获取调度
  234. *
  235. * @param
  236. * @param request
  237. * @return
  238. */
  239. @ApiOperation(value = "getDispatch")
  240. @GetMapping(value = "/getDispatch/{id}", consumes = MediaType.APPLICATION_JSON_VALUE)
  241. public ResponseEntity getDispatch(@PathVariable Long id, @ApiIgnore @CurrentUser User user, HttpServletRequest request) {
  242. // if (bindingResult.hasErrors()) {
  243. // ResultMap resultMap = new ResultMap(tokenUtils).failAndRefreshToken(request).message(bindingResult.getFieldErrors().get(0).getDefaultMessage());
  244. // return ResponseEntity.status(resultMap.getCode()).body(resultMap);
  245. // }
  246. QualityTask qualityTask = qualityTaskService.getQualityTask(id);
  247. CronJob cronJob = null;
  248. if (null != qualityTask) {
  249. cronJob = cronJobService.getCronJob(qualityTask.getCronJobId(),user);
  250. }
  251. return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request).payload(cronJob));
  252. }
  253. /**
  254. * 质量报告
  255. *
  256. * @param user
  257. * @param request
  258. * @return
  259. */
  260. @ApiOperation(value = "get qualityReport")
  261. @GetMapping(value = "/qualityReport")
  262. public ResponseEntity qualityReport(@RequestParam(value = "systemId", required = true) Long systemId, @RequestParam(value = "starTime", required = true) String starTime, @RequestParam(value = "endTime", required = true) String endTime, @ApiIgnore @CurrentUser User user,
  263. HttpServletRequest request) {
  264. // 查询
  265. List<QualityTaskDto> qualityTasks = qualityTaskService.getQualityTaskListCondition(systemId, null);
  266. List<QualityTaskDto> resultTask = new ArrayList<>();
  267. for (QualityTaskDto qualityTaskDto : qualityTasks) {
  268. List<QualityAuditor> qualityAuditorList = qualityAuditorService.getQualityAuditorListByTaskId(qualityTaskDto.getId(), starTime, endTime);
  269. if (null == qualityAuditorList || qualityAuditorList.size() == 0) {
  270. continue;
  271. }
  272. DecimalFormat df = new DecimalFormat("0.00");//格式化小数
  273. // 完整性
  274. double averagingIntegrityCorrect = qualityAuditorList.stream().collect(Collectors.averagingInt(QualityAuditor::getIntegrityCorrect));
  275. double averagingIntegrityError = qualityAuditorList.stream().collect(Collectors.averagingInt(QualityAuditor::getIntegrityError));
  276. qualityTaskDto.setIntegrityCorrect(averagingIntegrityCorrect);
  277. qualityTaskDto.setIntegrityError(averagingIntegrityError);
  278. if ((averagingIntegrityCorrect + averagingIntegrityError) == 0) {
  279. qualityTaskDto.setIntegrityCorrectProbability("0%");
  280. qualityTaskDto.setIntegrityErrorProbability("0%");
  281. } else {
  282. qualityTaskDto.setIntegrityCorrectProbability(df.format((float) averagingIntegrityCorrect / (averagingIntegrityCorrect + averagingIntegrityError) * 100 )+ "%");
  283. qualityTaskDto.setIntegrityErrorProbability(df.format((float) averagingIntegrityError / (averagingIntegrityCorrect + averagingIntegrityError)* 100 )+ "%");
  284. }
  285. // 一致性
  286. double averagingUniformityCorrect = qualityAuditorList.stream().collect(Collectors.averagingInt(QualityAuditor::getUniformityCorrect));
  287. double averagingUniformityError = qualityAuditorList.stream().collect(Collectors.averagingInt(QualityAuditor::getUniformityError));
  288. qualityTaskDto.setUniformityCorrect(averagingUniformityCorrect);
  289. qualityTaskDto.setUniformityError(averagingUniformityError);
  290. if ((averagingUniformityCorrect + averagingUniformityError) == 0) {
  291. qualityTaskDto.setUniformityCorrectProbability("0%");
  292. qualityTaskDto.setUniformityErrorProbability("0%");
  293. } else {
  294. qualityTaskDto.setUniformityCorrectProbability(df.format((float) averagingUniformityCorrect / (averagingUniformityCorrect + averagingUniformityError)* 100 )+ "%");
  295. qualityTaskDto.setUniformityErrorProbability(df.format((float) averagingUniformityError / (averagingUniformityCorrect + averagingUniformityError)* 100 )+ "%");
  296. }
  297. // 规范性
  298. double averagingNormativeCorrect = qualityAuditorList.stream().collect(Collectors.averagingInt(QualityAuditor::getNormativeCorrect));
  299. double averagingNormativeError = qualityAuditorList.stream().collect(Collectors.averagingInt(QualityAuditor::getNormativeError));
  300. qualityTaskDto.setNormativeCorrect(averagingNormativeCorrect);
  301. qualityTaskDto.setNormativeError(averagingNormativeError);
  302. if ((averagingNormativeCorrect + averagingNormativeError) == 0) {
  303. qualityTaskDto.setNormativeCorrectProbability("0%");
  304. qualityTaskDto.setNormativeErrorProbability("0%");
  305. } else {
  306. qualityTaskDto.setNormativeCorrectProbability(df.format((float) averagingNormativeCorrect / (averagingNormativeCorrect + averagingNormativeError)* 100 )+ "%");
  307. qualityTaskDto.setNormativeErrorProbability(df.format((float) averagingNormativeError / (averagingNormativeCorrect + averagingNormativeError)* 100 )+ "%");
  308. }
  309. // 准确定
  310. double averagingAccuracyCorrect = qualityAuditorList.stream().collect(Collectors.averagingInt(QualityAuditor::getAccuracyCorrect));
  311. double averagingAccuracyError = qualityAuditorList.stream().collect(Collectors.averagingInt(QualityAuditor::getAccuracyError));
  312. qualityTaskDto.setAccuracyCorrect(averagingAccuracyCorrect);
  313. qualityTaskDto.setAccuracyError(averagingAccuracyError);
  314. if ((averagingAccuracyCorrect + averagingAccuracyError) == 0) {
  315. qualityTaskDto.setAccuracyCorrectProbability("0%");
  316. qualityTaskDto.setAccuracyErrorProbability("0%");
  317. } else {
  318. qualityTaskDto.setAccuracyCorrectProbability(df.format((float) averagingAccuracyCorrect / (averagingAccuracyCorrect + averagingAccuracyError)* 100 )+ "%");
  319. qualityTaskDto.setAccuracyErrorProbability(df.format((float) averagingAccuracyError / (averagingAccuracyCorrect + averagingAccuracyError)* 100 )+ "%");
  320. }
  321. resultTask.add(qualityTaskDto);
  322. }
  323. return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request).payloads(resultTask));
  324. }
  325. /**
  326. * 质量报告详情
  327. *
  328. * @param user
  329. * @param request
  330. * @return
  331. */
  332. @ApiOperation(value = "get qualityReportDetail")
  333. @GetMapping(value = "/qualityReportDetail/{id}")
  334. public ResponseEntity qualityReportDetail(@PathVariable Long id,
  335. @ApiIgnore @CurrentUser User user,
  336. @RequestParam(value = "startTime", required = true) String startTime,
  337. @RequestParam(value = "endTime", required = true) String endTime,
  338. HttpServletRequest request) {
  339. List<QualityAuditorDto> qualityAuditorDtoList = new ArrayList<QualityAuditorDto>();
  340. List<QualityAuditor> qualityAuditors = qualityAuditorService.getQualityAuditorListByTaskId(id, startTime, endTime);
  341. for (QualityAuditor qualityAuditor : qualityAuditors) {
  342. QualityAuditorDto qualityAuditorDto = new QualityAuditorDto();
  343. qualityAuditorDto.setAuditorTime(qualityAuditor.getAuditorTime());
  344. BeanUtils.copyProperties(qualityAuditor, qualityAuditorDto);
  345. DecimalFormat df = new DecimalFormat("0.00");//格式化小数
  346. if (null != qualityAuditor.getIntegrityCorrect() && null != qualityAuditor.getIntegrityError()) {
  347. if ((qualityAuditor.getIntegrityCorrect() + qualityAuditor.getIntegrityCorrect()) == 0) {
  348. qualityAuditorDto.setIntegrityCorrectProbability("0%");
  349. qualityAuditorDto.setIntegrityErrorProbability("0%");
  350. } else {
  351. // 完整性
  352. String integrityCorrectProbability = df.format((float) qualityAuditor.getIntegrityCorrect() / (qualityAuditor.getIntegrityCorrect() + qualityAuditor.getIntegrityError())* 100) + "%";//返回的是String类型
  353. qualityAuditorDto.setIntegrityCorrectProbability(integrityCorrectProbability);
  354. String integrityErrorProbability = df.format((float) qualityAuditor.getIntegrityError() / (qualityAuditor.getIntegrityCorrect() + qualityAuditor.getIntegrityError())* 100) + "%";//返回的是String类型
  355. qualityAuditorDto.setIntegrityErrorProbability(integrityErrorProbability);
  356. }
  357. }
  358. if (null != qualityAuditor.getUniformityCorrect() && null != qualityAuditor.getUniformityError()) {
  359. if ((qualityAuditor.getUniformityCorrect() + qualityAuditor.getUniformityError()) == 0) {
  360. qualityAuditorDto.setUniformityCorrectProbability("0%");
  361. qualityAuditorDto.setUniformityErrorProbability("0%");
  362. } else {
  363. // 一致性
  364. String uniformityCorrectProbability = df.format((float) qualityAuditor.getUniformityCorrect() / (qualityAuditor.getUniformityCorrect() + qualityAuditor.getUniformityError())* 100) + "%";//返回的是String类型
  365. qualityAuditorDto.setUniformityCorrectProbability(uniformityCorrectProbability);
  366. String uniformityErrorProbability = df.format((float) qualityAuditor.getUniformityError() / (qualityAuditor.getUniformityCorrect() + qualityAuditor.getUniformityError())* 100) + "%";//返回的是String类型
  367. qualityAuditorDto.setUniformityErrorProbability(uniformityErrorProbability);
  368. }
  369. }
  370. if (null != qualityAuditor.getNormativeCorrect() && null != qualityAuditor.getNormativeError()) {
  371. if ((qualityAuditor.getNormativeCorrect() + qualityAuditor.getNormativeError()) == 0) {
  372. qualityAuditorDto.setNormativeCorrectProbability("0%");
  373. qualityAuditorDto.setNormativeErrorProbability("0%");
  374. } else {
  375. // 规范性
  376. String normativeCorrectProbability = df.format((float) qualityAuditor.getNormativeCorrect() / (qualityAuditor.getNormativeCorrect() + qualityAuditor.getNormativeError())* 100) + "%";//返回的是String类型
  377. qualityAuditorDto.setNormativeCorrectProbability(normativeCorrectProbability);
  378. String normativeErrorProbability = df.format((float) qualityAuditor.getNormativeError() / (qualityAuditor.getNormativeCorrect() + qualityAuditor.getNormativeError())* 100) + "%";//返回的是String类型
  379. qualityAuditorDto.setNormativeErrorProbability(normativeErrorProbability);
  380. }
  381. }
  382. if (null != qualityAuditor.getAccuracyCorrect() && null != qualityAuditor.getAccuracyError()) {
  383. if ((qualityAuditor.getAccuracyCorrect() + qualityAuditor.getAccuracyError()) == 0) {
  384. qualityAuditorDto.setAccuracyCorrectProbability("0%");
  385. qualityAuditorDto.setAccuracyErrorProbability("0%");
  386. } else {
  387. // 准确性
  388. String accuracyCorrectProbability = df.format((float) qualityAuditor.getAccuracyCorrect() / (qualityAuditor.getAccuracyCorrect() + qualityAuditor.getAccuracyError())* 100) + "%";//返回的是String类型
  389. qualityAuditorDto.setAccuracyCorrectProbability(accuracyCorrectProbability);
  390. String accuracyErrorProbability = df.format((float) qualityAuditor.getAccuracyError() / (qualityAuditor.getAccuracyCorrect() + qualityAuditor.getAccuracyError())* 100) + "%";//返回的是String类型
  391. qualityAuditorDto.setAccuracyErrorProbability(accuracyErrorProbability);
  392. }
  393. }
  394. qualityAuditorDtoList.add(qualityAuditorDto);
  395. }
  396. return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request).payloads(qualityAuditorDtoList));
  397. }
  398. public static void main(String[] args) {
  399. int resultLimit = 10000;
  400. int limit = -1;
  401. int count = limit > resultLimit ? resultLimit : limit > 0 ? limit : resultLimit;
  402. System.out.println(count);
  403. }
  404. }