Commit 03723626 authored by wdy's avatar wdy

数据统计&编辑任务&暂存任务

parent f6295953
package com.ruoyi.common;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.domain.*;
import com.ruoyi.mapper.TaskMapper;
import io.swagger.models.auth.In;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@Component
public class DataStatistics extends ServiceImpl<TaskMapper, Task> {
public int calculateStandards(List<ReviewStandard> standards) {
return standards.size();
}
public int calculateStandardsPass(List<ReviewStandard> standards, Map<Long, ReviewDetailsResult> resultMap) {
int standardsPass = 0;
for(ReviewStandard standard : standards) {
List<ReviewDetails> details = getDetailsByStandard(standard);
boolean isPass = false;
for(ReviewDetails reviewDetails : details) {
Integer passed = detailsIsPass(reviewDetails, resultMap);
if(passed == null) {
isPass = false;
}
if(passed == ReviewStandard.NO_PASSED) {
isPass = false;
}
// isPass = passed == ReviewStandard.PASSED;
}
if(isPass) {
standardsPass = standardsPass + 1;
}
}
return standardsPass;
}
public int calculateStandardsNoPass(List<ReviewStandard> standards, Map<Long, ReviewDetailsResult> resultMap) {
int standardsNoPass = 0;
for(ReviewStandard standard : standards) {
List<ReviewDetails> details = getDetailsByStandard(standard);
boolean isPass = false;
for(ReviewDetails reviewDetails : details) {
Integer passed = detailsIsPass(reviewDetails, resultMap);
if(passed == null) {
isPass = false;
}
if(passed == ReviewStandard.PASSED) {
isPass = false;
}
// isPass = passed == ReviewStandard.NO_PASSED;
}
if(isPass) {
standardsNoPass = standardsNoPass + 1;
}
}
return standardsNoPass;
}
public int calculateDetails(List<ReviewStandard> standards) {
//审查细则(条)
int detailsNum = 0;
for(ReviewStandard standard : standards) {
List<ReviewDetails> details = getDetailsByStandard(standard);
detailsNum = detailsNum + details.size();
}
return detailsNum;
}
public int calculateDetailsPass(List<ReviewStandard> standards, Map<Long, ReviewDetailsResult> resultMap) {
int detailsPass = 0;
for(ReviewStandard standard : standards) {
List<ReviewDetails> details = getDetailsByStandard(standard);
for(ReviewDetails reviewDetails : details) {
if (detailsIsPass(reviewDetails, resultMap) == null) {
continue;
}
if(detailsIsPass(reviewDetails, resultMap) == ReviewStandard.PASSED) {
detailsPass = detailsPass + 1;
}
}
}
return detailsPass;
}
public int calculateDetailsNoPass(List<ReviewStandard> standards, Map<Long, ReviewDetailsResult> resultMap) {
int detailsNoPass = 0;
for(ReviewStandard standard : standards) {
List<ReviewDetails> details = getDetailsByStandard(standard);
for(ReviewDetails reviewDetails : details) {
if(detailsIsPass(reviewDetails, resultMap) == ReviewStandard.NO_PASSED) {
detailsNoPass = detailsNoPass + 1;
}
}
}
return detailsNoPass;
}
public List<ReviewDetails> getDetailsByStandard(ReviewStandard standard) {
List<ReviewDetails> details = new ArrayList();
List<ReviewKeyPoint> keyPointList = standard.getKeyPointList();
for(ReviewKeyPoint keyPoint : keyPointList) {
details.addAll(keyPoint.getReviewDetailsList());
}
return details;
}
public Integer detailsIsPass(ReviewDetails reviewDetails, Map<Long, ReviewDetailsResult> resultMap) {
ReviewDetailsResult result = resultMap.get(reviewDetails.getId());
if(result == null) {
return null;
}
return result.getPassed();
}
}
......@@ -3,6 +3,7 @@ package com.ruoyi.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.domain.Task;
import com.ruoyi.web.request.*;
import com.ruoyi.web.response.DataStatisticsResponse;
import com.ruoyi.web.response.TaskFindResponse;
import com.ruoyi.web.response.TaskGetInfoResponse;
......@@ -57,7 +58,11 @@ public interface TaskService extends IService<Task> {
void temporaryStorageTask(TaskCreateRequest request);
void editTemporaryStorageTask(TaskEditRequest request);
TaskGetInfoResponse getByUserId(Long userId);
TaskGetInfoResponse getBySubtaskId(TaskSubGetInfoRequest request);
DataStatisticsResponse dataStatistics(TaskGetInfoRequest request);
}
package com.ruoyi.service.impl;
import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.common.DataStatistics;
import com.ruoyi.common.constant.HttpStatus;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.exception.ServiceException;
......@@ -23,7 +24,7 @@ import java.util.stream.Collectors;
@Transactional
@Service
public class StrategyCarReviewTaskPending implements StrategyCarReviewTask, InitializingBean {
public class StrategyCarReviewTaskPending extends DataStatistics implements StrategyCarReviewTask, InitializingBean {
@Autowired
private StrategyCarReviewTaskContext strategyCarReviewTaskContext;
......@@ -200,88 +201,6 @@ public class StrategyCarReviewTaskPending implements StrategyCarReviewTask, Init
}
private int calculateStandards(List<ReviewStandard> standards) {
return standards.size();
}
private long calculateStandardsPass(List<ReviewStandard> standards, Map<Long, ReviewDetailsResult> resultMap) {
long standardsPass = 0;
for(ReviewStandard standard : standards) {
List<ReviewDetails> details = getDetailsByStandard(standard);
boolean isPass = true;
for(ReviewDetails reviewDetails : details) {
if(!detailsIsPass(reviewDetails, resultMap)) {
isPass = false;
}
}
if(isPass) {
standardsPass = standardsPass + 1;
}
}
return standardsPass;
}
private int calculateDetails(List<ReviewStandard> standards) {
//审查细则(条)
int detailsNum = 0;
for(ReviewStandard standard : standards) {
List<ReviewDetails> details = getDetailsByStandard(standard);
detailsNum = detailsNum + details.size();
}
return detailsNum;
}
private long calculateDetailsPass(List<ReviewStandard> standards, Map<Long, ReviewDetailsResult> resultMap) {
long detailsPass = 0L;
for(ReviewStandard standard : standards) {
List<ReviewDetails> details = getDetailsByStandard(standard);
for(ReviewDetails reviewDetails : details) {
if(detailsIsPass(reviewDetails, resultMap)) {
detailsPass = detailsPass + 1;
}
}
}
return detailsPass;
}
private List<ReviewDetails> getDetailsByStandard(ReviewStandard standard) {
List<ReviewDetails> details = new ArrayList();
List<ReviewKeyPoint> keyPointList = standard.getKeyPointList();
for(ReviewKeyPoint keyPoint : keyPointList) {
details.addAll(keyPoint.getReviewDetailsList());
}
return details;
}
private boolean detailsIsPass(ReviewDetails reviewDetails, Map<Long, ReviewDetailsResult> resultMap) {
ReviewDetailsResult result = resultMap.get(reviewDetails.getId());
if (result != null ) {
return Objects.equals(result.getPassed(), ReviewStandard.PASSED);
} else {
return false;
}
}
@Override
public void afterPropertiesSet() throws Exception {
......
package com.ruoyi.service.impl;
import com.ruoyi.common.DataStatistics;
import com.ruoyi.common.constant.HttpStatus;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.exception.ServiceException;
......@@ -22,7 +23,7 @@ import java.util.stream.Collectors;
@Transactional
@Service
public class StrategySystemReviewTaskPending implements StrategySystemReviewTask, InitializingBean {
public class StrategySystemReviewTaskPending extends DataStatistics implements StrategySystemReviewTask, InitializingBean {
@Autowired
private StrategySystemReviewTaskContext strategySystemReviewTaskContext;
......@@ -194,88 +195,6 @@ public class StrategySystemReviewTaskPending implements StrategySystemReviewTask
systemReviewTask.setPerson(relationList.size());
}
private int calculateStandards(List<ReviewStandard> standards) {
return standards.size();
}
private long calculateStandardsPass(List<ReviewStandard> standards, Map<Long, ReviewDetailsResult> resultMap) {
long standardsPass = 0;
for(ReviewStandard standard : standards) {
List<ReviewDetails> details = getDetailsByStandard(standard);
boolean isPass = true;
for(ReviewDetails reviewDetails : details) {
if(!detailsIsPass(reviewDetails, resultMap)) {
isPass = false;
}
}
if(isPass) {
standardsPass = standardsPass + 1;
}
}
return standardsPass;
}
private int calculateDetails(List<ReviewStandard> standards) {
//审查细则(条)
int detailsNum = 0;
for(ReviewStandard standard : standards) {
List<ReviewDetails> details = getDetailsByStandard(standard);
detailsNum = detailsNum + details.size();
}
return detailsNum;
}
private long calculateDetailsPass(List<ReviewStandard> standards, Map<Long, ReviewDetailsResult> resultMap) {
long detailsPass = 0L;
for(ReviewStandard standard : standards) {
List<ReviewDetails> details = getDetailsByStandard(standard);
for(ReviewDetails reviewDetails : details) {
if(detailsIsPass(reviewDetails, resultMap)) {
detailsPass = detailsPass + 1;
}
}
}
return detailsPass;
}
private List<ReviewDetails> getDetailsByStandard(ReviewStandard standard) {
List<ReviewDetails> details = new ArrayList();
List<ReviewKeyPoint> keyPointList = standard.getKeyPointList();
for(ReviewKeyPoint keyPoint : keyPointList) {
details.addAll(keyPoint.getReviewDetailsList());
}
return details;
}
private boolean detailsIsPass(ReviewDetails reviewDetails, Map<Long, ReviewDetailsResult> resultMap) {
ReviewDetailsResult result = resultMap.get(reviewDetails.getId());
if (result != null ) {
return Objects.equals(result.getPassed(), ReviewStandard.PASSED);
} else {
return false;
}
}
@Override
public void afterPropertiesSet() throws Exception {
......
......@@ -13,6 +13,7 @@ import com.ruoyi.service.TaskSampleRelationService;
import com.ruoyi.service.TaskService;
import com.ruoyi.service.TaskUserRelationService;
import com.ruoyi.web.request.*;
import com.ruoyi.web.response.DataStatisticsResponse;
import com.ruoyi.web.response.TaskFindResponse;
import com.ruoyi.web.response.TaskGetInfoResponse;
import io.swagger.annotations.Api;
......@@ -148,6 +149,16 @@ public class TaskController extends BaseController {
return R.ok();
}
@ApiOperation("编辑暂存任务")
@Trace
@Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")})
@Log(title = "编辑暂存任务", businessType = BusinessType.UPDATE)
@RequestMapping(method = RequestMethod.POST, value = "/editTemporaryStorage")
public R<String> editTemporaryStorage(@Validated @RequestBody TaskEditRequest request) {
taskService.editTemporaryStorageTask(request);
return R.ok();
}
@ApiOperation("删除任务")
@Trace
@Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")})
......@@ -169,4 +180,14 @@ public class TaskController extends BaseController {
}
@ApiOperation("查看任务数据统计")
@Trace
@Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")})
@RequestMapping(method = RequestMethod.POST, value = "/dataStatistics")
public R<DataStatisticsResponse> dataStatistics(@Validated @RequestBody TaskGetInfoRequest request) {
DataStatisticsResponse response = taskService.dataStatistics(request);
return R.ok(response);
}
}
package com.ruoyi.web.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel(value = "DataStatisticsResponse", description = "任务数据统计")
@Data
public class DataStatisticsResponse {
@ApiModelProperty("体系用例审查通过率")
private Double systemDetailsPass;
@ApiModelProperty("体系审查细则")
private Integer systemDetails;
@ApiModelProperty("体系审查细则通过")
private Integer systemDetailsPassNum;
@ApiModelProperty("体系审查细则未通过")
private Integer systemDetailsNoPassNum;
@ApiModelProperty("体系细则审查中")
private Integer systemDetailsUnderNum;
@ApiModelProperty("体系标准审查通过率")
private Double systemStandardsPass;
@ApiModelProperty("体系标准条款")
private Integer systemStandards;
@ApiModelProperty("体系标准条款通过")
private Integer systemStandardsPassNum;
@ApiModelProperty("体系标准条款未通过")
private Integer systemStandardsNoPassNum;
@ApiModelProperty("体系标准审查中")
private Integer systemStandardsUnderNum;
@ApiModelProperty(" 车型审查用例审查通过率")
private Double carDetailsPass;
@ApiModelProperty(" 车型审查审查细则")
private Integer carDetails;
@ApiModelProperty(" 车型审查审查细则通过")
private Integer carDetailsPassNum;
@ApiModelProperty(" 车型审查审查细则未通过")
private Integer carDetailsNoPassNum;
@ApiModelProperty(" 车型审查细则审查中")
private Integer carDetailsUnderNum;
@ApiModelProperty(" 车型审查标准审查通过率")
private Double carStandardsPass;
@ApiModelProperty(" 车型审查标准条款")
private Integer carStandards;
@ApiModelProperty(" 车型审查标准条款通过")
private Integer carStandardsPassNum;
@ApiModelProperty(" 车型审查标准条款未通过")
private Integer carStandardsNoPassNum;
@ApiModelProperty(" 车型审查标准审查中")
private Integer carStandardsUnderNum;
@ApiModelProperty(" 车型试验用例审查通过率")
private Double testDetailsPass;
@ApiModelProperty(" 车型试验审查细则")
private Integer testDetails;
@ApiModelProperty(" 车型试验审查细则通过")
private Integer testDetailsPassNum;
@ApiModelProperty(" 车型试验审查细则未通过")
private Integer testDetailsNoPassNum;
@ApiModelProperty(" 车型试验细则审查中")
private Integer testDetailsUnderNum;
@ApiModelProperty(" 车型试验标准审查通过率")
private Double testStandardsPass;
@ApiModelProperty(" 车型试验标准条款")
private Integer testStandards;
@ApiModelProperty(" 车型试验标准条款通过")
private Integer testStandardsPassNum;
@ApiModelProperty(" 车型试验标准条款未通过")
private Integer testStandardsNoPassNum;
@ApiModelProperty(" 车型试验标准审查中")
private Integer testStandardsUnderNum;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment