|
@@ -8,12 +8,12 @@ import edp.davinci.core.enums.CronJobStatusEnum;
|
|
|
import edp.davinci.dto.cronJobDto.CronJobBaseInfo;
|
|
|
import edp.davinci.dto.cronJobDto.CronJobInfo;
|
|
|
import edp.davinci.dto.qualityAuditor.QualityAuditorDto;
|
|
|
+import edp.davinci.dto.sourceDto.SourceDetail;
|
|
|
+import edp.davinci.dto.viewDto.ViewBaseInfo;
|
|
|
import edp.davinci.model.QualityAuditor;
|
|
|
import edp.davinci.model.QualityTask;
|
|
|
import edp.davinci.model.User;
|
|
|
-import edp.davinci.service.CronJobService;
|
|
|
-import edp.davinci.service.QualityAuditorService;
|
|
|
-import edp.davinci.service.QualityTaskService;
|
|
|
+import edp.davinci.service.*;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import io.swagger.annotations.ApiResponse;
|
|
@@ -21,6 +21,7 @@ import io.swagger.annotations.ApiResponses;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.format.annotation.DateTimeFormat;
|
|
|
import org.springframework.http.MediaType;
|
|
|
import org.springframework.http.ResponseEntity;
|
|
|
import org.springframework.validation.BindingResult;
|
|
@@ -31,6 +32,7 @@ import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.validation.Valid;
|
|
|
import java.text.DecimalFormat;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
import java.util.List;
|
|
|
|
|
|
@Api(value = "/qualityTask", tags = "qualityTask", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
|
|
@@ -38,8 +40,7 @@ import java.util.List;
|
|
|
@Slf4j
|
|
|
@RestController
|
|
|
@RequestMapping(value = Constants.BASE_API_PATH + "/qualityTask", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
|
|
|
-public class QualityTaskController extends BaseController
|
|
|
-{
|
|
|
+public class QualityTaskController extends BaseController {
|
|
|
@Autowired
|
|
|
private QualityTaskService qualityTaskService;
|
|
|
|
|
@@ -49,6 +50,12 @@ public class QualityTaskController extends BaseController
|
|
|
@Autowired
|
|
|
private CronJobService cronJobService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ViewService viewService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private SourceService sourceService;
|
|
|
+
|
|
|
/**
|
|
|
* 获取 质量任务
|
|
|
*
|
|
@@ -59,8 +66,7 @@ public class QualityTaskController extends BaseController
|
|
|
@ApiOperation(value = "get qualityTask")
|
|
|
@GetMapping(value = "/getQualityTask")
|
|
|
public ResponseEntity getQualityTask(@ApiIgnore @CurrentUser User user,
|
|
|
- HttpServletRequest request)
|
|
|
- {
|
|
|
+ HttpServletRequest request) {
|
|
|
|
|
|
List<QualityTask> qualityTasks = qualityTaskService.getQualityTask();
|
|
|
return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request).payloads(qualityTasks));
|
|
@@ -80,11 +86,9 @@ public class QualityTaskController extends BaseController
|
|
|
public ResponseEntity createQualityTask(@Valid @RequestBody QualityTask qualityTask,
|
|
|
@ApiIgnore BindingResult bindingResult,
|
|
|
@ApiIgnore @CurrentUser User user,
|
|
|
- HttpServletRequest request)
|
|
|
- {
|
|
|
+ HttpServletRequest request) {
|
|
|
|
|
|
- if (bindingResult.hasErrors())
|
|
|
- {
|
|
|
+ if (bindingResult.hasErrors()) {
|
|
|
ResultMap resultMap = new ResultMap(tokenUtils).failAndRefreshToken(request).message(bindingResult.getFieldErrors().get(0).getDefaultMessage());
|
|
|
return ResponseEntity.status(resultMap.getCode()).body(resultMap);
|
|
|
}
|
|
@@ -110,18 +114,15 @@ public class QualityTaskController extends BaseController
|
|
|
@Valid @RequestBody QualityTask qualityTask,
|
|
|
@ApiIgnore BindingResult bindingResult,
|
|
|
@ApiIgnore @CurrentUser User user,
|
|
|
- HttpServletRequest request)
|
|
|
- {
|
|
|
+ HttpServletRequest request) {
|
|
|
|
|
|
|
|
|
- if (invalidId(id) || !id.equals(qualityTask.getId()))
|
|
|
- {
|
|
|
+ if (invalidId(id) || !id.equals(qualityTask.getId())) {
|
|
|
ResultMap resultMap = new ResultMap(tokenUtils).failAndRefreshToken(request).message("Invalid dataSubject id");
|
|
|
return ResponseEntity.status(resultMap.getCode()).body(resultMap);
|
|
|
}
|
|
|
|
|
|
- if (bindingResult.hasErrors())
|
|
|
- {
|
|
|
+ if (bindingResult.hasErrors()) {
|
|
|
ResultMap resultMap = new ResultMap(tokenUtils).failAndRefreshToken(request).message(bindingResult.getFieldErrors().get(0).getDefaultMessage());
|
|
|
return ResponseEntity.status(resultMap.getCode()).body(resultMap);
|
|
|
}
|
|
@@ -143,10 +144,8 @@ public class QualityTaskController extends BaseController
|
|
|
@DeleteMapping("/deleteQualityTask/{id}")
|
|
|
public ResponseEntity deleteQualityTask(@PathVariable Long id,
|
|
|
@ApiIgnore @CurrentUser User user,
|
|
|
- HttpServletRequest request)
|
|
|
- {
|
|
|
- if (invalidId(id))
|
|
|
- {
|
|
|
+ HttpServletRequest request) {
|
|
|
+ if (invalidId(id)) {
|
|
|
ResultMap resultMap = new ResultMap(tokenUtils).failAndRefreshToken(request).message("Invalid dataSubject id");
|
|
|
return ResponseEntity.status(resultMap.getCode()).body(resultMap);
|
|
|
}
|
|
@@ -165,8 +164,7 @@ public class QualityTaskController extends BaseController
|
|
|
*/
|
|
|
@ApiOperation(value = "auditor")
|
|
|
@PutMapping(value = "/auditor/{id}", consumes = MediaType.APPLICATION_JSON_VALUE)
|
|
|
- public ResponseEntity auditor(@PathVariable Long id, HttpServletRequest request)
|
|
|
- {
|
|
|
+ public ResponseEntity auditor(@PathVariable Long id, HttpServletRequest request) {
|
|
|
// 1. 根据任务id,查询质量任务
|
|
|
qualityTaskService.auditor(id);
|
|
|
// 2.
|
|
@@ -183,18 +181,16 @@ public class QualityTaskController extends BaseController
|
|
|
*/
|
|
|
@ApiOperation(value = "setDispatch")
|
|
|
@PutMapping(value = "/setDispatch/{id}", consumes = MediaType.APPLICATION_JSON_VALUE)
|
|
|
- public ResponseEntity setDispatch(@PathVariable Long id,@RequestBody CronJobInfo cronJob, @ApiIgnore BindingResult bindingResult, @ApiIgnore @CurrentUser User user, HttpServletRequest request)
|
|
|
- {
|
|
|
+ public ResponseEntity setDispatch(@PathVariable Long id, @RequestBody CronJobInfo cronJob, @ApiIgnore BindingResult bindingResult, @ApiIgnore @CurrentUser User user, HttpServletRequest request) {
|
|
|
// 1. 保存任务
|
|
|
- if (bindingResult.hasErrors())
|
|
|
- {
|
|
|
+ if (bindingResult.hasErrors()) {
|
|
|
ResultMap resultMap = new ResultMap(tokenUtils).failAndRefreshToken(request).message(bindingResult.getFieldErrors().get(0).getDefaultMessage());
|
|
|
return ResponseEntity.status(resultMap.getCode()).body(resultMap);
|
|
|
}
|
|
|
cronJob.setConfig("{}");
|
|
|
CronJobInfo jobInfo = cronJobService.createCronJob(cronJob, user);
|
|
|
|
|
|
- // 2. 更新定时规则id到任务中
|
|
|
+ // 2. 更新定时规则id到任务中
|
|
|
QualityTask qualityTask = new QualityTask();
|
|
|
qualityTask.setId(id);
|
|
|
qualityTask.setCronJobId(jobInfo.getId());
|
|
@@ -202,14 +198,13 @@ public class QualityTaskController extends BaseController
|
|
|
|
|
|
|
|
|
// 3. 执行
|
|
|
- if(cronJob.getJobStatus().equals(CronJobStatusEnum.START)){ // 启动 激活
|
|
|
- // cronJobService.executeCronJob()
|
|
|
- cronJobService.startCronJob(jobInfo.getId(),user);
|
|
|
+ if (cronJob.getJobStatus().equals(CronJobStatusEnum.START)) { // 启动 激活
|
|
|
+ // cronJobService.executeCronJob()
|
|
|
+ cronJobService.startCronJob(jobInfo.getId(), user);
|
|
|
}
|
|
|
return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request));
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
* 质量报告
|
|
|
*
|
|
@@ -219,37 +214,110 @@ public class QualityTaskController extends BaseController
|
|
|
*/
|
|
|
@ApiOperation(value = "get qualityReport")
|
|
|
@GetMapping(value = "/qualityReport")
|
|
|
- public ResponseEntity qualityReport(@ApiIgnore @CurrentUser User user,
|
|
|
- HttpServletRequest request)
|
|
|
- {
|
|
|
+ public ResponseEntity qualityReport(@RequestParam(value = "sourceId", required = true) Long sourceId, @RequestParam(value = "time", required = true) String time, @ApiIgnore @CurrentUser User user,
|
|
|
+ HttpServletRequest request) {
|
|
|
List<QualityAuditorDto> qualityAuditorDtoList = new ArrayList<QualityAuditorDto>();
|
|
|
|
|
|
- List<QualityAuditor> qualityAuditors = qualityAuditorService.getQualityAuditors();
|
|
|
+ List<QualityAuditor> allQualityAuditors = new ArrayList<QualityAuditor>();
|
|
|
+ // 根据source 获取 view
|
|
|
+ List<ViewBaseInfo> viewBaseInfos = viewService.getViewBaseInfoByOnlyParentId(sourceId);
|
|
|
+ for (ViewBaseInfo viewBaseInfo : viewBaseInfos) {
|
|
|
+ List<QualityAuditor> qualityAuditors = qualityAuditorService.getQualityAuditorsByViewId(viewBaseInfo.getId(), time);
|
|
|
+ allQualityAuditors.addAll(qualityAuditors);
|
|
|
+ }
|
|
|
|
|
|
- for(QualityAuditor qualityAuditor : qualityAuditors){
|
|
|
+ for (QualityAuditor qualityAuditor : allQualityAuditors) {
|
|
|
QualityAuditorDto qualityAuditorDto = new QualityAuditorDto();
|
|
|
- BeanUtils.copyProperties(qualityAuditor,qualityAuditorDto);
|
|
|
+ BeanUtils.copyProperties(qualityAuditor, qualityAuditorDto);
|
|
|
DecimalFormat df = new DecimalFormat("0.00");//格式化小数
|
|
|
|
|
|
- String integrityCorrectProbability = df.format((float)qualityAuditor.getIntegrityCorrect()/(qualityAuditor.getIntegrityCorrect()+ qualityAuditor.getIntegrityError()));//返回的是String类型
|
|
|
- qualityAuditorDto.setIntegrityCorrectProbability(integrityCorrectProbability);
|
|
|
- String integrityErrorProbability = df.format((float)qualityAuditor.getIntegrityError()/(qualityAuditor.getIntegrityCorrect()+ qualityAuditor.getIntegrityError()));//返回的是String类型
|
|
|
- qualityAuditorDto.setIntegrityErrorProbability(integrityErrorProbability);
|
|
|
+ if (null != qualityAuditor.getIntegrityCorrect() && null != qualityAuditor.getIntegrityError()) {
|
|
|
+ // 完整性
|
|
|
+ String integrityCorrectProbability = df.format((float) qualityAuditor.getIntegrityCorrect() / (qualityAuditor.getIntegrityCorrect() + qualityAuditor.getIntegrityError()));//返回的是String类型
|
|
|
+ qualityAuditorDto.setIntegrityCorrectProbability(integrityCorrectProbability);
|
|
|
+ String integrityErrorProbability = df.format((float) qualityAuditor.getIntegrityError() / (qualityAuditor.getIntegrityCorrect() + qualityAuditor.getIntegrityError()));//返回的是String类型
|
|
|
+ qualityAuditorDto.setIntegrityErrorProbability(integrityErrorProbability);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (null != qualityAuditor.getUniformityCorrect() && null != qualityAuditor.getUniformityError()) {
|
|
|
+ // 一致性
|
|
|
+ String uniformityCorrectProbability = df.format((float) qualityAuditor.getUniformityCorrect() / (qualityAuditor.getUniformityCorrect() + qualityAuditor.getUniformityError()));//返回的是String类型
|
|
|
+ qualityAuditorDto.setUniformityCorrectProbability(uniformityCorrectProbability);
|
|
|
+ String uniformityErrorProbability = df.format((float) qualityAuditor.getUniformityError() / (qualityAuditor.getUniformityCorrect() + qualityAuditor.getUniformityError()));//返回的是String类型
|
|
|
+ qualityAuditorDto.setUniformityErrorProbability(uniformityErrorProbability);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (null != qualityAuditor.getNormativeCorrect() && null != qualityAuditor.getNormativeError()) {
|
|
|
+ // 规范性
|
|
|
+ String normativeCorrectProbability = df.format((float) qualityAuditor.getNormativeCorrect() / (qualityAuditor.getNormativeCorrect() + qualityAuditor.getNormativeError()));//返回的是String类型
|
|
|
+ qualityAuditorDto.setNormativeCorrectProbability(normativeCorrectProbability);
|
|
|
+ String normativeErrorProbability = df.format((float) qualityAuditor.getNormativeError() / (qualityAuditor.getNormativeError() + qualityAuditor.getNormativeError()));//返回的是String类型
|
|
|
+ qualityAuditorDto.setNormativeErrorProbability(normativeErrorProbability);
|
|
|
+ }
|
|
|
+ if (null != qualityAuditor.getAccuracyCorrect() && null != qualityAuditor.getAccuracyError()) {
|
|
|
+ // 准确定
|
|
|
+ String accuracyCorrectProbability = df.format((float) qualityAuditor.getAccuracyCorrect() / (qualityAuditor.getAccuracyCorrect() + qualityAuditor.getAccuracyError()));//返回的是String类型
|
|
|
+ qualityAuditorDto.setAccuracyCorrectProbability(accuracyCorrectProbability);
|
|
|
+ String accuracyErrorProbability = df.format((float) qualityAuditor.getAccuracyError() / (qualityAuditor.getAccuracyCorrect() + qualityAuditor.getAccuracyError()));//返回的是String类型
|
|
|
+ qualityAuditorDto.setAccuracyErrorProbability(accuracyErrorProbability);
|
|
|
+ }
|
|
|
+
|
|
|
+ qualityAuditorDtoList.add(qualityAuditorDto);
|
|
|
+ }
|
|
|
+
|
|
|
+ return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request).payloads(qualityAuditorDtoList));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 质量报告详情
|
|
|
+ *
|
|
|
+ * @param user
|
|
|
+ * @param request
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @ApiOperation(value = "get qualityReportDetail")
|
|
|
+ @GetMapping(value = "/qualityReportDetail/{id}")
|
|
|
+ public ResponseEntity qualityReportDetail(@PathVariable Long id, @ApiIgnore @CurrentUser User user,
|
|
|
+ HttpServletRequest request) {
|
|
|
+ List<QualityAuditorDto> qualityAuditorDtoList = new ArrayList<QualityAuditorDto>();
|
|
|
|
|
|
- String uniformityCorrectProbability = df.format((float)qualityAuditor.getUniformityCorrect()/(qualityAuditor.getUniformityCorrect()+ qualityAuditor.getUniformityError()));//返回的是String类型
|
|
|
- qualityAuditorDto.setUniformityCorrectProbability(uniformityCorrectProbability);
|
|
|
- String uniformityErrorProbability = df.format((float)qualityAuditor.getUniformityError()/(qualityAuditor.getUniformityCorrect()+ qualityAuditor.getUniformityError()));//返回的是String类型
|
|
|
- qualityAuditorDto.setUniformityErrorProbability(uniformityErrorProbability);
|
|
|
+ List<QualityAuditor> qualityAuditors = qualityAuditorService.getQualityAuditors();
|
|
|
|
|
|
- String normativeCorrectProbability = df.format((float)qualityAuditor.getNormativeCorrect()/(qualityAuditor.getNormativeCorrect()+ qualityAuditor.getNormativeError()));//返回的是String类型
|
|
|
- qualityAuditorDto.setNormativeCorrectProbability(normativeCorrectProbability);
|
|
|
- String normativeErrorProbability = df.format((float)qualityAuditor.getNormativeError()/(qualityAuditor.getNormativeError()+ qualityAuditor.getNormativeError()));//返回的是String类型
|
|
|
- qualityAuditorDto.setNormativeErrorProbability(normativeErrorProbability);
|
|
|
+ for (QualityAuditor qualityAuditor : qualityAuditors) {
|
|
|
+ QualityAuditorDto qualityAuditorDto = new QualityAuditorDto();
|
|
|
+ BeanUtils.copyProperties(qualityAuditor, qualityAuditorDto);
|
|
|
+ DecimalFormat df = new DecimalFormat("0.00");//格式化小数
|
|
|
|
|
|
- String accuracyCorrectProbability = df.format((float)qualityAuditor.getAccuracyCorrect()/(qualityAuditor.getAccuracyCorrect()+ qualityAuditor.getAccuracyError()));//返回的是String类型
|
|
|
- qualityAuditorDto.setAccuracyCorrectProbability(accuracyCorrectProbability);
|
|
|
- String accuracyErrorProbability = df.format((float)qualityAuditor.getAccuracyError()/(qualityAuditor.getAccuracyCorrect()+ qualityAuditor.getAccuracyError()));//返回的是String类型
|
|
|
- qualityAuditorDto.setAccuracyErrorProbability(accuracyErrorProbability);
|
|
|
+ if (null != qualityAuditor.getIntegrityCorrect() && null != qualityAuditor.getIntegrityError()) {
|
|
|
+ // 完整性
|
|
|
+ String integrityCorrectProbability = df.format((float) qualityAuditor.getIntegrityCorrect() / (qualityAuditor.getIntegrityCorrect() + qualityAuditor.getIntegrityError()));//返回的是String类型
|
|
|
+ qualityAuditorDto.setIntegrityCorrectProbability(integrityCorrectProbability);
|
|
|
+ String integrityErrorProbability = df.format((float) qualityAuditor.getIntegrityError() / (qualityAuditor.getIntegrityCorrect() + qualityAuditor.getIntegrityError()));//返回的是String类型
|
|
|
+ qualityAuditorDto.setIntegrityErrorProbability(integrityErrorProbability);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (null != qualityAuditor.getUniformityCorrect() && null != qualityAuditor.getUniformityError()) {
|
|
|
+ // 一致性
|
|
|
+ String uniformityCorrectProbability = df.format((float) qualityAuditor.getUniformityCorrect() / (qualityAuditor.getUniformityCorrect() + qualityAuditor.getUniformityError()));//返回的是String类型
|
|
|
+ qualityAuditorDto.setUniformityCorrectProbability(uniformityCorrectProbability);
|
|
|
+ String uniformityErrorProbability = df.format((float) qualityAuditor.getUniformityError() / (qualityAuditor.getUniformityCorrect() + qualityAuditor.getUniformityError()));//返回的是String类型
|
|
|
+ qualityAuditorDto.setUniformityErrorProbability(uniformityErrorProbability);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (null != qualityAuditor.getNormativeCorrect() && null != qualityAuditor.getNormativeError()) {
|
|
|
+ // 规范性
|
|
|
+ String normativeCorrectProbability = df.format((float) qualityAuditor.getNormativeCorrect() / (qualityAuditor.getNormativeCorrect() + qualityAuditor.getNormativeError()));//返回的是String类型
|
|
|
+ qualityAuditorDto.setNormativeCorrectProbability(normativeCorrectProbability);
|
|
|
+ String normativeErrorProbability = df.format((float) qualityAuditor.getNormativeError() / (qualityAuditor.getNormativeError() + qualityAuditor.getNormativeError()));//返回的是String类型
|
|
|
+ qualityAuditorDto.setNormativeErrorProbability(normativeErrorProbability);
|
|
|
+ }
|
|
|
+ if (null != qualityAuditor.getAccuracyCorrect() && null != qualityAuditor.getAccuracyError()) {
|
|
|
+ // 准确定
|
|
|
+ String accuracyCorrectProbability = df.format((float) qualityAuditor.getAccuracyCorrect() / (qualityAuditor.getAccuracyCorrect() + qualityAuditor.getAccuracyError()));//返回的是String类型
|
|
|
+ qualityAuditorDto.setAccuracyCorrectProbability(accuracyCorrectProbability);
|
|
|
+ String accuracyErrorProbability = df.format((float) qualityAuditor.getAccuracyError() / (qualityAuditor.getAccuracyCorrect() + qualityAuditor.getAccuracyError()));//返回的是String类型
|
|
|
+ qualityAuditorDto.setAccuracyErrorProbability(accuracyErrorProbability);
|
|
|
+ }
|
|
|
|
|
|
qualityAuditorDtoList.add(qualityAuditorDto);
|
|
|
}
|
|
@@ -257,8 +325,7 @@ public class QualityTaskController extends BaseController
|
|
|
return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request).payloads(qualityAuditorDtoList));
|
|
|
}
|
|
|
|
|
|
- public static void main(String[] args)
|
|
|
- {
|
|
|
+ public static void main(String[] args) {
|
|
|
int resultLimit = 10000;
|
|
|
int limit = -1;
|
|
|
int count = limit > resultLimit ? resultLimit : limit > 0 ? limit : resultLimit;
|