Commit 294f298e authored by 盖献康's avatar 盖献康

Merge branch 'dev' of...

Merge branch 'dev' of ssh://gitlab.91isoft.com:10022/wangfei/vehicle-quality-review into gaixiankang
parents 1d1afc32 7a32a8b2
...@@ -11,6 +11,7 @@ import lombok.AllArgsConstructor; ...@@ -11,6 +11,7 @@ import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.util.List; import java.util.List;
...@@ -19,6 +20,7 @@ import java.util.List; ...@@ -19,6 +20,7 @@ import java.util.List;
*/ */
@ApiModel @ApiModel
@TableName(value ="t_review_details") @TableName(value ="t_review_details")
@Accessors(chain = true)
@Data @Data
@Builder @Builder
@NoArgsConstructor @NoArgsConstructor
......
...@@ -11,6 +11,7 @@ import lombok.AllArgsConstructor; ...@@ -11,6 +11,7 @@ import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.util.List; import java.util.List;
...@@ -19,6 +20,7 @@ import java.util.List; ...@@ -19,6 +20,7 @@ import java.util.List;
*/ */
@ApiModel @ApiModel
@TableName(value ="t_review_keypoint") @TableName(value ="t_review_keypoint")
@Accessors(chain = true)
@Data @Data
@Builder @Builder
@NoArgsConstructor @NoArgsConstructor
......
...@@ -77,8 +77,8 @@ public class ReviewSceneChangeTask { ...@@ -77,8 +77,8 @@ public class ReviewSceneChangeTask {
@ApiModelProperty("检验标准id") @ApiModelProperty("检验标准id")
private String inspectStandardId; private String inspectStandardId;
@ApiModelProperty("检验标准名称") @ApiModelProperty("检验标准")
private String inspectStandardName; private String inspectStandardNo;
/** /**
* 章节 * 章节
......
package com.ruoyi.domain; package com.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.StandardJsonTypeHandler; import com.ruoyi.common.StandardJsonTypeHandler;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
...@@ -62,10 +59,12 @@ public class Task { ...@@ -62,10 +59,12 @@ public class Task {
@ApiModelProperty("体系审查任务id") @ApiModelProperty("体系审查任务id")
@JsonFormat(shape = JsonFormat.Shape.STRING) @JsonFormat(shape = JsonFormat.Shape.STRING)
@TableField(insertStrategy = FieldStrategy.IGNORED,updateStrategy = FieldStrategy.IGNORED,whereStrategy = FieldStrategy.IGNORED)
private Long systemReviewTaskId; private Long systemReviewTaskId;
@ApiModelProperty("车辆检查任务id") @ApiModelProperty("车辆检查任务id")
@JsonFormat(shape = JsonFormat.Shape.STRING) @JsonFormat(shape = JsonFormat.Shape.STRING)
@TableField(insertStrategy = FieldStrategy.IGNORED,updateStrategy = FieldStrategy.IGNORED,whereStrategy = FieldStrategy.IGNORED)
private Long carReviewTaskId; private Long carReviewTaskId;
@ApiModelProperty("任务状态NEW(新建的)、PENDING(运行中的)、FINISH(已结束的)、TEMPORARILY(暂存)") @ApiModelProperty("任务状态NEW(新建的)、PENDING(运行中的)、FINISH(已结束的)、TEMPORARILY(暂存)")
...@@ -174,10 +173,17 @@ public class Task { ...@@ -174,10 +173,17 @@ public class Task {
public String getNextNode() { public String getNextNode() {
String[] split = taskList.split(","); String[] split = taskList.split(",");
if(pointer + 1 > maxPointer) { if(pointer < split.length) {
return null; return split[pointer];
} else {
return split[pointer + 1];
} }
return null;
}
public void setSystemReviewTaskIdNull(){
this.systemReviewTaskId = null;
}
public void setCarReviewTaskIdNull() {
this.carReviewTaskId = null;
} }
} }
...@@ -19,6 +19,8 @@ public interface CarReviewTaskMapper extends BaseMapper<CarReviewTask> { ...@@ -19,6 +19,8 @@ public interface CarReviewTaskMapper extends BaseMapper<CarReviewTask> {
List<CarReviewTask> findListByReviewStatus(@Param("reviewStatus") String reviewStatus); List<CarReviewTask> findListByReviewStatus(@Param("reviewStatus") String reviewStatus);
List<CarReviewTask> findListByTaskStatus(@Param("taskStatus") String taskStatus); List<CarReviewTask> findListByTaskStatus(@Param("taskStatus") String taskStatus);
List<CarReviewTask> findByDetailsResult(@Param("detailId") Long detailId);
} }
......
...@@ -3,6 +3,7 @@ package com.ruoyi.mapper; ...@@ -3,6 +3,7 @@ package com.ruoyi.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.domain.ReviewDetails; import com.ruoyi.domain.ReviewDetails;
import com.ruoyi.domain.ReviewKeyPoint; import com.ruoyi.domain.ReviewKeyPoint;
import com.ruoyi.web.request.ReviewFindListRequest;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
...@@ -20,4 +21,10 @@ public interface ReviewDetailsMapper extends BaseMapper<ReviewDetails> { ...@@ -20,4 +21,10 @@ public interface ReviewDetailsMapper extends BaseMapper<ReviewDetails> {
List<ReviewDetails> findNoResult(@Param("taskId") Long taskId, @Param("type") String type); List<ReviewDetails> findNoResult(@Param("taskId") Long taskId, @Param("type") String type);
Long count (@Param("taskId")Long taskId, @Param("type")String type); Long count (@Param("taskId")Long taskId, @Param("type")String type);
// 根据要点id查询细则列表
List<ReviewDetails> findByKeyPointId(@Param("keyPointId") Long keyPointId);
// 查询细则列表
List<ReviewDetails> findDetailsList(ReviewFindListRequest request);
} }
package com.ruoyi.mapper; package com.ruoyi.mapper;
import com.ruoyi.domain.ReviewDetails;
import com.ruoyi.domain.ReviewDetailsResult; import com.ruoyi.domain.ReviewDetailsResult;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -26,6 +27,12 @@ public interface ReviewDetailsResultMapper extends BaseMapper<ReviewDetailsResul ...@@ -26,6 +27,12 @@ public interface ReviewDetailsResultMapper extends BaseMapper<ReviewDetailsResul
* @return * @return
*/ */
Long findNotPass(@Param("taskId") Long taskId); Long findNotPass(@Param("taskId") Long taskId);
// 根据细则列表查询结果
List<ReviewDetailsResult> findByDetailsList(@Param("reviewDetailsList") List<ReviewDetails> reviewDetailsList);
// 根据细则id查询结果
List<ReviewDetailsResult> findByDetailsId(@Param("detailsId") Long detailsId);
} }
......
package com.ruoyi.mapper; package com.ruoyi.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.domain.ReviewDetails;
import com.ruoyi.domain.ReviewKeyPoint; import com.ruoyi.domain.ReviewKeyPoint;
import com.ruoyi.domain.ReviewStandard; import com.ruoyi.domain.ReviewStandard;
import com.ruoyi.web.request.ReviewFindListRequest;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
...@@ -13,4 +15,9 @@ public interface ReviewKeyPointMapper extends BaseMapper<ReviewKeyPoint> { ...@@ -13,4 +15,9 @@ public interface ReviewKeyPointMapper extends BaseMapper<ReviewKeyPoint> {
List<ReviewKeyPoint> findByStandardList(@Param("reviewStandardList") List<ReviewStandard> reviewStandardList); List<ReviewKeyPoint> findByStandardList(@Param("reviewStandardList") List<ReviewStandard> reviewStandardList);
// 条件查询要点列表
List<ReviewKeyPoint> findKeyPointList(ReviewFindListRequest request);
// 根据细则列表查询要点列表
List<ReviewKeyPoint> findByDetailsList(@Param("detailsList") List<ReviewDetails> detailsList);
} }
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.domain.ReviewDetails; import com.ruoyi.domain.ReviewDetails;
import com.ruoyi.domain.ReviewScene; import com.ruoyi.domain.ReviewScene;
import com.ruoyi.domain.ReviewStandard; import com.ruoyi.domain.ReviewStandard;
import com.ruoyi.web.request.ReviewSceneFindListRequest;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
...@@ -12,4 +13,10 @@ import java.util.List; ...@@ -12,4 +13,10 @@ import java.util.List;
@Repository @Repository
public interface ReviewSceneMapper extends BaseMapper<ReviewScene> { public interface ReviewSceneMapper extends BaseMapper<ReviewScene> {
List<ReviewScene> findByDetailsList(@Param("reviewDetailsList") List<ReviewDetails> reviewDetailsList); List<ReviewScene> findByDetailsList(@Param("reviewDetailsList") List<ReviewDetails> reviewDetailsList);
// 根据细则id查询场景列表
List<ReviewScene> findByDetailId(@Param("detailId") Long detailId);
// 查询场景列表
List<ReviewScene> findList(ReviewSceneFindListRequest request);
} }
package com.ruoyi.mapper; package com.ruoyi.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.domain.ReviewKeyPoint;
import com.ruoyi.domain.ReviewStandard; import com.ruoyi.domain.ReviewStandard;
import com.ruoyi.web.request.ReviewFindListRequest;
import com.ruoyi.web.request.ReviewStandardListByPageRequest; import com.ruoyi.web.request.ReviewStandardListByPageRequest;
import com.ruoyi.web.request.ReviewStandardListRequest;
import com.ruoyi.web.response.ReviewStandardListResponse;
import com.ruoyi.web.response.ReviewStandardResponse; import com.ruoyi.web.response.ReviewStandardResponse;
import com.ruoyi.web.response.ReviewStandardTestInspectionContentResponse; import com.ruoyi.web.response.ReviewStandardTestInspectionContentResponse;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -30,4 +34,9 @@ public interface ReviewStandardMapper extends BaseMapper<ReviewStandard> { ...@@ -30,4 +34,9 @@ public interface ReviewStandardMapper extends BaseMapper<ReviewStandard> {
* @return * @return
*/ */
List<ReviewStandardTestInspectionContentResponse> selectTestInspectionContent(Long id); List<ReviewStandardTestInspectionContentResponse> selectTestInspectionContent(Long id);
List<ReviewStandardListResponse> findReviewStandardList(ReviewStandardListRequest request);
// 根据要点列表查询标准列表
List<ReviewStandard> findByKeyPointList(@Param("keyPointList") List<ReviewKeyPoint> keyPointList, @Param("request") ReviewFindListRequest request);
} }
...@@ -13,4 +13,6 @@ public interface SystemReviewTaskMapper extends BaseMapper<SystemReviewTask> { ...@@ -13,4 +13,6 @@ public interface SystemReviewTaskMapper extends BaseMapper<SystemReviewTask> {
// 查询处理中的任务 // 查询处理中的任务
List<SystemReviewTask> findListInProcess(); List<SystemReviewTask> findListInProcess();
List<SystemReviewTask> findByDetailsResult(@Param("detailId") Long detailId);
} }
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.domain.ReviewDetails; import com.ruoyi.domain.ReviewDetails;
import com.ruoyi.domain.ReviewScene; import com.ruoyi.domain.ReviewScene;
import com.ruoyi.domain.ReviewSceneChangeTask; import com.ruoyi.domain.ReviewSceneChangeTask;
import com.ruoyi.web.request.ReviewSceneFindListRequest;
import java.util.List; import java.util.List;
...@@ -22,4 +23,6 @@ public interface ReviewSceneService extends IService<ReviewScene> { ...@@ -22,4 +23,6 @@ public interface ReviewSceneService extends IService<ReviewScene> {
*/ */
void change(ReviewSceneChangeTask reviewSceneChangeTask); void change(ReviewSceneChangeTask reviewSceneChangeTask);
List<ReviewScene> findList(ReviewSceneFindListRequest request);
} }
...@@ -2,8 +2,11 @@ package com.ruoyi.service; ...@@ -2,8 +2,11 @@ package com.ruoyi.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.domain.ReviewStandard; import com.ruoyi.domain.ReviewStandard;
import com.ruoyi.web.request.ReviewFindListRequest;
import com.ruoyi.web.request.ReviewStandardListByPageRequest; import com.ruoyi.web.request.ReviewStandardListByPageRequest;
import com.ruoyi.web.request.ReviewStandardListRequest;
import com.ruoyi.web.response.ReviewStandardInspectionContentResponse; import com.ruoyi.web.response.ReviewStandardInspectionContentResponse;
import com.ruoyi.web.response.ReviewStandardListResponse;
import com.ruoyi.web.response.ReviewStandardResponse; import com.ruoyi.web.response.ReviewStandardResponse;
import com.ruoyi.web.response.ReviewStandardTestInspectionContentResponse; import com.ruoyi.web.response.ReviewStandardTestInspectionContentResponse;
...@@ -43,4 +46,17 @@ public interface ReviewStandardService extends IService<ReviewStandard> { ...@@ -43,4 +46,17 @@ public interface ReviewStandardService extends IService<ReviewStandard> {
* @return * @return
*/ */
List<ReviewStandardTestInspectionContentResponse> selectTestInspectionContent(Long id); List<ReviewStandardTestInspectionContentResponse> selectTestInspectionContent(Long id);
/**
* 查询标准要求
* @param request
* @return
*/
List<ReviewStandardListResponse> findReviewStandardList(ReviewStandardListRequest request);
// 标准-要点
List<ReviewStandard> findKeyPointList(ReviewFindListRequest request);
// 标准-要点-细则
List<ReviewStandard> findDetailsList(ReviewFindListRequest request);
} }
...@@ -25,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -25,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Objects;
/** /**
* @author wangfei * @author wangfei
...@@ -145,8 +146,12 @@ public class ReviewSceneChangeTaskServiceImpl extends ServiceImpl<ReviewSceneCha ...@@ -145,8 +146,12 @@ public class ReviewSceneChangeTaskServiceImpl extends ServiceImpl<ReviewSceneCha
// 更新审核标准 // 更新审核标准
reviewSceneService.change(task); reviewSceneService.change(task);
// 通知受影响的问卷 //场景变更时发送信息
reviewTaskInboxService.saveNotify(taskId, task.getType()); if (Objects.equals(task.getOperationSort(), "ADD_SCENE") || Objects.equals(task.getOperationSort(), "DELETE_SCENE")) {
// 通知受影响的问卷
reviewTaskInboxService.saveNotify(taskId, task.getType());
}
} }
} }
......
...@@ -6,6 +6,7 @@ import com.ruoyi.domain.ReviewScene; ...@@ -6,6 +6,7 @@ import com.ruoyi.domain.ReviewScene;
import com.ruoyi.domain.ReviewSceneChangeTask; import com.ruoyi.domain.ReviewSceneChangeTask;
import com.ruoyi.mapper.ReviewSceneMapper; import com.ruoyi.mapper.ReviewSceneMapper;
import com.ruoyi.service.ReviewSceneService; import com.ruoyi.service.ReviewSceneService;
import com.ruoyi.web.request.ReviewSceneFindListRequest;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -32,4 +33,10 @@ public class ReviewSceneServiceImpl extends ServiceImpl<ReviewSceneMapper, Revie ...@@ -32,4 +33,10 @@ public class ReviewSceneServiceImpl extends ServiceImpl<ReviewSceneMapper, Revie
String operation = reviewSceneChangeTask.getOperation(); String operation = reviewSceneChangeTask.getOperation();
strategyReviewSceneChangeContext.getResource(operation).doChange(reviewSceneChangeTask); strategyReviewSceneChangeContext.getResource(operation).doChange(reviewSceneChangeTask);
} }
@Override
public List<ReviewScene> findList(ReviewSceneFindListRequest request) {
return reviewSceneMapper.findList(request);
}
} }
...@@ -3,10 +3,15 @@ package com.ruoyi.service.impl; ...@@ -3,10 +3,15 @@ package com.ruoyi.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.utils.SnowflakeUtil; import com.ruoyi.common.utils.SnowflakeUtil;
import com.ruoyi.domain.*; import com.ruoyi.domain.*;
import com.ruoyi.mapper.ReviewDetailsMapper;
import com.ruoyi.mapper.ReviewKeyPointMapper;
import com.ruoyi.mapper.ReviewStandardMapper; import com.ruoyi.mapper.ReviewStandardMapper;
import com.ruoyi.service.*; import com.ruoyi.service.*;
import com.ruoyi.web.request.ReviewFindListRequest;
import com.ruoyi.web.request.ReviewStandardListByPageRequest; import com.ruoyi.web.request.ReviewStandardListByPageRequest;
import com.ruoyi.web.request.ReviewStandardListRequest;
import com.ruoyi.web.response.ReviewStandardInspectionContentResponse; import com.ruoyi.web.response.ReviewStandardInspectionContentResponse;
import com.ruoyi.web.response.ReviewStandardListResponse;
import com.ruoyi.web.response.ReviewStandardResponse; import com.ruoyi.web.response.ReviewStandardResponse;
import com.ruoyi.web.response.ReviewStandardTestInspectionContentResponse; import com.ruoyi.web.response.ReviewStandardTestInspectionContentResponse;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -33,6 +38,12 @@ public class ReviewStandardServiceImpl extends ServiceImpl<ReviewStandardMapper, ...@@ -33,6 +38,12 @@ public class ReviewStandardServiceImpl extends ServiceImpl<ReviewStandardMapper,
@Autowired @Autowired
private ReviewStandardMapper reviewStandardMapper; private ReviewStandardMapper reviewStandardMapper;
@Autowired
private ReviewKeyPointMapper reviewKeyPointMapper;
@Autowired
private ReviewDetailsMapper reviewDetailsMapper;
/** /**
* 查询所有审查 标准、要点、细则、场景 并组织成树状结构返回 * 查询所有审查 标准、要点、细则、场景 并组织成树状结构返回
* @param standardId 关联到标准库中的id * @param standardId 关联到标准库中的id
...@@ -98,6 +109,37 @@ public class ReviewStandardServiceImpl extends ServiceImpl<ReviewStandardMapper, ...@@ -98,6 +109,37 @@ public class ReviewStandardServiceImpl extends ServiceImpl<ReviewStandardMapper,
return list; return list;
} }
@Override
public List<ReviewStandardListResponse> findReviewStandardList(ReviewStandardListRequest request) {
return reviewStandardMapper.findReviewStandardList(request);
}
// 标准-要点
@Override
public List<ReviewStandard> findKeyPointList(ReviewFindListRequest request) {
List<ReviewKeyPoint> keyPointList = reviewKeyPointMapper.findKeyPointList(request);
List<ReviewStandard> standardList = reviewStandardMapper.findByKeyPointList(keyPointList,request);
return onlyBuildStandard(standardList,keyPointList);
}
// 标准-要点-细则
@Override
public List<ReviewStandard> findDetailsList(ReviewFindListRequest request) {
List<ReviewDetails> detailsList = reviewDetailsMapper.findDetailsList(request);
List<ReviewKeyPoint> keyPointList = reviewKeyPointMapper.findByDetailsList(detailsList);
List<ReviewStandard> standardList = reviewStandardMapper.findByKeyPointList(keyPointList,request);
List<ReviewKeyPoint> keyPointListTree = buildKeyPoint(keyPointList,detailsList);
return buildStandard(standardList,keyPointListTree);
}
/** /**
* 将审查 标准、要点、细则、场景 按照父子关系拆分写入到各自的表中 * 将审查 标准、要点、细则、场景 按照父子关系拆分写入到各自的表中
* @param reviewStandardList * @param reviewStandardList
...@@ -282,4 +324,33 @@ public class ReviewStandardServiceImpl extends ServiceImpl<ReviewStandardMapper, ...@@ -282,4 +324,33 @@ public class ReviewStandardServiceImpl extends ServiceImpl<ReviewStandardMapper,
return reviewStandardList; return reviewStandardList;
} }
/**
* 构建负责关系 - 只构建 审查标准&审查要点
* @param reviewStandardList
* @param reviewKeyPointList
* @return
*/
private List<ReviewStandard> onlyBuildStandard(List<ReviewStandard> reviewStandardList, List<ReviewKeyPoint> reviewKeyPointList) {
for(ReviewStandard reviewStandard : reviewStandardList) {
Long standardId = reviewStandard.getId();
List<ReviewKeyPoint> children = new ArrayList<>();
for(ReviewKeyPoint reviewKeyPoint : reviewKeyPointList) {
if(reviewKeyPoint.getReviewStandardId().equals(standardId)) {
children.add(reviewKeyPoint);
}
}
if(children.size() > 0) {
reviewStandard.setKeyPointList(children);
}
}
return reviewStandardList;
}
} }
...@@ -3,11 +3,11 @@ package com.ruoyi.service.impl; ...@@ -3,11 +3,11 @@ package com.ruoyi.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.constant.HttpStatus; import com.ruoyi.common.constant.HttpStatus;
import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.domain.CarReviewTask; import com.ruoyi.domain.*;
import com.ruoyi.domain.ReviewStandard; import com.ruoyi.mapper.CarReviewTaskMapper;
import com.ruoyi.domain.SystemReviewTask; import com.ruoyi.mapper.SystemReviewTaskMapper;
import com.ruoyi.domain.ReviewTaskInbox;
import com.ruoyi.service.CarReviewTaskService; import com.ruoyi.service.CarReviewTaskService;
import com.ruoyi.service.ReviewSceneChangeTaskService;
import com.ruoyi.service.ReviewTaskInboxService; import com.ruoyi.service.ReviewTaskInboxService;
import com.ruoyi.mapper.ReviewTaskInboxMapper; import com.ruoyi.mapper.ReviewTaskInboxMapper;
import com.ruoyi.service.SystemReviewTaskService; import com.ruoyi.service.SystemReviewTaskService;
...@@ -37,6 +37,15 @@ public class ReviewTaskInboxServiceImpl extends ServiceImpl<ReviewTaskInboxMappe ...@@ -37,6 +37,15 @@ public class ReviewTaskInboxServiceImpl extends ServiceImpl<ReviewTaskInboxMappe
@Autowired @Autowired
private ReviewTaskInboxMapper reviewTaskInboxMapper; private ReviewTaskInboxMapper reviewTaskInboxMapper;
@Autowired
private ReviewSceneChangeTaskService reviewSceneChangeTaskService;
@Autowired
private SystemReviewTaskMapper systemReviewTaskMapper;
@Autowired
private CarReviewTaskMapper carReviewTaskMapper;
/** /**
* 保存场景变更对进行中的问卷产生的影响,用于提醒问卷使用者场景发生了变更。 * 保存场景变更对进行中的问卷产生的影响,用于提醒问卷使用者场景发生了变更。
* 体系审查任务、侧性审查任务分别查询不同的表 * 体系审查任务、侧性审查任务分别查询不同的表
...@@ -71,8 +80,10 @@ public class ReviewTaskInboxServiceImpl extends ServiceImpl<ReviewTaskInboxMappe ...@@ -71,8 +80,10 @@ public class ReviewTaskInboxServiceImpl extends ServiceImpl<ReviewTaskInboxMappe
public void doSaveNotifyByCarReview(Long reviewSceneChangeTaskId) { public void doSaveNotifyByCarReview(Long reviewSceneChangeTaskId) {
// 查找所有受变更影响的体系审查任务(所有PENDING状态的任务) // 查找所有受变更影响的体系审查任务(所有PENDING状态的任务 且回答过的)
List<CarReviewTask> pendingTasks = carReviewTaskService.findListByStatus(CarReviewTask.TASK_STATUS_PENDING); ReviewSceneChangeTask reviewSceneChangeTask = reviewSceneChangeTaskService.getById(reviewSceneChangeTaskId);
List<CarReviewTask> pendingTasks = carReviewTaskMapper.findByDetailsResult(reviewSceneChangeTask.getDetailsId());
// 构建并保存提醒消息 // 构建并保存提醒消息
List<ReviewTaskInbox> inboxes = new ArrayList(); List<ReviewTaskInbox> inboxes = new ArrayList();
...@@ -89,8 +100,10 @@ public class ReviewTaskInboxServiceImpl extends ServiceImpl<ReviewTaskInboxMappe ...@@ -89,8 +100,10 @@ public class ReviewTaskInboxServiceImpl extends ServiceImpl<ReviewTaskInboxMappe
public void doSaveNotifyBySystemReview(Long reviewSceneChangeTaskId) { public void doSaveNotifyBySystemReview(Long reviewSceneChangeTaskId) {
// 查找所有受变更影响的体系审查任务(所有PENDING状态的任务) // 查找所有受变更影响的体系审查任务(所有PENDING状态的任务 且回答过的)
List<SystemReviewTask> pendingTasks = systemReviewTaskService.findListByStatus(SystemReviewTask.STATUS_PENDING); ReviewSceneChangeTask reviewSceneChangeTask = reviewSceneChangeTaskService.getById(reviewSceneChangeTaskId);
List<SystemReviewTask> pendingTasks = systemReviewTaskMapper.findByDetailsResult(reviewSceneChangeTask.getDetailsId());
// 构建并保存提醒消息 // 构建并保存提醒消息
List<ReviewTaskInbox> inboxes = new ArrayList(); List<ReviewTaskInbox> inboxes = new ArrayList();
......
package com.ruoyi.service.impl; package com.ruoyi.service.impl;
import com.ruoyi.domain.ReviewDetails;
import com.ruoyi.domain.ReviewKeyPoint;
import com.ruoyi.domain.ReviewScene; import com.ruoyi.domain.ReviewScene;
import com.ruoyi.domain.ReviewSceneChangeTask; import com.ruoyi.domain.ReviewSceneChangeTask;
import com.ruoyi.mapper.ReviewDetailsMapper;
import com.ruoyi.mapper.ReviewKeyPointMapper;
import com.ruoyi.mapper.ReviewSceneMapper; import com.ruoyi.mapper.ReviewSceneMapper;
import com.ruoyi.service.StrategyReviewSceneChange; import com.ruoyi.service.StrategyReviewSceneChange;
import com.ruoyi.service.ReviewSceneChangeTaskService; import com.ruoyi.service.ReviewSceneChangeTaskService;
...@@ -11,6 +15,8 @@ import org.springframework.context.ApplicationContext; ...@@ -11,6 +15,8 @@ import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Objects;
@Transactional @Transactional
@Service @Service
public class StrategyReviewSceneChangeAdd implements StrategyReviewSceneChange, InitializingBean { public class StrategyReviewSceneChangeAdd implements StrategyReviewSceneChange, InitializingBean {
...@@ -26,6 +32,12 @@ public class StrategyReviewSceneChangeAdd implements StrategyReviewSceneChange, ...@@ -26,6 +32,12 @@ public class StrategyReviewSceneChangeAdd implements StrategyReviewSceneChange,
@Autowired @Autowired
private ReviewSceneChangeTaskService reviewSceneChangeTaskService; private ReviewSceneChangeTaskService reviewSceneChangeTaskService;
@Autowired
private ReviewKeyPointMapper reviewKeyPointMapper;
@Autowired
private ReviewDetailsMapper reviewDetailsMapper;
/** /**
* 新增审查场景 * 新增审查场景
* @param reviewSceneChangeTask * @param reviewSceneChangeTask
...@@ -33,15 +45,45 @@ public class StrategyReviewSceneChangeAdd implements StrategyReviewSceneChange, ...@@ -33,15 +45,45 @@ public class StrategyReviewSceneChangeAdd implements StrategyReviewSceneChange,
@Override @Override
public void doChange(ReviewSceneChangeTask reviewSceneChangeTask) { public void doChange(ReviewSceneChangeTask reviewSceneChangeTask) {
// 保存新增的场景 if (Objects.equals(reviewSceneChangeTask.getOperationSort(), "ADD_SCENE")) {
ReviewScene reviewScene = new ReviewScene()
.setText(reviewSceneChangeTask.getNewText()) // 保存新增的场景
.setReviewDetailsId(reviewSceneChangeTask.getDetailsId()); ReviewScene reviewScene = new ReviewScene()
reviewSceneMapper.insert(reviewScene); .setText(reviewSceneChangeTask.getNewText())
.setReviewDetailsId(reviewSceneChangeTask.getDetailsId());
reviewSceneMapper.insert(reviewScene);
// 为场景变更任务的 场景关联id字段赋值
reviewSceneChangeTask.setReviewSceneId(reviewScene.getId());
reviewSceneChangeTaskService.updateById(reviewSceneChangeTask);
}
// 保存新增的要点
if (Objects.equals(reviewSceneChangeTask.getOperationSort(), "ADD_KEYPOINT")) {
// 要点
ReviewKeyPoint reviewKeyPoint = new ReviewKeyPoint()
.setText(reviewSceneChangeTask.getKeypoint())
.setReviewStandardId(reviewSceneChangeTask.getStandardId());
reviewKeyPointMapper.insert(reviewKeyPoint);
// 细则
ReviewDetails reviewDetails = new ReviewDetails()
.setText(reviewSceneChangeTask.getDetails())
.setReviewKeypointId(reviewKeyPoint.getId());
reviewDetailsMapper.insert(reviewDetails);
}
// 保存新增的细则
if (Objects.equals(reviewSceneChangeTask.getOperationSort(), "ADD_DETAILS")) {
// 细则
ReviewDetails reviewDetails = new ReviewDetails()
.setText(reviewSceneChangeTask.getDetails())
.setReviewKeypointId(reviewSceneChangeTask.getKeypointId());
reviewDetailsMapper.insert(reviewDetails);
}
// 为场景变更任务的 场景关联id字段赋值
reviewSceneChangeTask.setReviewSceneId(reviewScene.getId());
reviewSceneChangeTaskService.updateById(reviewSceneChangeTask);
} }
......
package com.ruoyi.service.impl; package com.ruoyi.service.impl;
import com.ruoyi.domain.ReviewDetails;
import com.ruoyi.domain.ReviewDetailsResult;
import com.ruoyi.domain.ReviewScene;
import com.ruoyi.domain.ReviewSceneChangeTask; 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.service.ReviewDetailsService;
import com.ruoyi.service.ReviewKeyPointService;
import com.ruoyi.service.StrategyReviewSceneChange; import com.ruoyi.service.StrategyReviewSceneChange;
import com.ruoyi.service.ReviewSceneService; import com.ruoyi.service.ReviewSceneService;
import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.InitializingBean;
...@@ -9,6 +18,9 @@ import org.springframework.context.ApplicationContext; ...@@ -9,6 +18,9 @@ import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Objects;
@Transactional @Transactional
@Service @Service
public class StrategyReviewSceneChangeDelete implements StrategyReviewSceneChange, InitializingBean { public class StrategyReviewSceneChangeDelete implements StrategyReviewSceneChange, InitializingBean {
...@@ -21,9 +33,70 @@ public class StrategyReviewSceneChangeDelete implements StrategyReviewSceneChang ...@@ -21,9 +33,70 @@ public class StrategyReviewSceneChangeDelete implements StrategyReviewSceneChang
@Autowired @Autowired
private ReviewSceneService reviewSceneService; private ReviewSceneService reviewSceneService;
@Autowired
private ReviewKeyPointService reviewKeyPointService;
@Autowired
private ReviewDetailsService reviewDetailsService;
@Autowired
private ReviewDetailsMapper reviewDetailsMapper;
@Autowired
private ReviewSceneMapper reviewSceneMapper;
@Autowired
private ReviewDetailsResultMapper reviewDetailsResultMapper;
@Override @Override
public void doChange(ReviewSceneChangeTask reviewSceneChangeTask) { public void doChange(ReviewSceneChangeTask reviewSceneChangeTask) {
reviewSceneService.removeById(reviewSceneChangeTask.getReviewSceneId()); // 删除场景
if (Objects.equals(reviewSceneChangeTask.getOperationSort(), "DELETE_SCENE")) {
reviewSceneService.removeById(reviewSceneChangeTask.getReviewSceneId());
}
// 删除要点
if (Objects.equals(reviewSceneChangeTask.getOperationSort(), "DELETE_KEYPOINT")) {
// 删除要点
reviewKeyPointService.removeById(reviewSceneChangeTask.getKeypointId());
// 删除包含的细则
List<ReviewDetails> reviewDetailsList = reviewDetailsMapper.findByKeyPointId(reviewSceneChangeTask.getKeypointId());
if (reviewDetailsList != null && reviewDetailsList.size() != 0) {
reviewDetailsService.removeBatchByIds(reviewDetailsList);
}
// 删除细则对应的结果
List<ReviewDetailsResult> resultList = reviewDetailsResultMapper.findByDetailsList(reviewDetailsList);
if (resultList != null && resultList.size() != 0) {
reviewDetailsResultMapper.deleteBatchIds(resultList);
}
// 删除包含的场景
List<ReviewScene> reviewScenesList = reviewSceneService.findByDetailsList(reviewDetailsList);
if (reviewScenesList != null && reviewScenesList.size() != 0) {
reviewSceneService.removeBatchByIds(reviewScenesList);
}
}
// 删除细则
if (Objects.equals(reviewSceneChangeTask.getOperationSort(), "DELETE_DETAILS")) {
// 删除细则
reviewDetailsService.removeById(reviewSceneChangeTask.getDetailsId());
// 删除细则对应的结果
List<ReviewDetailsResult> resultList = reviewDetailsResultMapper.findByDetailsId(reviewSceneChangeTask.getDetailsId());
if (resultList != null && resultList.size() != 0) {
reviewDetailsResultMapper.deleteBatchIds(resultList);
}
// 删除包含的场景
List<ReviewScene> reviewScenesList = reviewSceneMapper.findByDetailId(reviewSceneChangeTask.getDetailsId());
if (reviewScenesList != null && reviewScenesList.size() != 0) {
reviewSceneService.removeBatchByIds(reviewScenesList);
}
}
} }
@Override @Override
......
package com.ruoyi.service.impl; package com.ruoyi.service.impl;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.DataStatisticsUtils; import com.ruoyi.common.DataStatisticsUtils;
import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.entity.SysUser;
...@@ -212,38 +214,44 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task>implements Tas ...@@ -212,38 +214,44 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task>implements Tas
// 构建并保存任务信息 // 构建并保存任务信息
// 总任务 // 总任务
Task task = new Task(); Task task = taskMapper.selectById(request.getId());
task.setLeaderId(leader.getUserId()); task.setLeaderId(leader.getUserId());
task.setLeader(leader.getName()); task.setLeader(leader.getName());
String joinTaskList = StringUtils.join(request.getTaskList(),","); String joinTaskList = StringUtils.join(request.getTaskList(),",");
task.setTaskList(joinTaskList); task.setTaskList(joinTaskList);
BeanUtils.copyBeanProp(task, request); BeanUtils.copyBeanProp(task, request);
Task oldTask = taskMapper.selectById(request.getId());
if (task.getTaskStatus() == Task.TASK_STATUS_NEW) { if (Objects.equals(task.getTaskStatus(), Task.TASK_STATUS_NEW)) {
if(request.getTaskList().contains(Task.SUB_TASK_GRFIS) && oldTask.getCarReviewTaskId() == null) { if(request.getTaskList().contains(Task.SUB_TASK_GRFIS) && task.getCarReviewTaskId() == null) {
// 保存车型审查问卷任务 // 保存车型审查问卷任务
TaskCreateRequest createRequest = new TaskCreateRequest(); TaskCreateRequest createRequest = new TaskCreateRequest();
BeanUtils.copyBeanProp(createRequest, request); BeanUtils.copyBeanProp(createRequest, request);
task.setCarReviewTaskId(saveCarReview(createRequest,initiator,standard,leader)); task.setCarReviewTaskId(saveCarReview(createRequest,initiator,standard,leader));
} }
if ( !request.getTaskList().contains(Task.SUB_TASK_GRFIS) && oldTask.getCarReviewTaskId() != null) { if ( !request.getTaskList().contains(Task.SUB_TASK_GRFIS) && task.getCarReviewTaskId() != null) {
carReviewTaskMapper.deleteById(oldTask.getCarReviewTaskId()); carReviewTaskMapper.deleteById(task.getCarReviewTaskId());
task.setCarReviewTaskIdNull();
} }
if(request.getTaskList().contains(Task.SUB_TASK_SRAIF) && oldTask.getSystemReviewTaskId() == null) { if(request.getTaskList().contains(Task.SUB_TASK_SRAIF) && task.getSystemReviewTaskId() == null) {
// 保存体系审查任务 // 保存体系审查任务
TaskCreateRequest createRequest = new TaskCreateRequest(); TaskCreateRequest createRequest = new TaskCreateRequest();
BeanUtils.copyBeanProp(createRequest, request); BeanUtils.copyBeanProp(createRequest, request);
task.setSystemReviewTaskId(saveSystemReview(createRequest,initiator,standard,leader)); task.setSystemReviewTaskId(saveSystemReview(createRequest,initiator,standard,leader));
} }
if ( !request.getTaskList().contains(Task.SUB_TASK_SRAIF) && oldTask.getSystemReviewTaskId() != null) { if ( !request.getTaskList().contains(Task.SUB_TASK_SRAIF) && task.getSystemReviewTaskId() != null) {
systemReviewTaskMapper.deleteById(oldTask.getSystemReviewTaskId()); systemReviewTaskMapper.deleteById(task.getSystemReviewTaskId());
task.setSystemReviewTaskIdNull();
} }
taskStateFacade.doCreate(task, request.getTaskList());
} }
task.setMaxPointer(request.getTaskList().size());
taskService.updateById(task); taskService.updateById(task);
// 构建并保存该任务所关联的审核组信息 // 构建并保存该任务所关联的审核组信息
List<TaskUserRelation> list = taskUserRelationService.selectQTeamMembers(request.getId()); List<TaskUserRelation> list = taskUserRelationService.selectQTeamMembers(request.getId());
taskUserRelationService.removeBatchByIds(list); taskUserRelationService.removeBatchByIds(list);
...@@ -402,20 +410,24 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task>implements Tas ...@@ -402,20 +410,24 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task>implements Tas
} }
} }
// 任务组长
task.setLeaderId(leader.getUserId());
task.setLeader(leader.getName());
}
// 暂存
taskService.save(task);
if (auditors.size() != 0 && auditors != null) {
// 构建并保存该任务所关联的审核组信息 // 构建并保存该任务所关联的审核组信息
for(TaskUserRelation auditor : auditors) { for(TaskUserRelation auditor : auditors) {
auditor.setTaskId(task.getId()); auditor.setTaskId(task.getId());
} }
taskUserRelationService.saveBatch(auditors); taskUserRelationService.saveBatch(auditors);
// 任务组长
task.setLeaderId(leader.getUserId());
task.setLeader(leader.getName());
} }
// 暂存
taskService.save(task);
// 保存关联的整车样品信息 // 保存关联的整车样品信息
......
...@@ -39,7 +39,9 @@ public abstract class TaskStateAdapter implements TaskState { ...@@ -39,7 +39,9 @@ public abstract class TaskStateAdapter implements TaskState {
throw new ServiceException("已没有可执行的子任务节点", HttpStatus.ERROR); throw new ServiceException("已没有可执行的子任务节点", HttpStatus.ERROR);
} }
task.setPointer(task.getPointer() + 1); if (task.getPointer() + 1 <= task.getMaxPointer() ) {
task.setPointer(task.getPointer() + 1);
}
taskService.updateById(task); taskService.updateById(task);
} }
......
package com.ruoyi.web;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.domain.ReviewScene;
import com.ruoyi.service.ReviewSceneService;
import com.ruoyi.web.request.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
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.*;
@Api(tags = "审查场景")
@RestController
@RequestMapping("/review/scene")
public class ReviewSceneController extends BaseController {
@Autowired
private ReviewSceneService reviewSceneService;
@ApiOperation("查询审查场景列表")
@Trace
@Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")})
@RequestMapping(method = RequestMethod.POST, value = "/findSceneList")
public TableDataInfo<ReviewScene> findSceneList(@Validated @RequestBody ReviewSceneFindListRequest request) {
return getDataTable(reviewSceneService.findList(request));
}
}
...@@ -7,20 +7,19 @@ import com.ruoyi.common.core.domain.R; ...@@ -7,20 +7,19 @@ import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.domain.ReviewStandard; import com.ruoyi.domain.ReviewStandard;
import com.ruoyi.service.ReviewStandardService; import com.ruoyi.service.ReviewStandardService;
import com.ruoyi.web.request.ReviewStandardInspectionContentRequest; import com.ruoyi.web.request.*;
import com.ruoyi.web.request.ReviewStandardListByPageRequest;
import com.ruoyi.web.request.ReviewStandardTestInspectionContentRequest;
import com.ruoyi.web.response.ReviewStandardInspectionContentResponse; import com.ruoyi.web.response.ReviewStandardInspectionContentResponse;
import com.ruoyi.web.response.ReviewStandardListResponse;
import com.ruoyi.web.response.ReviewStandardResponse; import com.ruoyi.web.response.ReviewStandardResponse;
import com.ruoyi.web.response.ReviewStandardTestInspectionContentResponse; import com.ruoyi.web.response.ReviewStandardTestInspectionContentResponse;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
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.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
...@@ -72,4 +71,30 @@ public class ReviewStandardController extends BaseController { ...@@ -72,4 +71,30 @@ public class ReviewStandardController extends BaseController {
List<ReviewStandardTestInspectionContentResponse> response = reviewStandardService.selectTestInspectionContent(request.getId()); List<ReviewStandardTestInspectionContentResponse> response = reviewStandardService.selectTestInspectionContent(request.getId());
return R.ok(response); return R.ok(response);
} }
@ApiOperation("查询标注要求列表")
@Trace
@Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")})
@RequestMapping(method = RequestMethod.POST, value = "/findReviewStandardList")
public TableDataInfo<ReviewStandardListResponse> findReviewStandardList(@Validated @RequestBody ReviewStandardListRequest request) {
return getDataTable(reviewStandardService.findReviewStandardList(request));
}
// 标准-要点
@ApiOperation("查询审查要点列表")
@Trace
@Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")})
@RequestMapping(method = RequestMethod.POST, value = "/findKeyPointList")
public TableDataInfo<ReviewStandard> findKeyPointList(@Validated @RequestBody ReviewFindListRequest request) {
return getDataTable(reviewStandardService.findKeyPointList(request));
}
// 标准-要点-细则
@ApiOperation("查询审查细则列表")
@Trace
@Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")})
@RequestMapping(method = RequestMethod.POST, value = "/findDetailsList")
public TableDataInfo<ReviewStandard> findDetailsList(@Validated @RequestBody ReviewFindListRequest request) {
return getDataTable(reviewStandardService.findDetailsList(request));
}
} }
package com.ruoyi.web.request;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
@ApiModel(value = "ReviewFindListRequest", description = "查询审查参数")
@Data
public class ReviewFindListRequest {
@ApiModelProperty("审查内容")
private String text;
@ApiModelProperty("总标准ID")
@NotNull(message = "总标准ID不能为空")
private Long standardId;
@ApiModelProperty("标准类型[system、car、test]")
@NotNull(message = "标准类型不能为空")
@NotEmpty(message = "标准类型不能为空")
private String type;
}
...@@ -8,6 +8,12 @@ import lombok.Data; ...@@ -8,6 +8,12 @@ import lombok.Data;
@Data @Data
public class ReviewSceneChangeTaskCreateRequest { public class ReviewSceneChangeTaskCreateRequest {
@ApiModelProperty("检验标准id")
private String inspectStandardId;
@ApiModelProperty("检验标准名称")
private String inspectStandardNo;
/** /**
* 章节 * 章节
*/ */
......
package com.ruoyi.web.request;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel(value = "ReviewSceneFindListRequest", description = "查询审查场景")
@Data
public class ReviewSceneFindListRequest {
@ApiModelProperty("细则id")
private Long detailId;
@ApiModelProperty("场景内容")
private String text;
}
package com.ruoyi.web.request;
import com.ruoyi.common.core.page.PageDomain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@ApiModel(value = "ReviewStandardListRequest", description = "查询标准要求")
@Data
public class ReviewStandardListRequest {
@ApiModelProperty("章节")
private String chapter;
@ApiModelProperty("要求")
private String text;
@ApiModelProperty("分类要求[system、car、test]")
private String type;
}
...@@ -25,8 +25,8 @@ public class ReviewSceneChangeTaskResponse { ...@@ -25,8 +25,8 @@ public class ReviewSceneChangeTaskResponse {
@ApiModelProperty("检验标准id") @ApiModelProperty("检验标准id")
private String inspectStandardId; private String inspectStandardId;
@ApiModelProperty("检验标准名称") @ApiModelProperty("检验标准")
private String inspectStandardName; private String inspectStandardNo;
/** /**
* 章节 * 章节
......
package com.ruoyi.web.response;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "ReviewStandardListResponse", description = "查询标准要求")
public class ReviewStandardListResponse {
@ApiModelProperty("ID")
@JsonFormat(shape = JsonFormat.Shape.STRING)
private Long id;
@ApiModelProperty("章节")
private String chapter;
@ApiModelProperty("文本内容")
private String text;
}
...@@ -45,4 +45,13 @@ ...@@ -45,4 +45,13 @@
SELECT id,task_no,task_status,task_initiator,task_initiator_dept,task_result,task_begin_time,task_end_time,standard,create_time,leader_id,leader,standard_id,name,standard_no,file,submit_id,submit_name,images_url SELECT id,task_no,task_status,task_initiator,task_initiator_dept,task_result,task_begin_time,task_end_time,standard,create_time,leader_id,leader,standard_id,name,standard_no,file,submit_id,submit_name,images_url
FROM t_car_review_task WHERE task_status = #{taskStatus} FROM t_car_review_task WHERE task_status = #{taskStatus}
</select> </select>
<select id="findByDetailsResult" resultType="com.ruoyi.domain.CarReviewTask">
SELECT tr.id,tr.task_no,tr.task_status,tr.task_initiator,tr.task_initiator_dept,
tr.task_result,tr.task_begin_time,tr.task_end_time,tr.standard,tr.create_time,
tr.leader_id,tr.leader,tr.standard_id,tr.name,tr.standard_no,tr.file,tr.submit_id,
tr.submit_name,tr.images_url
FROM t_car_review_task tr
LEFT JOIN t_review_details_result trdr ON tr.id = trdr.task_id
WHERE trdr.review_details_id = #{detailId} and tr.task_status = 'PENDING'
</select>
</mapper> </mapper>
...@@ -30,4 +30,17 @@ ...@@ -30,4 +30,17 @@
INNER JOIN t_review_standard trs ON trs.id = trk.review_standard_id INNER JOIN t_review_standard trs ON trs.id = trk.review_standard_id
WHERE trs.type = #{type}), 1) AS resultOverSum WHERE trs.type = #{type}), 1) AS resultOverSum
</select> </select>
<select id="findByKeyPointId" resultType="com.ruoyi.domain.ReviewDetails">
SELECT id, text, review_keypoint_id FROM t_review_details
WHERE review_keypoint_id = #{keyPointId}
</select>
<select id="findDetailsList" resultType="com.ruoyi.domain.ReviewDetails">
SELECT id, text, review_keypoint_id
FROM t_review_details
<where>
<if test="text != null and text != ''">
text like concat('%',#{text},'%')
</if>
</where>
</select>
</mapper> </mapper>
...@@ -38,5 +38,16 @@ ...@@ -38,5 +38,16 @@
SELECT COUNT(*) sum FROM t_review_details_result SELECT COUNT(*) sum FROM t_review_details_result
WHERE passed = 0 AND task_id = #{taskId} WHERE passed = 0 AND task_id = #{taskId}
</select> </select>
<select id="findByDetailsList" resultType="com.ruoyi.domain.ReviewDetailsResult">
SELECT id, passed, comment, images_url, review_details_id, task_id, user_id, user_name, last_modify_time, catalogue, review_enterprise_archive_id
FROM t_review_details_result WHERE review_details_id IN
<foreach collection="reviewDetailsList" item="details" open="(" separator="," close=")">
#{details.id}
</foreach>
</select>
<select id="findByDetailsId" resultType="com.ruoyi.domain.ReviewDetailsResult">
SELECT id, passed, comment, images_url, review_details_id, task_id, user_id, user_name, last_modify_time, catalogue, review_enterprise_archive_id
FROM t_review_details_result WHERE review_details_id = #{detailsId}
</select>
</mapper> </mapper>
...@@ -11,5 +11,20 @@ ...@@ -11,5 +11,20 @@
#{standard.id} #{standard.id}
</foreach> </foreach>
</select> </select>
<select id="findKeyPointList" resultType="com.ruoyi.domain.ReviewKeyPoint">
SELECT id, text, review_standard_id FROM t_review_keypoint
<where>
<if test="text != null and text != ''">
and text like concat('%',#{text},'%')
</if>
</where>
</select>
<select id="findByDetailsList" resultType="com.ruoyi.domain.ReviewKeyPoint">
SELECT id, text, review_standard_id FROM t_review_keypoint
WHERE id IN
<foreach collection="detailsList" item="detail" open="(" separator="," close=")">
#{detail.reviewKeypointId}
</foreach>
</select>
</mapper> </mapper>
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<result property="taskBeginTime" column="task_begin_time" jdbcType="TIMESTAMP"/> <result property="taskBeginTime" column="task_begin_time" jdbcType="TIMESTAMP"/>
<result property="taskEndTime" column="task_end_time" jdbcType="TIMESTAMP"/> <result property="taskEndTime" column="task_end_time" jdbcType="TIMESTAMP"/>
<result property="inspectStandardId" column="inspect_standard_id" jdbcType="BIGINT"/> <result property="inspectStandardId" column="inspect_standard_id" jdbcType="BIGINT"/>
<result property="inspectStandardName" column="inspect_standard_name" jdbcType="VARCHAR"/> <result property="inspectStandardNo" column="inspect_standard_no" jdbcType="VARCHAR"/>
</resultMap> </resultMap>
<resultMap id="ResponseResultMap" type="com.ruoyi.web.response.ReviewSceneChangeTaskResponse"> <resultMap id="ResponseResultMap" type="com.ruoyi.web.response.ReviewSceneChangeTaskResponse">
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
<result property="taskEndTime" column="task_end_time" jdbcType="TIMESTAMP"/> <result property="taskEndTime" column="task_end_time" jdbcType="TIMESTAMP"/>
<result property="decision" column="decision" jdbcType="VARCHAR"/> <result property="decision" column="decision" jdbcType="VARCHAR"/>
<result property="inspectStandardId" column="inspect_standard_id" jdbcType="BIGINT"/> <result property="inspectStandardId" column="inspect_standard_id" jdbcType="BIGINT"/>
<result property="inspectStandardName" column="inspect_standard_name" jdbcType="VARCHAR"/> <result property="inspectStandardNo" column="inspect_standard_no" jdbcType="VARCHAR"/>
</resultMap> </resultMap>
<select id="findLastChangeByTaskId" resultType="com.ruoyi.domain.ReviewSceneChangeTask"> <select id="findLastChangeByTaskId" resultType="com.ruoyi.domain.ReviewSceneChangeTask">
......
...@@ -13,4 +13,17 @@ ...@@ -13,4 +13,17 @@
</foreach> </foreach>
</select> </select>
<select id="findByDetailId" resultType="com.ruoyi.domain.ReviewScene">
SELECT id, text, review_details_id FROM t_review_scene
WHERE review_details_id = #{detailId}
</select>
<select id="findList" resultType="com.ruoyi.domain.ReviewScene">
SELECT id, text, review_details_id FROM t_review_scene
<where>
review_details_id = #{detailId}
<if test="text != null and text != ''">
and text like concat('%', #{text}, '%')
</if>
</where>
</select>
</mapper> </mapper>
...@@ -25,6 +25,12 @@ ...@@ -25,6 +25,12 @@
</resultMap> </resultMap>
<resultMap id="StandardListResultMap" type="com.ruoyi.web.response.ReviewStandardListResponse">
<id property="id" column="id" jdbcType="BIGINT"/>
<result property="chapter" column="chapter" jdbcType="VARCHAR"/>
<result property="text" column="text" jdbcType="VARCHAR"/>
</resultMap>
<select id="findTree" resultMap="StandardTreeResultMap"> <select id="findTree" resultMap="StandardTreeResultMap">
SELECT id, chapter, text, standard_id, name, standard_no, file, conformity, inconformity FROM t_review_standard; SELECT id, chapter, text, standard_id, name, standard_no, file, conformity, inconformity FROM t_review_standard;
</select> </select>
...@@ -62,6 +68,27 @@ ...@@ -62,6 +68,27 @@
WHERE WHERE
usecase.review_standard_id = #{id} usecase.review_standard_id = #{id}
</select> </select>
<select id="findReviewStandardList" resultType="com.ruoyi.web.response.ReviewStandardListResponse">
SELECT id,chapter,text FROM t_review_standard
<where>
type = #{type}
<if test="chapter != null and chapter != ''">
and chapter like concat('%', #{chapter}, '%')
</if>
<if test="text != null and text != ''">
and text like concat('%', #{text}, '%')
</if>
</where>
</select>
<select id="findByKeyPointList" resultType="com.ruoyi.domain.ReviewStandard">
SELECT id, chapter, text FROM t_review_standard
WHERE id IN
<foreach collection="keyPointList" item="keyPoint" open="(" separator="," close=")">
#{keyPoint.reviewStandardId}
</foreach>
and standard_id = #{request.standardId}
and type = #{request.type}
</select>
</mapper> </mapper>
...@@ -37,5 +37,14 @@ ...@@ -37,5 +37,14 @@
FROM t_system_review_task WHERE task_status IN ('NEW','PENDING') FROM t_system_review_task WHERE task_status IN ('NEW','PENDING')
ORDER BY create_time DESC ORDER BY create_time DESC
</select> </select>
<select id="findByDetailsResult" resultType="com.ruoyi.domain.SystemReviewTask">
SELECT ts.id, ts.task_no, ts.task_status, ts.task_initiator, ts.task_initiator_dept,
ts.task_result, ts.task_begin_time, ts.task_end_time, ts.standard, ts.create_time,
ts.leader,ts.leader_id, ts.standard_id, ts.name, ts.standard_no, ts.file, ts.submit_by_id,
ts.submit_by_name,ts.images_url
FROM t_system_review_task ts
LEFT JOIN t_review_details_result trdr ON ts.id = trdr.task_id
WHERE trdr.review_details_id = #{detailId} and ts.task_status = 'PENDING'
</select>
</mapper> </mapper>
...@@ -126,6 +126,7 @@ ...@@ -126,6 +126,7 @@
SELECT t.id, t.system_review_task_id, t.car_review_task_id, SELECT t.id, t.system_review_task_id, t.car_review_task_id,
t.task_no,t.task_name,t.task_status,t.name, t.task_no,t.task_name,t.task_status,t.name,
t.product_model, t.product_model,
t.standard_no,
t.leader_id,t.leader, t.leader_id,t.leader,
t.task_begin_time,t.task_end_time t.task_begin_time,t.task_end_time
FROM t_task t FROM t_task t
...@@ -210,6 +211,7 @@ ...@@ -210,6 +211,7 @@
<select id="findUserFinish" parameterType="com.ruoyi.web.request.TaskFindFinishRequest" resultType="com.ruoyi.domain.Task"> <select id="findUserFinish" parameterType="com.ruoyi.web.request.TaskFindFinishRequest" resultType="com.ruoyi.domain.Task">
SELECT t.id, t.system_review_task_id, t.car_review_task_id, SELECT t.id, t.system_review_task_id, t.car_review_task_id,
t.task_no,t.task_name,t.task_status,t.name, t.task_no,t.task_name,t.task_status,t.name,
t.standard_no,
t.product_model, t.product_model,
t.leader_id,t.leader, t.leader_id,t.leader,
t.task_begin_time,t.task_end_time t.task_begin_time,t.task_end_time
......
package com.ruoyi.common.utils.bean; package com.ruoyi.common.utils.bean;
import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -107,4 +110,30 @@ public class BeanUtils extends org.springframework.beans.BeanUtils ...@@ -107,4 +110,30 @@ public class BeanUtils extends org.springframework.beans.BeanUtils
{ {
return m1.substring(BEAN_METHOD_PROP_INDEX).equals(m2.substring(BEAN_METHOD_PROP_INDEX)); return m1.substring(BEAN_METHOD_PROP_INDEX).equals(m2.substring(BEAN_METHOD_PROP_INDEX));
} }
public static <M> void mergeObject(M target, M source) {
BeanInfo beanInfo = null;
try {
beanInfo = Introspector.getBeanInfo(target.getClass());
// Iterate over all the attributes
for (PropertyDescriptor descriptor : beanInfo.getPropertyDescriptors()) {
// Only copy writable attributes
if (descriptor.getWriteMethod() != null) {
Object originalValue = descriptor.getReadMethod()
.invoke(target);
// Only copy values where the destination values is null
if (originalValue == null) {
Object defaultValue = descriptor.getReadMethod().invoke(
source);
descriptor.getWriteMethod().invoke(target, defaultValue);
}
}
}
} catch (Exception e) {
throw new RuntimeException("merge objects error", e);
}
}
} }
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