Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vehicle-quality-review
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王飞
vehicle-quality-review
Commits
2a8263fa
Commit
2a8263fa
authored
Apr 16, 2024
by
盖献康
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' into 'master'
Dev - master 6.0 See merge request
!292
parents
d4fece7a
d50b63b3
Changes
17
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
724 additions
and
63 deletions
+724
-63
pom.xml
quality-review/pom.xml
+27
-0
SampleManagementMapper.java
...rc/main/java/com/ruoyi/mapper/SampleManagementMapper.java
+6
-0
TestRecordsMapper.java
...iew/src/main/java/com/ruoyi/mapper/TestRecordsMapper.java
+7
-0
ITestTypeService.java
...iew/src/main/java/com/ruoyi/service/ITestTypeService.java
+7
-0
PdfTemplateManagementService.java
.../java/com/ruoyi/service/PdfTemplateManagementService.java
+2
-1
PdfTemplateManagementServiceImpl.java
.../ruoyi/service/impl/PdfTemplateManagementServiceImpl.java
+448
-46
StrategyModelTestTaskPending.java
.../com/ruoyi/service/impl/StrategyModelTestTaskPending.java
+64
-6
TaskServiceImpl.java
...src/main/java/com/ruoyi/service/impl/TaskServiceImpl.java
+1
-3
TestRecordsServiceImpl.java
...n/java/com/ruoyi/service/impl/TestRecordsServiceImpl.java
+38
-4
TestTypeServiceImpl.java
...main/java/com/ruoyi/service/impl/TestTypeServiceImpl.java
+23
-0
PdfTemplateManagementController.java
...n/java/com/ruoyi/web/PdfTemplateManagementController.java
+2
-2
TestTypeController.java
...eview/src/main/java/com/ruoyi/web/TestTypeController.java
+10
-0
TestUserCaseListRequest.java
...n/java/com/ruoyi/web/request/TestUserCaseListRequest.java
+20
-0
TestUserCaseListResponse.java
...java/com/ruoyi/web/response/TestUserCaseListResponse.java
+28
-0
SampleManagementMapper.xml
...view/src/main/resources/mapper/SampleManagementMapper.xml
+20
-0
TestRecordsMapper.xml
...ty-review/src/main/resources/mapper/TestRecordsMapper.xml
+18
-0
PdfBaseWriter.java
...n/src/main/java/com/ruoyi/common/utils/PdfBaseWriter.java
+3
-1
No files found.
quality-review/pom.xml
View file @
2a8263fa
...
...
@@ -61,6 +61,16 @@
<artifactId>
itext-asian
</artifactId>
<version>
5.2.0
</version>
</dependency>
<dependency>
<groupId>
com.itextpdf.tool
</groupId>
<artifactId>
xmlworker
</artifactId>
<version>
5.5.13
</version>
</dependency>
<dependency>
<groupId>
org.apache.pdfbox
</groupId>
<artifactId>
pdfbox
</artifactId>
<version>
2.0.24
</version>
</dependency>
<dependency>
<groupId>
com.ruoyi
</groupId>
<artifactId>
ruoyi-framework
</artifactId>
...
...
@@ -70,6 +80,23 @@
<artifactId>
httpclient
</artifactId>
<version>
4.5.1
</version>
</dependency>
<!-- markdown->h5 -->
<dependency>
<groupId>
com.atlassian.commonmark
</groupId>
<artifactId>
commonmark
</artifactId>
<version>
0.15.2
</version>
</dependency>
<dependency>
<groupId>
org.jsoup
</groupId>
<artifactId>
jsoup
</artifactId>
<version>
1.11.3
</version>
</dependency>
<!-- iText 7 pdfHTML -->
<dependency>
<groupId>
com.itextpdf
</groupId>
<artifactId>
html2pdf
</artifactId>
<version>
4.0.5
</version>
</dependency>
</dependencies>
</project>
quality-review/src/main/java/com/ruoyi/mapper/SampleManagementMapper.java
View file @
2a8263fa
...
...
@@ -61,4 +61,10 @@ public interface SampleManagementMapper extends BaseMapper<Sample> {
List
<
Sample
>
findByIdList
(
@Param
(
"relationList"
)
List
<
TaskSampleRelation
>
relationList
,
@Param
(
"id"
)
Long
id
);
/**
* 通过总任务ID获取与之有关的样品的车型第一个
* @param id
* @return
*/
Sample
selectSampleByTaskId
(
@Param
(
"id"
)
Long
id
);
}
quality-review/src/main/java/com/ruoyi/mapper/TestRecordsMapper.java
View file @
2a8263fa
...
...
@@ -13,4 +13,11 @@ public interface TestRecordsMapper extends BaseMapper<TestRecords> {
List
<
TestRecords
>
findByTaskId
(
@Param
(
"id"
)
String
id
);
Long
countResult
(
@Param
(
"projectId"
)
String
projectId
);
/**
* 通过总任务ID查询List
* @param id
* @return
*/
List
<
TestRecords
>
selectListByGeneralTaskId
(
@Param
(
"id"
)
Long
id
);
}
quality-review/src/main/java/com/ruoyi/service/ITestTypeService.java
View file @
2a8263fa
...
...
@@ -2,6 +2,7 @@ package com.ruoyi.service;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.ruoyi.domain.TestType
;
import
com.ruoyi.domain.vo.TestTypeVO
;
import
com.ruoyi.web.request.TestTypeRequest
;
import
java.util.List
;
...
...
@@ -15,4 +16,10 @@ public interface ITestTypeService extends IService<TestType> {
* @return 测试类型库集合
*/
public
List
<
TestType
>
selectTestTypeList
(
TestTypeRequest
testTypeRequest
);
/**
* 从科恩获取所有测试方法
* @return
*/
List
<
String
>
getTestTypeList
();
}
quality-review/src/main/java/com/ruoyi/service/PdfTemplateManagementService.java
View file @
2a8263fa
...
...
@@ -27,7 +27,8 @@ public interface PdfTemplateManagementService {
* 原始记录PDF下载
* @param taskId
* @return
* @throws Exception
*/
String
generateOriginalRecord
(
Long
taskId
);
String
generateOriginalRecord
(
Long
taskId
)
throws
Exception
;
}
quality-review/src/main/java/com/ruoyi/service/impl/PdfTemplateManagementServiceImpl.java
View file @
2a8263fa
This diff is collapsed.
Click to expand it.
quality-review/src/main/java/com/ruoyi/service/impl/StrategyModelTestTaskPending.java
View file @
2a8263fa
package
com
.
ruoyi
.
service
.
impl
;
import
cn.hutool.core.collection.CollUtil
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.ruoyi.common.constant.HttpStatus
;
import
com.ruoyi.common.exception.ServiceException
;
import
com.ruoyi.domain.ModelTestTask
;
import
com.ruoyi.mapper.ModelTestTaskMapper
;
import
com.ruoyi.service.StrategyModelTestTask
;
import
com.ruoyi.service.TestUseCaseService
;
import
com.ruoyi.web.response.ModelTestResponse
;
import
lombok.Data
;
import
org.springframework.beans.factory.InitializingBean
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationContext
;
...
...
@@ -14,7 +18,9 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.concurrent.atomic.AtomicReference
;
@Service
@Transactional
...
...
@@ -32,6 +38,11 @@ public class StrategyModelTestTaskPending implements StrategyModelTestTask, Init
@Autowired
private
StrategyModelTestTaskNew
strategyModelTestTaskNew
;
@Autowired
private
TestUseCaseService
testUseCaseService
;
private
static
String
url
=
"https://10.12.48.78:8090/DescribeProjectTestResult"
;
@Override
public
ModelTestResponse
doView
(
ModelTestTask
modelTestTask
)
{
ModelTestResponse
response
=
strategyModelTestTaskNew
.
getTestScheme
(
modelTestTask
);
...
...
@@ -45,12 +56,31 @@ public class StrategyModelTestTaskPending implements StrategyModelTestTask, Init
@Override
public
void
doConfirmTest
(
ModelTestTask
modelTestTask
)
{
// 进行中的任务, 点击确认后, 状态改为待签字
modelTestTaskMapper
.
update
(
new
ModelTestTask
(),
new
LambdaUpdateWrapper
<
ModelTestTask
>()
.
set
(
ModelTestTask:
:
getTaskEndTime
,
new
Date
())
.
set
(
ModelTestTask:
:
getTaskStatus
,
ModelTestTask
.
TASK_STATUS_SIGNED
)
.
eq
(
ModelTestTask:
:
getId
,
modelTestTask
.
getId
()));
// 查看当前任务-用例完成情况
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"id"
,
modelTestTask
.
getTestSchemeId
());
map
.
put
(
"verbose"
,
"BASIC"
);
JSONObject
jsonObject
=
testUseCaseService
.
callThirdPartyInterface
(
url
,
map
);
Integer
sumCount
=
(
Integer
)
jsonObject
.
get
(
"case_count"
);
AtomicReference
<
Integer
>
currentCount
=
new
AtomicReference
<>(
0
);
List
<
CaseStatistics
>
caseStatisticsList
=
jsonObject
.
getList
(
"case_statistics"
,
CaseStatistics
.
class
);
if
(
CollUtil
.
isNotEmpty
(
caseStatisticsList
))
{
caseStatisticsList
.
forEach
(
obj
->
{
if
(
CaseStatistics
.
CASE_STATUS_FAILED
.
equals
(
obj
.
status
)
||
CaseStatistics
.
CASE_STATUS_PASSED
.
equals
(
obj
.
status
))
{
currentCount
.
updateAndGet
(
v
->
v
+
obj
.
getCount
());
}
});
}
Integer
integer
=
currentCount
.
get
();
System
.
out
.
println
(
integer
);
// 进行中的任务, 点击返回后, 判断当前用例完成程度, 用例都完成后状态改为待签字
if
(
sumCount
.
equals
(
currentCount
.
get
()))
{
modelTestTaskMapper
.
update
(
new
ModelTestTask
(),
new
LambdaUpdateWrapper
<
ModelTestTask
>()
.
set
(
ModelTestTask:
:
getTaskEndTime
,
new
Date
())
.
set
(
ModelTestTask:
:
getTaskStatus
,
ModelTestTask
.
TASK_STATUS_SIGNED
)
.
eq
(
ModelTestTask:
:
getId
,
modelTestTask
.
getId
()));
}
}
@Override
...
...
@@ -62,4 +92,32 @@ public class StrategyModelTestTaskPending implements StrategyModelTestTask, Init
public
void
afterPropertiesSet
()
throws
Exception
{
strategyModelTestTaskContext
.
putResource
(
ModelTestTask
.
TASK_STATUS_PENDING
,
applicationContext
.
getBean
(
this
.
getClass
()));
}
/**
* 接参DTO
*/
@Data
public
class
CaseStatistics
{
/**
* 通过
*/
private
static
final
String
CASE_STATUS_PASSED
=
"PASSED"
;
/**
* 失败
*/
private
static
final
String
CASE_STATUS_FAILED
=
"FAILED"
;
/**
* 数量
*/
private
Integer
count
;
/**
* 状态
*/
private
String
status
;
}
}
quality-review/src/main/java/com/ruoyi/service/impl/TaskServiceImpl.java
View file @
2a8263fa
...
...
@@ -7,10 +7,8 @@ import com.alibaba.fastjson2.JSONObject;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.ruoyi.common.DataStatisticsUtils
;
import
com.ruoyi.common.constant.HttpStatus
;
import
com.ruoyi.common.core.domain.entity.SysUser
;
import
com.ruoyi.common.core.domain.model.LoginUser
;
import
com.ruoyi.common.exception.ServiceException
;
import
com.ruoyi.common.utils.DateUtils
;
import
com.ruoyi.common.utils.SecurityUtils
;
import
com.ruoyi.common.utils.StringUtils
;
...
...
@@ -798,7 +796,7 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task>implements Tas
}
else
if
(
resultNum
==
null
)
{
response
.
setTest
(
0.0
);
}
else
{
BigDecimal
num
=
new
BigDecimal
((
resultNum
/
useCaseNum
)
*
90
);
BigDecimal
num
=
new
BigDecimal
((
1.0
*
resultNum
/
useCaseNum
)
*
90
);
response
.
setTest
(
num
.
setScale
(
1
,
BigDecimal
.
ROUND_UP
).
doubleValue
());
}
...
...
quality-review/src/main/java/com/ruoyi/service/impl/TestRecordsServiceImpl.java
View file @
2a8263fa
...
...
@@ -9,6 +9,11 @@ import com.ruoyi.domain.vo.CaseResultVO;
import
com.ruoyi.domain.vo.StepResultVO
;
import
com.ruoyi.mapper.TestRecordsMapper
;
import
com.ruoyi.service.TestRecordsService
;
import
org.commonmark.node.Node
;
import
org.commonmark.parser.Parser
;
import
org.commonmark.renderer.html.HtmlRenderer
;
import
org.jsoup.Jsoup
;
import
org.jsoup.nodes.Entities
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -88,6 +93,7 @@ public class TestRecordsServiceImpl extends ServiceImpl<TestRecordsMapper, TestR
List
<
String
>
stepList
=
new
ArrayList
<>();
List
<
String
>
testDetailsList
=
new
ArrayList
<>();
int
index
=
1
;
// 序号从1开始
String
testDetailsVO
=
""
;
for
(
StepResultVO
stepResultVO
:
stepResultVOS
)
{
// 测试方法
String
stepName
=
stepResultVO
.
getName
();
...
...
@@ -100,10 +106,14 @@ public class TestRecordsServiceImpl extends ServiceImpl<TestRecordsMapper, TestR
// 测试详情
String
testDetails
=
stepResultVO
.
getDescription
();
testDetailsList
.
add
(
testDetails
);
if
(
testDetails
!=
null
)
{
convertMarkdownToHtml
(
testDetails
);
}
testDetailsVO
+=
testDetails
+
"`"
;
}
testDetailsVO
=
testDetailsVO
.
substring
(
0
,
testDetailsVO
.
length
()
-
1
);
testRecords
.
setTestMethod
(
StringUtils
.
join
(
stepList
,
"`"
));
testRecords
.
setTestDetails
(
StringUtils
.
join
(
testDetailsList
,
"\n"
)
);
testRecords
.
setTestDetails
(
testDetailsVO
);
}
list
.
add
(
testRecords
);
...
...
@@ -161,6 +171,7 @@ public class TestRecordsServiceImpl extends ServiceImpl<TestRecordsMapper, TestR
List
<
String
>
stepList
=
new
ArrayList
<>();
List
<
String
>
testDetailsList
=
new
ArrayList
<>();
int
index
=
1
;
// 序号从1开始
String
testDetailsVO
=
""
;
for
(
StepResultVO
stepResultVO
:
stepResultVOS
)
{
// 测试方法
String
stepName
=
stepResultVO
.
getName
();
...
...
@@ -173,10 +184,14 @@ public class TestRecordsServiceImpl extends ServiceImpl<TestRecordsMapper, TestR
// 测试详情
String
testDetails
=
stepResultVO
.
getDescription
();
testDetailsList
.
add
(
testDetails
);
if
(
testDetails
!=
null
)
{
convertMarkdownToHtml
(
testDetails
);
}
testDetailsVO
+=
testDetails
+
"`"
;
}
testDetailsVO
=
testDetailsVO
.
substring
(
0
,
testDetailsVO
.
length
()
-
1
);
testRecords
.
setTestMethod
(
StringUtils
.
join
(
stepList
,
"`"
));
testRecords
.
setTestDetails
(
StringUtils
.
join
(
testDetailsList
,
"\n"
)
);
testRecords
.
setTestDetails
(
testDetailsVO
);
}
list
.
add
(
testRecords
);
...
...
@@ -189,6 +204,25 @@ public class TestRecordsServiceImpl extends ServiceImpl<TestRecordsMapper, TestR
}
}
public
static
String
convertMarkdownToHtml
(
String
markdownContent
)
{
// 创建 Markdown 解析器
Parser
parser
=
Parser
.
builder
().
build
();
// 解析 Markdown
Node
document
=
parser
.
parse
(
markdownContent
);
// 创建 HTML 渲染器
HtmlRenderer
renderer
=
HtmlRenderer
.
builder
().
build
();
// 渲染 HTML
org
.
jsoup
.
nodes
.
Document
doc
=
Jsoup
.
parse
(
renderer
.
render
(
document
).
replaceAll
(
"\\\\n"
,
"<br>"
));
// jsoup标准化标签,生成闭合标签
doc
.
outputSettings
().
syntax
(
org
.
jsoup
.
nodes
.
Document
.
OutputSettings
.
Syntax
.
xml
);
doc
.
outputSettings
().
escapeMode
(
Entities
.
EscapeMode
.
xhtml
);
return
doc
.
html
();
}
@Override
public
List
<
TestRecords
>
findByTaskId
(
String
id
)
{
return
testRecordsMapper
.
findByTaskId
(
id
);
...
...
quality-review/src/main/java/com/ruoyi/service/impl/TestTypeServiceImpl.java
View file @
2a8263fa
package
com
.
ruoyi
.
service
.
impl
;
import
cn.hutool.http.HttpUtil
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.ruoyi.domain.TestType
;
...
...
@@ -8,11 +10,13 @@ import com.ruoyi.mapper.TestTypeMapper;
import
com.ruoyi.service.ITestTypeService
;
import
com.ruoyi.web.request.TestTypeRequest
;
import
lombok.Data
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
import
java.util.stream.Collectors
;
@Service
@Transactional
...
...
@@ -34,4 +38,23 @@ public class TestTypeServiceImpl extends ServiceImpl<TestTypeMapper, TestType> i
}
return
testTypeMapper
.
selectTestTypeList
(
testTypeRequest
);
}
@Override
public
List
<
String
>
getTestTypeList
()
{
//以post形式请求接口
String
result
=
HttpUtil
.
post
(
"https://10.12.48.78:8090/DescribeScenarioTestTypeList"
,
""
);
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
result
);
return
jsonObject
.
getList
(
"test_type_list"
,
TypeVO
.
class
)
.
stream
()
.
map
(
TypeVO:
:
getName
)
.
collect
(
Collectors
.
toList
());
}
@Data
public
static
class
TypeVO
{
private
String
name
;
}
}
quality-review/src/main/java/com/ruoyi/web/PdfTemplateManagementController.java
View file @
2a8263fa
...
...
@@ -101,7 +101,7 @@ public class PdfTemplateManagementController {
if
(
StrUtil
.
isBlank
(
url
))
{
// TODO 生成车型
url
=
pdfTemplateManagementService
.
generateOriginalRecord
(
request
.
getTaskId
());
taskService
.
update
(
new
UpdateWrapper
<
Task
>().
lambda
().
eq
(
Task:
:
getId
,
request
.
getTaskId
()).
set
(
Task:
:
getModelTest
TaskId
,
url
));
taskService
.
update
(
new
UpdateWrapper
<
Task
>().
lambda
().
eq
(
Task:
:
getId
,
request
.
getTaskId
()).
set
(
Task:
:
getModelTest
Url
,
url
));
}
break
;
default
:
...
...
@@ -139,7 +139,7 @@ public class PdfTemplateManagementController {
case
2
:
// 更新
url
=
pdfTemplateManagementService
.
generateOriginalRecord
(
request
.
getTaskId
());
taskService
.
update
(
new
UpdateWrapper
<
Task
>().
lambda
().
eq
(
Task:
:
getId
,
request
.
getTaskId
()).
set
(
Task:
:
getModelTest
TaskId
,
url
));
taskService
.
update
(
new
UpdateWrapper
<
Task
>().
lambda
().
eq
(
Task:
:
getId
,
request
.
getTaskId
()).
set
(
Task:
:
getModelTest
Url
,
url
));
break
;
default
:
break
;
...
...
quality-review/src/main/java/com/ruoyi/web/TestTypeController.java
View file @
2a8263fa
...
...
@@ -4,6 +4,7 @@ import com.ruoyi.common.core.controller.BaseController;
import
com.ruoyi.common.core.domain.R
;
import
com.ruoyi.common.core.page.TableDataInfo
;
import
com.ruoyi.domain.TestType
;
import
com.ruoyi.domain.vo.TestTypeVO
;
import
com.ruoyi.service.ITestTypeService
;
import
com.ruoyi.web.request.TestTypeRequest
;
import
io.swagger.annotations.Api
;
...
...
@@ -51,4 +52,13 @@ public class TestTypeController extends BaseController {
return
R
.
ok
(
testTypeService
.
selectTestTypeList
(
testTypeRequest
));
}
// 从科恩获取所有测试方法
@ApiOperation
(
"查询所有测试方法(科恩)"
)
@Trace
@Tags
({
@Tag
(
key
=
"param"
,
value
=
"arg[0]"
),
@Tag
(
key
=
"result"
,
value
=
"returnedObj"
)})
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/getTestTypeList"
)
public
R
<
List
<
String
>>
getTestTypeList
(){
return
R
.
ok
(
testTypeService
.
getTestTypeList
());
}
}
quality-review/src/main/java/com/ruoyi/web/request/TestUserCaseListRequest.java
0 → 100644
View file @
2a8263fa
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
;
@Data
@ApiModel
(
value
=
"TestUserCaseListRequest"
,
description
=
"查询测试用例"
)
public
class
TestUserCaseListRequest
extends
PageDomain
{
@ApiModelProperty
(
"测试场景"
)
private
String
testScenario
;
@ApiModelProperty
(
"测试方法"
)
private
String
testType
;
@ApiModelProperty
(
"用例编号或者名称关键字"
)
private
String
searchKeywords
;
}
quality-review/src/main/java/com/ruoyi/web/response/TestUserCaseListResponse.java
0 → 100644
View file @
2a8263fa
package
com
.
ruoyi
.
web
.
response
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@ApiModel
(
value
=
"TestUserCaseListResponse"
,
description
=
"查询测试用例"
)
@Data
public
class
TestUserCaseListResponse
{
@ApiModelProperty
(
"测试场景"
)
private
String
testScenario
;
@ApiModelProperty
(
"测试方法"
)
private
String
testType
;
@ApiModelProperty
(
"用例编号"
)
private
String
useCaseNo
;
@ApiModelProperty
(
"用例名称"
)
private
String
useCaseName
;
@ApiModelProperty
(
"对应输入"
)
private
String
input
;
@ApiModelProperty
(
"用例描述"
)
private
String
description
;
}
quality-review/src/main/resources/mapper/SampleManagementMapper.xml
View file @
2a8263fa
...
...
@@ -184,4 +184,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</foreach>
ORDER BY ts.id
</select>
<select
id=
"selectSampleByTaskId"
parameterType=
"java.lang.Long"
resultType=
"com.ruoyi.domain.Sample"
>
select
s.sample_name,
s.manufacturing_enterprise,
s.sample_number,
s.number_of_samples,
s.trademark,
s.remark
from
t_sample s
left join t_task_sample_relation ts on s.id = ts.sample_id
left join t_task t on ts.task_id = t.id
where
t.id = #{id}
and s.deleted = 0
and ts.flag = '0'
order by s.id
limit 1;
</select>
</mapper>
quality-review/src/main/resources/mapper/TestRecordsMapper.xml
View file @
2a8263fa
...
...
@@ -29,5 +29,23 @@
GROUP BY project_id
</select>
<select
id=
"selectListByGeneralTaskId"
parameterType=
"java.lang.Long"
resultType=
"com.ruoyi.domain.TestRecords"
>
select
tr.usecase,
tr.usecase_id,
tr.test_time,
tr.description,
tr.risk_level,
tr.test_method,
tr.test_result,
tr.remediation,
tr.test_details
from
t_test_records tr
left join t_task t on tr.task_id = t.model_test_task_id
where
t.id = #{id}
</select>
</mapper>
ruoyi-common/src/main/java/com/ruoyi/common/utils/PdfBaseWriter.java
View file @
2a8263fa
...
...
@@ -320,7 +320,7 @@ public class PdfBaseWriter extends Document{
* @param fitHeight 高度自适应
* @return 单元格 {@link PdfPCell}
*/
public
PdfPCell
newPdfPCellOfImage
(
int
colspan
,
int
rowspan
,
Image
image
,
float
fitWidth
,
float
fitHeight
)
{
public
PdfPCell
newPdfPCellOfImage
(
int
colspan
,
int
rowspan
,
Image
image
,
float
fitWidth
,
float
fitHeight
,
PdfPTable
table
)
{
PdfPCell
cell
=
new
PdfPCell
();
cell
.
setUseAscender
(
Boolean
.
TRUE
);
cell
.
setVerticalAlignment
(
PdfPCell
.
ALIGN_MIDDLE
);
...
...
@@ -330,7 +330,9 @@ public class PdfBaseWriter extends Document{
cell
.
setColspan
(
colspan
);
cell
.
setRowspan
(
rowspan
);
image
.
scaleToFit
(
fitWidth
,
fitHeight
);
image
.
setAlignment
(
Image
.
ALIGN_CENTER
);
cell
.
addElement
(
image
);
table
.
addCell
(
cell
);
return
cell
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment