Commit ef2fb2a0 authored by 王飞's avatar 王飞

Merge branch 'wangdingyi' into 'dev'

评审所需查询

See merge request !144
parents bb64430b 8b04eabc
package com.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.StandardJsonTypeHandler;
import io.swagger.annotations.ApiModel;
......@@ -62,10 +59,12 @@ public class Task {
@ApiModelProperty("体系审查任务id")
@JsonFormat(shape = JsonFormat.Shape.STRING)
@TableField(insertStrategy = FieldStrategy.IGNORED,updateStrategy = FieldStrategy.IGNORED,whereStrategy = FieldStrategy.IGNORED)
private Long systemReviewTaskId;
@ApiModelProperty("车辆检查任务id")
@JsonFormat(shape = JsonFormat.Shape.STRING)
@TableField(insertStrategy = FieldStrategy.IGNORED,updateStrategy = FieldStrategy.IGNORED,whereStrategy = FieldStrategy.IGNORED)
private Long carReviewTaskId;
@ApiModelProperty("任务状态NEW(新建的)、PENDING(运行中的)、FINISH(已结束的)、TEMPORARILY(暂存)")
......@@ -180,4 +179,12 @@ public class Task {
return split[pointer + 1];
}
}
public void setSystemReviewTaskIdNull(){
this.systemReviewTaskId = null;
}
public void setCarReviewTaskIdNull() {
this.carReviewTaskId = null;
}
}
......@@ -3,6 +3,7 @@ package com.ruoyi.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.domain.ReviewDetails;
import com.ruoyi.domain.ReviewKeyPoint;
import com.ruoyi.web.request.ReviewFindListRequest;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
......@@ -20,4 +21,10 @@ public interface ReviewDetailsMapper extends BaseMapper<ReviewDetails> {
List<ReviewDetails> findNoResult(@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;
import com.ruoyi.domain.ReviewDetails;
import com.ruoyi.domain.ReviewDetailsResult;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
......@@ -26,6 +27,12 @@ public interface ReviewDetailsResultMapper extends BaseMapper<ReviewDetailsResul
* @return
*/
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;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.domain.ReviewDetails;
import com.ruoyi.domain.ReviewKeyPoint;
import com.ruoyi.domain.ReviewStandard;
import com.ruoyi.web.request.ReviewFindListRequest;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
......@@ -13,4 +15,9 @@ public interface ReviewKeyPointMapper extends BaseMapper<ReviewKeyPoint> {
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;
import com.ruoyi.domain.ReviewDetails;
import com.ruoyi.domain.ReviewScene;
import com.ruoyi.domain.ReviewStandard;
import com.ruoyi.web.request.ReviewSceneFindListRequest;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
......@@ -12,4 +13,10 @@ import java.util.List;
@Repository
public interface ReviewSceneMapper extends BaseMapper<ReviewScene> {
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;
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.response.ReviewStandardListResponse;
......@@ -34,4 +36,7 @@ public interface ReviewStandardMapper extends BaseMapper<ReviewStandard> {
List<ReviewStandardTestInspectionContentResponse> selectTestInspectionContent(Long id);
List<ReviewStandardListResponse> findReviewStandardList(ReviewStandardListRequest request);
// 根据要点列表查询标准列表
List<ReviewStandard> findByKeyPointList(@Param("keyPointList") List<ReviewKeyPoint> keyPointList, @Param("request") ReviewFindListRequest request);
}
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.domain.ReviewDetails;
import com.ruoyi.domain.ReviewScene;
import com.ruoyi.domain.ReviewSceneChangeTask;
import com.ruoyi.web.request.ReviewSceneFindListRequest;
import java.util.List;
......@@ -22,4 +23,6 @@ public interface ReviewSceneService extends IService<ReviewScene> {
*/
void change(ReviewSceneChangeTask reviewSceneChangeTask);
List<ReviewScene> findList(ReviewSceneFindListRequest request);
}
......@@ -2,6 +2,7 @@ package com.ruoyi.service;
import com.baomidou.mybatisplus.extension.service.IService;
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.response.ReviewStandardInspectionContentResponse;
......@@ -52,4 +53,10 @@ public interface ReviewStandardService extends IService<ReviewStandard> {
* @return
*/
List<ReviewStandardListResponse> findReviewStandardList(ReviewStandardListRequest request);
// 标准-要点
List<ReviewStandard> findKeyPointList(ReviewFindListRequest request);
// 标准-要点-细则
List<ReviewStandard> findDetailsList(ReviewFindListRequest request);
}
......@@ -6,6 +6,7 @@ import com.ruoyi.domain.ReviewScene;
import com.ruoyi.domain.ReviewSceneChangeTask;
import com.ruoyi.mapper.ReviewSceneMapper;
import com.ruoyi.service.ReviewSceneService;
import com.ruoyi.web.request.ReviewSceneFindListRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -32,4 +33,10 @@ public class ReviewSceneServiceImpl extends ServiceImpl<ReviewSceneMapper, Revie
String operation = reviewSceneChangeTask.getOperation();
strategyReviewSceneChangeContext.getResource(operation).doChange(reviewSceneChangeTask);
}
@Override
public List<ReviewScene> findList(ReviewSceneFindListRequest request) {
return reviewSceneMapper.findList(request);
}
}
......@@ -3,8 +3,11 @@ package com.ruoyi.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.utils.SnowflakeUtil;
import com.ruoyi.domain.*;
import com.ruoyi.mapper.ReviewDetailsMapper;
import com.ruoyi.mapper.ReviewKeyPointMapper;
import com.ruoyi.mapper.ReviewStandardMapper;
import com.ruoyi.service.*;
import com.ruoyi.web.request.ReviewFindListRequest;
import com.ruoyi.web.request.ReviewStandardListByPageRequest;
import com.ruoyi.web.request.ReviewStandardListRequest;
import com.ruoyi.web.response.ReviewStandardInspectionContentResponse;
......@@ -35,6 +38,12 @@ public class ReviewStandardServiceImpl extends ServiceImpl<ReviewStandardMapper,
@Autowired
private ReviewStandardMapper reviewStandardMapper;
@Autowired
private ReviewKeyPointMapper reviewKeyPointMapper;
@Autowired
private ReviewDetailsMapper reviewDetailsMapper;
/**
* 查询所有审查 标准、要点、细则、场景 并组织成树状结构返回
* @param standardId 关联到标准库中的id
......@@ -105,6 +114,32 @@ public class ReviewStandardServiceImpl extends ServiceImpl<ReviewStandardMapper,
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
......@@ -289,4 +324,33 @@ public class ReviewStandardServiceImpl extends ServiceImpl<ReviewStandardMapper,
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;
}
}
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.ruoyi.common.DataStatisticsUtils;
import com.ruoyi.common.core.domain.entity.SysUser;
......@@ -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.setLeader(leader.getName());
String joinTaskList = StringUtils.join(request.getTaskList(),",");
task.setTaskList(joinTaskList);
BeanUtils.copyBeanProp(task, request);
Task oldTask = taskMapper.selectById(request.getId());
if (task.getTaskStatus() == Task.TASK_STATUS_NEW) {
if(request.getTaskList().contains(Task.SUB_TASK_GRFIS) && oldTask.getCarReviewTaskId() == null) {
if (Objects.equals(task.getTaskStatus(), Task.TASK_STATUS_NEW)) {
if(request.getTaskList().contains(Task.SUB_TASK_GRFIS) && task.getCarReviewTaskId() == null) {
// 保存车型审查问卷任务
TaskCreateRequest createRequest = new TaskCreateRequest();
BeanUtils.copyBeanProp(createRequest, request);
task.setCarReviewTaskId(saveCarReview(createRequest,initiator,standard,leader));
}
if ( !request.getTaskList().contains(Task.SUB_TASK_GRFIS) && oldTask.getCarReviewTaskId() != null) {
carReviewTaskMapper.deleteById(oldTask.getCarReviewTaskId());
if ( !request.getTaskList().contains(Task.SUB_TASK_GRFIS) && task.getCarReviewTaskId() != null) {
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();
BeanUtils.copyBeanProp(createRequest, request);
task.setSystemReviewTaskId(saveSystemReview(createRequest,initiator,standard,leader));
}
if ( !request.getTaskList().contains(Task.SUB_TASK_SRAIF) && oldTask.getSystemReviewTaskId() != null) {
systemReviewTaskMapper.deleteById(oldTask.getSystemReviewTaskId());
if ( !request.getTaskList().contains(Task.SUB_TASK_SRAIF) && task.getSystemReviewTaskId() != null) {
systemReviewTaskMapper.deleteById(task.getSystemReviewTaskId());
task.setSystemReviewTaskIdNull();
}
taskStateFacade.doCreate(task, request.getTaskList());
}
task.setMaxPointer(request.getTaskList().size());
taskService.updateById(task);
// 构建并保存该任务所关联的审核组信息
List<TaskUserRelation> list = taskUserRelationService.selectQTeamMembers(request.getId());
taskUserRelationService.removeBatchByIds(list);
......
package com.ruoyi.web;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.domain.ReviewStandard;
import com.ruoyi.service.ReviewKeyPointService;
import com.ruoyi.web.request.KeyPointFindListRequest;
import com.ruoyi.web.request.TaskFindPendingRequest;
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;
......@@ -13,26 +13,25 @@ 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.*;
@Api(tags = "审查要点")
@Api(tags = "审查场景")
@RestController
@RequestMapping("/review/keypoint")
public class ReviewKeyPointController extends BaseController {
@RequestMapping("/review/scene")
public class ReviewSceneController extends BaseController {
@Autowired
private ReviewKeyPointService reviewKeyPointService;
private ReviewSceneService reviewSceneService;
@ApiOperation("查询审查要点")
@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 KeyPointFindListRequest request) {
// return getDataTable(reviewKeyPointService.findKeyPointList(request));
return null;
@RequestMapping(method = RequestMethod.POST, value = "/findSceneList")
public TableDataInfo<ReviewScene> findSceneList(@Validated @RequestBody ReviewSceneFindListRequest request) {
return getDataTable(reviewSceneService.findList(request));
}
}
......@@ -79,4 +79,22 @@ public class ReviewStandardController extends BaseController {
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));
}
}
......@@ -7,11 +7,11 @@ import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
@ApiModel(value = "KeyPointFindListRequest", description = "查询审查要点")
@ApiModel(value = "ReviewFindListRequest", description = "查询审查参数")
@Data
public class KeyPointFindListRequest {
public class ReviewFindListRequest {
@ApiModelProperty("审查要点")
@ApiModelProperty("审查内容")
private String text;
@ApiModelProperty("总标准ID")
......
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;
}
......@@ -30,4 +30,17 @@
INNER JOIN t_review_standard trs ON trs.id = trk.review_standard_id
WHERE trs.type = #{type}), 1) AS resultOverSum
</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>
......@@ -38,5 +38,16 @@
SELECT COUNT(*) sum FROM t_review_details_result
WHERE passed = 0 AND task_id = #{taskId}
</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>
......@@ -11,5 +11,20 @@
#{standard.id}
</foreach>
</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>
......@@ -13,4 +13,17 @@
</foreach>
</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>
......@@ -80,6 +80,15 @@
</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>
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