From 9c9a91d2724c9a158fe4e95a8fbda6340459f8b4 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期一, 19 五月 2025 14:36:59 +0800 Subject: [PATCH] 测评接口 --- ruoyi-system/src/main/java/com/ruoyi/system/model/TTesterOtherTask.java | 10 ++ ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemController.java | 44 +++++++++++ ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java | 34 ++++++++ ruoyi-system/src/main/java/com/ruoyi/system/dto/TQaTestItemEvaluateDTO.java | 18 ++++ ruoyi-system/src/main/java/com/ruoyi/system/model/TQaProduceReport.java | 10 ++ ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemReportController.java | 10 +- ruoyi-system/src/main/resources/mapper/system/TQaTestItemMapper.xml | 31 +++++++ ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaTestItemServiceImpl.java | 9 ++ ruoyi-system/src/main/resources/mapper/system/TTesterOtherTaskMapper.xml | 3 ruoyi-system/src/main/java/com/ruoyi/system/service/TQaTestItemService.java | 6 + ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaTestItemMapper.java | 7 + 11 files changed, 170 insertions(+), 12 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemController.java index aee0c0d..28c9ac8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemController.java @@ -10,6 +10,7 @@ import com.ruoyi.common.enums.QATestItemStatusEnum; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.dto.TQaTestItemDTO; +import com.ruoyi.system.dto.TQaTestItemEvaluateDTO; import com.ruoyi.system.model.TProjectTeamStaff; import com.ruoyi.system.model.TQaTestItem; import com.ruoyi.system.model.TQaTestItemReport; @@ -26,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.time.LocalDateTime; import java.util.List; import java.util.stream.Collectors; @@ -77,6 +79,29 @@ } } return R.ok(qaTestItemService.pageList(query)); + } + + /** + * 获取QA检测项管理评定列表 + */ + //@PreAuthorize("@ss.hasPermi('system:qaTestItem:evaluateList')") + @ApiOperation(value = "获取QA检测项管理评定列表", response = TQaTestItemQuery.class) + @PostMapping(value = "/api/t-qa-test-item/evaluateList") + public R<PageInfo<TQaTestItemVO>> evaluateList(@RequestBody String param) { + TQaTestItemQuery query = JSON.parseObject(param, TQaTestItemQuery.class); + Long userId = tokenService.getLoginUser().getUserId(); + Integer roleType = tokenService.getLoginUser().getUser().getRoleType(); + if(roleType != 1){ + // 查询用户所在项目组 + List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffService.list(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getUserId, userId)); + if(projectTeamStaffs.size() > 0){ + // 查询项目组id + List<String> teamIds = projectTeamStaffs.stream().map(TProjectTeamStaff::getTeamId).distinct().collect(Collectors.toList()); + query.setTeamIds(teamIds); + } + } + return R.ok(qaTestItemService.evaluateList(query)); } /** @@ -161,5 +186,24 @@ return R.ok(); } + /** + * 评定QA检测项管理 + */ + //@PreAuthorize("@ss.hasPermi('system:qaTestItem:evaluate')") + @Log(title = "QA检测项管理信息-评定QA检测项管理", businessType = BusinessType.UPDATE) + @ApiOperation(value = "评定QA检测项管理",response = TQaTestItemEvaluateDTO.class) + @PostMapping(value = "/api/t-qa-test-item/evaluate") + public R<Boolean> evaluate(@RequestBody String param) { + TQaTestItemEvaluateDTO dto = JSON.parseObject(param,TQaTestItemEvaluateDTO.class); + Long userId = tokenService.getLoginUser().getUserId(); + TQaTestItem testItem = qaTestItemService.getById(dto); + testItem.setStatus(QATestItemStatusEnum.EVALUATED.getCode()); + testItem.setEvaluatePersonId(userId); + testItem.setEvaluateTime(LocalDateTime.now()); + testItem.setEvaluateScore(dto.getEvaluateScore()); + qaTestItemService.updateById(testItem); + return R.ok(); + } + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemReportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemReportController.java index 288106f..986e677 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemReportController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemReportController.java @@ -13,8 +13,10 @@ import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.dto.AuditStatusDTO; import com.ruoyi.system.dto.TQaTestItemReportDTO; -import com.ruoyi.system.mapper.TQaReportFileMapper; -import com.ruoyi.system.model.*; +import com.ruoyi.system.model.TProjectTeam; +import com.ruoyi.system.model.TProjectTeamStaff; +import com.ruoyi.system.model.TQaReportFile; +import com.ruoyi.system.model.TQaTestItemReport; import com.ruoyi.system.query.TQaTestItemReportQuery; import com.ruoyi.system.service.TProjectTeamService; import com.ruoyi.system.service.TProjectTeamStaffService; @@ -25,13 +27,11 @@ import io.swagger.annotations.ApiOperation; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import java.time.LocalDateTime; import java.util.List; import java.util.Objects; -import java.util.stream.Collectors; /** * <p> @@ -74,7 +74,7 @@ /** * 获取QA检测项报告管理列表 */ - @ApiOperation(value = "获取QA检测项报告管理下拉列表-化验师使用") + @ApiOperation(value = "获取QA检测项报告管理下拉列表-化验师使用、评定使用") @GetMapping(value = "/open/t-qa-test-item-report/getListByItemId") public R<List<TQaTestItemReport>> getListByItemId(@RequestParam String itemId) { List<TQaTestItemReport> list = qaTestItemReportService.list(Wrappers.lambdaQuery(TQaTestItemReport.class) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java index ee66470..65e5600 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java @@ -1,22 +1,52 @@ package com.ruoyi.web.controller.api; +import com.alibaba.fastjson.JSON; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.system.dto.TQaTestItemDTO; +import com.ruoyi.system.service.TResultWorkEvaluateService; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * <p> - * 实验员工作评定 前端控制器 + * 实验结果工作评定 前端控制器 * </p> * * @author xiaochen * @since 2025-04-08 */ -@Api(tags = "实验员工作评定管理") +@Api(tags = "实验结果工作评定管理") @RestController @RequestMapping("/t-result-work-evaluate") public class TResultWorkEvaluateController { + private final TResultWorkEvaluateService resultWorkEvaluateService; + + @Autowired + public TResultWorkEvaluateController(TResultWorkEvaluateService resultWorkEvaluateService) { + this.resultWorkEvaluateService = resultWorkEvaluateService; + } + + /** + * 添加QA检测项管理管理 + */ + //@PreAuthorize("@ss.hasPermi('system:resultWorkEvaluate:add')") + @Log(title = "QA检测项管理信息-新增QA检测项管理", businessType = BusinessType.INSERT) + @ApiOperation(value = "添加QA检测项管理",response = TQaTestItemDTO.class) + @PostMapping(value = "/api/t-qa-test-item/add") + public R<Boolean> add(@RequestBody String param) { + TQaTestItemDTO dto = JSON.parseObject(param,TQaTestItemDTO.class); +// resultWorkEvaluateService.save(dto); + return R.ok(); + } + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/TQaTestItemEvaluateDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TQaTestItemEvaluateDTO.java new file mode 100644 index 0000000..7546733 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TQaTestItemEvaluateDTO.java @@ -0,0 +1,18 @@ +package com.ruoyi.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +@Data +@ApiModel(value = "QA检测项评定DTO") +public class TQaTestItemEvaluateDTO implements Serializable { + + @ApiModelProperty(value = "检测项id") + private String id; + + @ApiModelProperty(value = "评定分数 逗号分隔") + private String evaluateScore; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaTestItemMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaTestItemMapper.java index 5ad0099..94e4aa8 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaTestItemMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaTestItemMapper.java @@ -26,4 +26,11 @@ * @return */ List<TQaTestItemVO> pageList(@Param("query") TQaTestItemQuery query, @Param("pageInfo")PageInfo<TQaTestItemVO> pageInfo); + /** + * 分页查询QA检测项 + * @param query + * @param pageInfo + * @return + */ + List<TQaTestItemVO> evaluateList(@Param("query") TQaTestItemQuery query, @Param("pageInfo")PageInfo<TQaTestItemVO> pageInfo); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TQaProduceReport.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TQaProduceReport.java index 83c900e..9d37d1d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TQaProduceReport.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TQaProduceReport.java @@ -1,6 +1,9 @@ package com.ruoyi.system.model; -import com.baomidou.mybatisplus.annotation.*; +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.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.domain.BaseModel; import io.swagger.annotations.ApiModel; @@ -8,7 +11,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; -import java.io.Serializable; import java.time.LocalDateTime; /** @@ -34,6 +36,10 @@ @TableField("team_id") private String teamId; + @ApiModelProperty(value = "提交用户id、化验师") + @TableField("commit_person_id") + private Long commitPersonId; + @ApiModelProperty(value = "报告标题") @TableField("report_title") private String reportTitle; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TTesterOtherTask.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TTesterOtherTask.java index cae200b..1d17eea 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TTesterOtherTask.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TTesterOtherTask.java @@ -1,6 +1,9 @@ package com.ruoyi.system.model; -import com.baomidou.mybatisplus.annotation.*; +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.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.domain.BaseModel; import io.swagger.annotations.ApiModel; @@ -8,7 +11,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; -import java.io.Serializable; import java.time.LocalDateTime; /** @@ -34,6 +36,10 @@ @TableField("team_id") private String teamId; + @ApiModelProperty(value = "实验员id") + @TableField("tester_id") + private Long testerId; + @ApiModelProperty(value = "任务内容") @TableField("task_content") private String taskContent; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TQaTestItemService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TQaTestItemService.java index 0f0c198..0522acd 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TQaTestItemService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TQaTestItemService.java @@ -22,4 +22,10 @@ * @return */ PageInfo<TQaTestItemVO> pageList(TQaTestItemQuery query); + /** + * 分页查询QA检测项管理 + * @param query + * @return + */ + PageInfo<TQaTestItemVO> evaluateList(TQaTestItemQuery query); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaTestItemServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaTestItemServiceImpl.java index 29efb27..898720a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaTestItemServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaTestItemServiceImpl.java @@ -29,4 +29,13 @@ pageInfo.setRecords(list); return pageInfo; } + + @Override + public PageInfo<TQaTestItemVO> evaluateList(TQaTestItemQuery query) { + PageInfo<TQaTestItemVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); + List<TQaTestItemVO> list = this.baseMapper.evaluateList(query,pageInfo); + pageInfo.setRecords(list); + return pageInfo; + } + } diff --git a/ruoyi-system/src/main/resources/mapper/system/TQaTestItemMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TQaTestItemMapper.xml index 4b0f0fd..859f822 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TQaTestItemMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TQaTestItemMapper.xml @@ -54,4 +54,35 @@ ORDER BY tqti.create_time DESC </select> + <select id="evaluateList" resultType="com.ruoyi.system.vo.TQaTestItemVO"> + select tqti.id, tqti.team_id, tqti.item_name, tqti.item_code, tqti.remark, tqti.status, tqti.evaluate_person_id, + tqti.evaluate_time, tqti.evaluate_score, tqti.create_time, tqti.update_time, tqti.create_by, tqti.update_by, tqti.disabled, + tpt.team_name as teamName + from t_qa_test_item tqti + left join t_project_team tpt on tpt.id = tqti.team_id + <where> + <if test="query.teamName != null and query.teamName != ''"> + and tpt.team_name like concat('%', #{query.teamName}, '%') + </if> + <if test="query.itemName != null and query.itemName != ''"> + and tqti.item_name like concat('%', #{query.itemName}, '%') + </if> + <if test="query.itemCode != null and query.itemCode != ''"> + and tqti.item_code like concat('%', #{query.itemCode}) + </if> + <if test="query.status != null"> + and tqti.status = #{query.status} + </if> + <if test="query.teamIds != null and query.teamIds.size() > 0"> + and tqti.team_id in + <foreach collection="query.teamIds" item="teamId" open="(" separator="," close=")"> + #{teamId} + </foreach> + </if> + AND tqti.status in (2,3) + AND tqti.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} + </where> + ORDER BY tqti.create_time DESC + </select> + </mapper> diff --git a/ruoyi-system/src/main/resources/mapper/system/TTesterOtherTaskMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TTesterOtherTaskMapper.xml index 84c7199..68220dc 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TTesterOtherTaskMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TTesterOtherTaskMapper.xml @@ -6,6 +6,7 @@ <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TTesterOtherTask"> <id column="id" property="id" /> <result column="team_id" property="teamId" /> + <result column="tester_id" property="testerId" /> <result column="task_content" property="taskContent" /> <result column="task_time" property="taskTime" /> <result column="evaluate_score" property="evaluateScore" /> @@ -19,7 +20,7 @@ <!-- 通用查询结果列 --> <sql id="Base_Column_List"> - id, team_id, task_content, task_time, evaluate_score, evaluate_time, create_time, update_time, create_by, update_by, disabled + id, team_id,tester_id, task_content, task_time, evaluate_score, evaluate_time, create_time, update_time, create_by, update_by, disabled </sql> </mapper> -- Gitblit v1.7.1