Commit 45f500ba authored by yuanshuo's avatar yuanshuo

1.添加接口/getReviewerList获取评审人员集合

2.添加接口/getReviewerOpinion查看评审人员评审意见
3.评审员查看代办、已办,用户查看我发起的评审 排序按照最新排序
4.场景变更任务添加新功能:新增用例、删除用例、修改用例
5.检验内容库 构建新界面时需要新接口/getReviewStandardList
6.添加接口/uploadExcel用于解析上传文件
7.修改科恩接口/createProject的service层用于使用最新科恩接口
8.厂商管理增加字段enterpriseType用于判断是整车企业还是零部件企业
parent 71418e09
......@@ -58,4 +58,9 @@ public class AutomobileEnterprise extends BaseEntity
@Excel(name = "联系电话")
@ApiModelProperty("联系电话")
private String contactNumber;
/** 联系电话 */
@Excel(name = "企业类型")
@ApiModelProperty("企业类型")
private String enterpriseType;
}
......@@ -228,4 +228,13 @@ public class ReviewSceneChangeTask {
@ApiModelProperty("创新基地结果")
private String innovationBaseResult;
@ApiModelProperty("用例编号")
private String usecaseId;
@ApiModelProperty("用例描述")
private String usecaseDescribe;
@ApiModelProperty("评审用例id")
private Long reviewUsecaseId;
}
package com.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@ApiModel
@TableName(value ="t_review_usecase")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ReviewUsecase {
@ApiModelProperty("主键id")
private Long id;
@ApiModelProperty("用例编号")
private String usecaseId;
@ApiModelProperty("用例描述")
private String usecaseDescribe;
/**
* 审查标准id
*/
@JsonFormat(shape = JsonFormat.Shape.STRING)
@ApiModelProperty("审查标准id")
private Long reviewStandardId;
}
......@@ -5,7 +5,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.web.request.ReviewSceneChangeTaskFindCreateRequest;
import com.ruoyi.web.request.ReviewSceneChangeTaskFindFinishRequest;
import com.ruoyi.web.request.ReviewSceneChangeTaskFindPendingRequest;
import com.ruoyi.web.response.ReviewOpinionResponse;
import com.ruoyi.web.response.ReviewSceneChangeTaskResponse;
import com.ruoyi.web.response.ReviewerListResponse;
import org.springframework.stereotype.Repository;
import org.apache.ibatis.annotations.Param;
......@@ -60,6 +62,11 @@ public interface ReviewSceneChangeTaskMapper extends BaseMapper<ReviewSceneChang
* @return
*/
List<ReviewSceneChangeTaskResponse> findFinishList(@Param("userId") Long userId, @Param("request") ReviewSceneChangeTaskFindFinishRequest request);
List<ReviewerListResponse> selectReviewerListByTaskId(@Param("id") Long id);
List<ReviewOpinionResponse> getReviewerOpinion(@Param("id") Long id);
}
......
......@@ -3,10 +3,7 @@ package com.ruoyi.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.domain.ReviewKeyPoint;
import com.ruoyi.domain.ReviewStandard;
import com.ruoyi.web.request.ReviewFindListRequest;
import com.ruoyi.web.request.ReviewStandardListByPageRequest;
import com.ruoyi.web.request.ReviewStandardListRequest;
import com.ruoyi.web.request.StandardListNewRequest;
import com.ruoyi.web.request.*;
import com.ruoyi.web.response.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
......
package com.ruoyi.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.domain.ReviewUsecase;
import org.springframework.stereotype.Repository;
@Repository
public interface ReviewUsecaseMapper extends BaseMapper<ReviewUsecase> {
ReviewUsecase getById(Long reviewUsecaseId);
}
package com.ruoyi.service;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.domain.ReviewSceneChangeTask;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.web.request.ReviewSceneChangeTaskFindCreateRequest;
......@@ -8,6 +9,7 @@ import com.ruoyi.web.request.ReviewSceneChangeTaskFindPendingRequest;
import com.ruoyi.web.request.ReviewSceneChangeTaskPassRequest;
import com.ruoyi.web.response.ReviewDetailsListResponse;
import com.ruoyi.web.response.ReviewKeyPointListResponse;
import com.ruoyi.web.response.ReviewOpinionResponse;
import com.ruoyi.web.response.ReviewSceneChangeTaskResponse;
import java.util.Date;
......@@ -115,4 +117,11 @@ public interface ReviewSceneChangeTaskService extends IService<ReviewSceneChange
* */
List<ReviewDetailsListResponse> getDetailsList(Long keyPointId);
/*
* 获取评审人员
* */
List<SysUser> getReviewList();
List<ReviewOpinionResponse> getReviewerOpinion(Long id);
}
......@@ -16,14 +16,13 @@ import com.ruoyi.service.ReviewSceneChangeTaskUserRelationService;
import com.ruoyi.service.ReviewSceneService;
import com.ruoyi.service.ReviewTaskInboxService;
import com.ruoyi.system.mapper.SysUserRoleMapper;
import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.web.request.ReviewSceneChangeTaskFindCreateRequest;
import com.ruoyi.web.request.ReviewSceneChangeTaskFindFinishRequest;
import com.ruoyi.web.request.ReviewSceneChangeTaskFindPendingRequest;
import com.ruoyi.web.request.ReviewSceneChangeTaskPassRequest;
import com.ruoyi.web.response.ReviewDetailsListResponse;
import com.ruoyi.web.response.ReviewKeyPointListResponse;
import com.ruoyi.web.response.ReviewSceneChangeTaskResponse;
import com.ruoyi.web.response.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -54,6 +53,9 @@ public class ReviewSceneChangeTaskServiceImpl extends ServiceImpl<ReviewSceneCha
@Autowired
private ReviewTaskInboxService reviewTaskInboxService;
@Autowired
private ISysDeptService iSysDeptService;
@Autowired
private ReviewSceneChangeTaskMapper reviewSceneChangeTaskMapper;
......@@ -84,7 +86,7 @@ public class ReviewSceneChangeTaskServiceImpl extends ServiceImpl<ReviewSceneCha
save(reviewSceneChangeTask);
// 绑定创新基地人员
List<SysUser> InnovationSysUsers = sysUserService.selectUserListByRoleId(ReviewSceneChangeTask.INNOVATION_BASE_ID);
/*List<SysUser> InnovationSysUsers = sysUserService.selectUserListByRoleId(ReviewSceneChangeTask.INNOVATION_BASE_ID);
List<ReviewSceneChangeTaskUserRelation> InnovationRelations = new ArrayList();
for(SysUser sysUser : InnovationSysUsers) {
ReviewSceneChangeTaskUserRelation relation = new ReviewSceneChangeTaskUserRelation()
......@@ -96,7 +98,7 @@ public class ReviewSceneChangeTaskServiceImpl extends ServiceImpl<ReviewSceneCha
InnovationRelations.add(relation);
}
reviewSceneChangeTaskUserRelationService.saveBatch(InnovationRelations);
reviewSceneChangeTaskUserRelationService.saveBatch(InnovationRelations);*/
// 绑定审核人
List<SysUser> sysUsers = sysUserService.selectUserListByRoleId(ReviewSceneChangeTask.REVIEW_ROLE_ID);
......@@ -249,6 +251,19 @@ public class ReviewSceneChangeTaskServiceImpl extends ServiceImpl<ReviewSceneCha
List<ReviewSceneChangeTaskResponse> reviewSceneChangeTask = reviewSceneChangeTaskMapper.findPendingListByUserId(userId,request);
//查询审核人员
for (ReviewSceneChangeTaskResponse task : reviewSceneChangeTask){
Long id = Long.parseLong(task.getId());
List<ReviewerListResponse> reviewerListResponseList = reviewSceneChangeTaskMapper.selectReviewerListByTaskId(id);
Set<String> reviewerNameSet = new HashSet<>();
for (ReviewerListResponse reviewer : reviewerListResponseList){
reviewerNameSet.add(reviewer.getReviewer());
}
//生成审核人员名字字符串
String reviewerNames = String.join("、", reviewerNameSet);
task.setReviewer(reviewerNames);
}
/*//查询审核人员
List<Long> reviewerIdList = sysUserRoleMapper.selectReviewerIdByRoleId(ReviewSceneChangeTask.REVIEW_ROLE_ID);
List<SysUser> reviewerList = sysUserService.selectUserListByIds(reviewerIdList);
Set<String> reviewerNameSet = new HashSet<>();
......@@ -260,7 +275,7 @@ public class ReviewSceneChangeTaskServiceImpl extends ServiceImpl<ReviewSceneCha
for (ReviewSceneChangeTaskResponse taskResponse : reviewSceneChangeTask){
taskResponse.setReviewer(reviewerNames);
}
}*/
return reviewSceneChangeTask;
}
......@@ -274,7 +289,19 @@ public class ReviewSceneChangeTaskServiceImpl extends ServiceImpl<ReviewSceneCha
List<ReviewSceneChangeTaskResponse> reviewSceneChangeTask = reviewSceneChangeTaskMapper.findFinishListByUserId(userId,request);
//查询审核人员
List<Long> reviewerIdList = sysUserRoleMapper.selectReviewerIdByRoleId(ReviewSceneChangeTask.REVIEW_ROLE_ID);
for (ReviewSceneChangeTaskResponse task : reviewSceneChangeTask){
Long id = Long.parseLong(task.getId());
List<ReviewerListResponse> reviewerListResponseList = reviewSceneChangeTaskMapper.selectReviewerListByTaskId(id);
Set<String> reviewerNameSet = new HashSet<>();
for (ReviewerListResponse reviewer : reviewerListResponseList){
reviewerNameSet.add(reviewer.getReviewer());
}
//生成审核人员名字字符串
String reviewerNames = String.join("、", reviewerNameSet);
task.setReviewer(reviewerNames);
}
/*List<Long> reviewerIdList = sysUserRoleMapper.selectReviewerIdByRoleId(ReviewSceneChangeTask.REVIEW_ROLE_ID);
List<SysUser> reviewerList = sysUserService.selectUserListByIds(reviewerIdList);
Set<String> reviewerNameSet = new HashSet<>();
for (SysUser reviewer : reviewerList){
......@@ -284,7 +311,7 @@ public class ReviewSceneChangeTaskServiceImpl extends ServiceImpl<ReviewSceneCha
String reviewerNames = String.join("、", reviewerNameSet);
for (ReviewSceneChangeTaskResponse taskResponse: reviewSceneChangeTask){
taskResponse.setReviewer(reviewerNames);
}
}*/
return reviewSceneChangeTask;
}
......@@ -297,7 +324,17 @@ public class ReviewSceneChangeTaskServiceImpl extends ServiceImpl<ReviewSceneCha
public List<ReviewSceneChangeTask> findCreateListByUserId(Long userId, ReviewSceneChangeTaskFindCreateRequest request) {
List<ReviewSceneChangeTask> reviewSceneChangeTask = reviewSceneChangeTaskMapper.findCreateListByUserId(userId,request);
//查询审核人员
List<Long> reviewerIdList = sysUserRoleMapper.selectReviewerIdByRoleId(ReviewSceneChangeTask.REVIEW_ROLE_ID);
for (ReviewSceneChangeTask task : reviewSceneChangeTask){
List<ReviewerListResponse> reviewerListResponseList = reviewSceneChangeTaskMapper.selectReviewerListByTaskId(task.getId());
Set<String> reviewerNameSet = new HashSet<>();
for (ReviewerListResponse reviewer : reviewerListResponseList){
reviewerNameSet.add(reviewer.getReviewer());
}
// 生成审核人员名字字符串
String reviewerNames = String.join("、", reviewerNameSet);
task.setReviewer(reviewerNames);
}
/*List<Long> reviewerIdList = sysUserRoleMapper.selectReviewerIdByRoleId(ReviewSceneChangeTask.REVIEW_ROLE_ID);
List<SysUser> reviewerList = sysUserService.selectUserListByIds(reviewerIdList);
Set<String> reviewerNameSet = new HashSet<>();
......@@ -310,7 +347,7 @@ public class ReviewSceneChangeTaskServiceImpl extends ServiceImpl<ReviewSceneCha
for(ReviewSceneChangeTask task : reviewSceneChangeTask){
task.setReviewer(reviewerNames);
}
}*/
return reviewSceneChangeTask;
}
......@@ -318,7 +355,14 @@ public class ReviewSceneChangeTaskServiceImpl extends ServiceImpl<ReviewSceneCha
public ReviewSceneChangeTask getBySceneChangeTaskId(Long id) {
ReviewSceneChangeTask reviewSceneChangeTask = reviewSceneChangeTaskMapper.findSceneChangeTaskById(id);
//查询审核人员
List<Long> reviewerIdList = sysUserRoleMapper.selectReviewerIdByRoleId(ReviewSceneChangeTask.REVIEW_ROLE_ID);
List<ReviewerListResponse> reviewerListResponseList = reviewSceneChangeTaskMapper.selectReviewerListByTaskId(id);
Set<String> reviewerNameSet = new HashSet<>();
for (ReviewerListResponse reviewer : reviewerListResponseList){
reviewerNameSet.add(reviewer.getReviewer());
}
String reviewerNames = String.join("、", reviewerNameSet);
reviewSceneChangeTask.setReviewer(reviewerNames);
/*List<Long> reviewerIdList = sysUserRoleMapper.selectReviewerIdByRoleId(ReviewSceneChangeTask.REVIEW_ROLE_ID);
List<SysUser> reviewerList = sysUserService.selectUserListByIds(reviewerIdList);
Set<String> reviewerNameSet = new HashSet<>();
......@@ -328,7 +372,7 @@ public class ReviewSceneChangeTaskServiceImpl extends ServiceImpl<ReviewSceneCha
// 生成审核人员名字字符串
String reviewerNames = String.join("、", reviewerNameSet);
reviewSceneChangeTask.setReviewer(reviewerNames);
reviewSceneChangeTask.setReviewer(reviewerNames);*/
return reviewSceneChangeTask;
}
......@@ -469,6 +513,29 @@ public class ReviewSceneChangeTaskServiceImpl extends ServiceImpl<ReviewSceneCha
public List<ReviewDetailsListResponse> getDetailsList(Long keyPointId) {
return reviewKeyPointMapper.getDetailsList(keyPointId);
}
/*
* 获取评审人员
* */
@Override
public List<SysUser> getReviewList() {
// 获取用户ID列表
List<Long> reviewerIdList = sysUserRoleMapper.selectReviewerIdByRoleId(ReviewSceneChangeTask.REVIEW_ROLE_ID);
// 获取用户列表
List<SysUser> reviewerList = sysUserService.selectUserListByIds(reviewerIdList);
for (SysUser user : reviewerList){
user.setDept(iSysDeptService.selectDeptById(user.getDeptId()));
}
return reviewerList;
}
@Override
public List<ReviewOpinionResponse> getReviewerOpinion(Long id) {
List<ReviewOpinionResponse> list = reviewSceneChangeTaskMapper.getReviewerOpinion(id);
return list;
}
}
......
package com.ruoyi.service.impl;
import com.ruoyi.domain.ReviewDetails;
import com.ruoyi.domain.ReviewKeyPoint;
import com.ruoyi.domain.ReviewScene;
import com.ruoyi.domain.ReviewSceneChangeTask;
import com.ruoyi.domain.*;
import com.ruoyi.mapper.ReviewDetailsMapper;
import com.ruoyi.mapper.ReviewKeyPointMapper;
import com.ruoyi.mapper.ReviewSceneMapper;
import com.ruoyi.mapper.ReviewUsecaseMapper;
import com.ruoyi.service.StrategyReviewSceneChange;
import com.ruoyi.service.ReviewSceneChangeTaskService;
import org.springframework.beans.factory.InitializingBean;
......@@ -38,6 +36,9 @@ public class StrategyReviewSceneChangeAdd implements StrategyReviewSceneChange,
@Autowired
private ReviewDetailsMapper reviewDetailsMapper;
@Autowired
private ReviewUsecaseMapper reviewUsecaseMapper;
/**
* 新增审查场景
* @param reviewSceneChangeTask
......@@ -97,6 +98,19 @@ public class StrategyReviewSceneChangeAdd implements StrategyReviewSceneChange,
reviewSceneChangeTaskService.updateById(reviewSceneChangeTask);
}
//新增测试用例评审
if(Objects.equals(reviewSceneChangeTask.getOperationSort(),"ADD_USECASE")){
//保存新增的测试用例
ReviewUsecase reviewUsecase = new ReviewUsecase();
reviewUsecase.setUsecaseDescribe(reviewSceneChangeTask.getUsecaseDescribe());
reviewUsecase.setUsecaseId(reviewSceneChangeTask.getUsecaseId());
reviewUsecase.setReviewStandardId(reviewSceneChangeTask.getStandardId());
reviewUsecaseMapper.insert(reviewUsecase);
//为用例变更任务的场景关联字段赋值
reviewSceneChangeTask.setReviewUsecaseId(reviewUsecase.getId());
reviewSceneChangeTaskService.updateById(reviewSceneChangeTask);
}
}
......
......@@ -4,10 +4,7 @@ import com.ruoyi.domain.ReviewDetails;
import com.ruoyi.domain.ReviewDetailsResult;
import com.ruoyi.domain.ReviewScene;
import com.ruoyi.domain.ReviewSceneChangeTask;
import com.ruoyi.mapper.ReviewDetailsMapper;
import com.ruoyi.mapper.ReviewDetailsResultMapper;
import com.ruoyi.mapper.ReviewKeyPointMapper;
import com.ruoyi.mapper.ReviewSceneMapper;
import com.ruoyi.mapper.*;
import com.ruoyi.service.ReviewDetailsService;
import com.ruoyi.service.ReviewKeyPointService;
import com.ruoyi.service.StrategyReviewSceneChange;
......@@ -45,6 +42,9 @@ public class StrategyReviewSceneChangeDelete implements StrategyReviewSceneChang
@Autowired
private ReviewSceneMapper reviewSceneMapper;
@Autowired
private ReviewUsecaseMapper reviewUsecaseMapper;
@Autowired
private ReviewDetailsResultMapper reviewDetailsResultMapper;
......@@ -96,6 +96,11 @@ public class StrategyReviewSceneChangeDelete implements StrategyReviewSceneChang
if (reviewScenesList != null && reviewScenesList.size() != 0) {
reviewSceneService.removeBatchByIds(reviewScenesList);
}
//删除用例
if (Objects.equals(reviewSceneChangeTask.getOperationSort(),"DELETE_USECASE")){
reviewUsecaseMapper.deleteById(reviewSceneChangeTask.getReviewUsecaseId());
}
}
}
......
......@@ -2,6 +2,8 @@ package com.ruoyi.service.impl;
import com.ruoyi.domain.ReviewScene;
import com.ruoyi.domain.ReviewSceneChangeTask;
import com.ruoyi.domain.ReviewUsecase;
import com.ruoyi.mapper.ReviewUsecaseMapper;
import com.ruoyi.service.StrategyReviewSceneChange;
import com.ruoyi.service.ReviewSceneService;
import org.springframework.beans.factory.InitializingBean;
......@@ -10,6 +12,8 @@ import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Objects;
@Transactional
@Service
public class StrategyReviewSceneChangeUpdate implements StrategyReviewSceneChange, InitializingBean {
......@@ -19,18 +23,30 @@ public class StrategyReviewSceneChangeUpdate implements StrategyReviewSceneChang
@Autowired
private ApplicationContext applicationContext;
@Autowired
private ReviewUsecaseMapper reviewUsecaseMapper;
@Autowired
private ReviewSceneService reviewSceneService;
@Override
public void doChange(ReviewSceneChangeTask reviewSceneChangeTask) {
if (Objects.equals(reviewSceneChangeTask.getOperationSort(),"UPDATE_SCENE")){
ReviewScene reviewScene = reviewSceneService.getById(reviewSceneChangeTask.getReviewSceneId());
reviewScene.setText(reviewSceneChangeTask.getNewText());
reviewSceneService.updateById(reviewScene);
}
if (Objects.equals(reviewSceneChangeTask.getOperationSort(),"UPDATE_USECASE")){
ReviewUsecase reviewUsecase = reviewUsecaseMapper.getById(reviewSceneChangeTask.getReviewUsecaseId());
reviewUsecase.setUsecaseDescribe(reviewSceneChangeTask.getUsecaseDescribe());
reviewUsecase.setUsecaseId(reviewSceneChangeTask.getNewText());
reviewUsecaseMapper.updateById(reviewUsecase);
}
}
@Override
public void afterPropertiesSet() throws Exception {
strategyReviewSceneChangeContext.putResource(ReviewSceneChangeTask.OPERATION_UPDATE, applicationContext.getBean(this.getClass()));
......
......@@ -817,7 +817,8 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task>implements Tas
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"query\":\"mutation quickCreateProjct($name:String$description:String$useCaseList:[ID!]!){project{quickCreateProject(input:{name:$name description:$description useCaseIDList:$useCaseList}){id name status description createTime}}}\",\"variables\":"+ request +"}");
RequestBody body = RequestBody.create(mediaType, "{\"query\":\"mutation quickCreateProjct($name:String$description:String$useCaseList:[ID!]$duplicatedUseCaseList:[UseCaseWithDuplicateDimension!]){project{quickCreateProject(input:{name:$name description:$description useCaseIDList:$useCaseList duplicatedUseCases:$duplicatedUseCaseList}){id name status description createTime}}}\",\"variables\":"+ request +"}");
Request requestKE = new Request.Builder()
.url("http://10.12.48.80:8089/api/query")
.method("POST", body)
......@@ -834,9 +835,12 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task>implements Tas
String string = response.body().string();
JSONObject jsonObject = JSONObject.parseObject(string);
System.out.println("jsonObject = " + jsonObject);
// 获取id
String testSchemeId = "";
if (jsonObject.getJSONObject("data").getJSONObject("project") != null) {
// System.out.println("jsonObject = " + jsonObject.getJSONObject("data").getJSONObject("project").getJSONObject("quickCreateProject"));
if (!jsonObject.getJSONObject("data").getJSONObject("project").isEmpty()) {
testSchemeId = (String) jsonObject.getJSONObject("data").getJSONObject("project").getJSONObject("quickCreateProject").get("id");
}
......
......@@ -3,6 +3,7 @@ package com.ruoyi.web;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.bean.BeanUtils;
......@@ -11,11 +12,8 @@ import com.ruoyi.domain.ReviewSceneChangeTask;
import com.ruoyi.service.ReviewSceneChangeTaskService;
import com.ruoyi.web.request.ReviewSceneChangeTaskCreateRequest;
import com.ruoyi.web.request.ReviewSceneChangeTaskPassRequest;
import com.ruoyi.web.response.ReviewDetailsListResponse;
import com.ruoyi.web.response.ReviewKeyPointListResponse;
import com.ruoyi.web.response.ReviewSceneChangeTaskResponse;
import com.ruoyi.web.response.*;
import com.ruoyi.web.request.*;
import com.ruoyi.web.response.ReviewStandardListResponse;
import com.ruoyi.web.response.ReviewSceneChangeTaskResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -192,4 +190,30 @@ public class ReviewSceneChangeTaskController extends BaseController {
return R.ok(list);
}
/*
* 获取评审人员
* */
@ApiOperation("获取评审人员")
@Trace
@Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")})
@Log(title = "获取评审人员", businessType = BusinessType.UPDATE)
@RequestMapping(method = RequestMethod.POST, value = "/getReviewerList")
public R<List<SysUser>> getReviewerList(){
List<SysUser> list = reviewSceneChangeTaskService.getReviewList();
return R.ok(list);
}
/*
* 查看评审人员评审意见
* */
@ApiOperation("查看评审人员评审意见")
@Trace
@Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")})
@Log(title = "查看评审人员评审意见", businessType = BusinessType.UPDATE)
@RequestMapping(method = RequestMethod.POST, value = "/getReviewerOpinion")
public R<List<ReviewOpinionResponse>> getReviewerOpinion(@Validated @RequestBody ReviewSceneChangeTaskGetInfoRequest request){
Long id = Long.parseLong(request.getId());
return R.ok(reviewSceneChangeTaskService.getReviewerOpinion(id));
}
}
......@@ -40,7 +40,7 @@ public class ReviewStandardController extends BaseController {
@Anonymous
@ApiOperation("分页查询标准(检验内容库)")
@PostMapping("/list")
public TableDataInfo<ReviewStandardResponse> listByPage(@Validated @RequestBody ReviewStandardListByPageRequest request) {
public TableDataInfo<ReviewStandardResponse> listByPage(@RequestBody ReviewStandardListByPageRequest request) {
startPage(request);
List<ReviewStandardResponse> list = reviewStandardService.listByPage(request);
return getDataTable(list);
......
......@@ -17,18 +17,20 @@ import com.ruoyi.web.request.*;
import com.ruoyi.web.response.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.poi.ss.usermodel.*;
import org.apache.skywalking.apm.toolkit.trace.Tag;
import org.apache.skywalking.apm.toolkit.trace.Tags;
import org.apache.skywalking.apm.toolkit.trace.Trace;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Api(tags = "总任务")
@RestController
......@@ -188,6 +190,72 @@ public class TaskController extends BaseController {
return R.ok(response);
}
/*
* 开启车型实验任务时-上传文件
* */
@ApiOperation("开启车型实验任务时-上传文件")
@Trace
@Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")})
@PostMapping("/uploadExcel")
public R<Map<String, Object>> uploadExcel(@RequestParam("file") MultipartFile file) throws IOException {
// 确保文件类型是Excel
if (!file.getOriginalFilename().endsWith(".xlsx") && !file.getOriginalFilename().endsWith(".xls")) {
throw new IllegalArgumentException("Please upload an Excel file.");
}
// 解析Excel文件
Workbook workbook = WorkbookFactory.create(file.getInputStream());
Sheet sheet = workbook.getSheetAt(3); // 获取第4个工作表
Map<String, Object> result = new HashMap<>();
List<Map<String, String>> duplicatedUseCaseList = new ArrayList<>();
// 获取第一行并查找“用例编号”所在的列
Row headerRow = sheet.getRow(0);
int targetColumnIndex = -1;
if (headerRow != null) {
for (int i = 0; i < headerRow.getLastCellNum(); i++) {
Cell headerCell = headerRow.getCell(i);
if (headerCell != null && "用例编号".equals(headerCell.toString().trim())) {
targetColumnIndex = i; // 找到“用例编号”所在的列索引
break;
}
}
}
if (targetColumnIndex == -1) {
workbook.close();
return R.fail("没找到测试用例列");
}
// 设置 "name" 为 "用例编号"
result.put("name", "用例编号");
// 遍历行,提取“用例编号”列的数据并构造新格式
for (int i = 1; i <= sheet.getLastRowNum(); i++) {
Row row = sheet.getRow(i);
if (row != null) {
Cell cell = row.getCell(targetColumnIndex); // 获取“用例编号”列的单元格
if (cell != null && !cell.toString().trim().isEmpty()) {
Map<String, String> useCaseMap = new HashMap<>();
useCaseMap.put("useCaseDisplayOrCustomizedID", cell.toString().trim()); // 将用例编号作为新的Map的值
duplicatedUseCaseList.add(useCaseMap); // 添加到列表
}
}
}
if (duplicatedUseCaseList.isEmpty()) {
workbook.close();
return R.fail("测试用例id不能为空");
}
result.put("duplicatedUseCaseList", duplicatedUseCaseList); // 使用新的格式存储数据
workbook.close();
return R.ok(result);
}
/**
* 快速创建检测项目
* @param request
......
......@@ -33,4 +33,8 @@ public class AutomobileEnterpriseListRequest extends PageDomain {
@ApiModelProperty("联系电话")
private String contactNumber;
/*厂商企业类型*/
@ApiModelProperty
private String enterpriseType;
}
package com.ruoyi.web.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@ApiModel(value = "ReviewOpinionResponse", description = "评审动态")
@Data
public class ReviewOpinionResponse {
@ApiModelProperty("评审员名字")
private String name;
@ApiModelProperty("评审时间")
private Date decisionTime;
@ApiModelProperty("评审结果")
private String decision;
@ApiModelProperty("评审意见")
private String comment;
}
......@@ -41,4 +41,7 @@ public class ReviewStandardResponse {
@ApiModelProperty("标准号")
private String standardNo;
@ApiModelProperty("类型")
private String type;
}
package com.ruoyi.web.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel(value = "ReviewerListResponse", description = "评审人员集合")
@Data
public class ReviewerListResponse {
@ApiModelProperty("评审员名称")
private String reviewer;
}
......@@ -29,7 +29,8 @@
create_time,
update_by,
update_time,
deleted
deleted,
enterprise_type
from t_automobile_enterprise
</sql>
......@@ -62,8 +63,10 @@
<if test="enterpriseContact != null and enterpriseContact != ''">
and ae.enterprise_contact like concat('%', #{enterpriseContact}, '%')
</if>
<if test="contactNumber != null and contactNumber != ''">and ae.contact_number like concat('%', #{contactNumber}, '%')</if>
</where>
<if test="enterpriseType != null and enterpriseType != ''">
and ae.enterprise_type like concat('%', #{enterpriseType}, '%')
</if>
<if test="contactNumber != null and contactNumber != ''">and ae.contact_number like concat('%', #{contactNumber}, '%')</if> </where>
</select>
<select id="selectAutomobileEnterpriseById" parameterType="Long" resultMap="AutomobileEnterpriseResult">
......@@ -111,6 +114,7 @@
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="enterpriseType != null">enterprise_Type = #{enterpriseType}</if>
</trim>
where id = #{id}
</update>
......
......@@ -75,6 +75,7 @@
<if test="request.inspectStandardId != null and request.inspectStandardId != ''">
and inspect_standard_id = #{request.inspectStandardId}
</if>
ORDER BY task_begin_time DESC
</select>
<select id="findFinishListByUserId" resultType="com.ruoyi.web.response.ReviewSceneChangeTaskResponse">
......@@ -94,6 +95,8 @@
<if test="request.inspectStandardId != null and request.inspectStandardId != ''">
and inspect_standard_id = #{request.inspectStandardId}
</if>
ORDER BY task_begin_time DESC
</select>
<select id="findCreateListByUserId" resultType="com.ruoyi.domain.ReviewSceneChangeTask">
......@@ -114,6 +117,8 @@
<if test="request.inspectStandardId != null and request.inspectStandardId != ''">
and inspect_standard_id = #{request.inspectStandardId}
</if>
ORDER BY task_begin_time DESC
</select>
<select id="findSceneChangeTaskById" resultType="com.ruoyi.domain.ReviewSceneChangeTask">
......@@ -156,4 +161,16 @@
</if>
</select>
<select id="selectReviewerListByTaskId" resultType="com.ruoyi.web.response.ReviewerListResponse">
select name as reviewer
from t_review_scene_change_task_user_relation
where task_id = #{id}
</select>
<select id="getReviewerOpinion" resultType="com.ruoyi.web.response.ReviewOpinionResponse">
select name,comment,decision,decision_time
from t_review_scene_change_task_user_relation
where task_id = #{id}
</select>
</mapper>
......@@ -46,7 +46,8 @@
text,
test_method AS testMethod,
name,
standard_no AS standardNo
standard_no AS standardNo,
type
from
t_review_standard
<where>
......
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.mapper.ReviewUsecaseMapper">
<resultMap id="BaseResultMap" type="com.ruoyi.domain.ReviewUsecase">
<id property="id" column="id" jdbcType="BIGINT"/>
<result property="usecaseId" column="usecase_id" jdbcType="VARCHAR"/>
<result property="usecaseDescribe" column="usecase_describe" jdbcType="VARCHAR"/>
<result property="reviewStandardId" column="review_standard_id" jdbcType="BIGINT"/>
</resultMap>
<select id="getById" resultType="com.ruoyi.domain.ReviewUsecase">
select *
from t_review_usecase
where id = #{id}
</select>
</mapper>
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