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
2f36f48d
Commit
2f36f48d
authored
Apr 09, 2024
by
wdy
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
http://gitlab.91isoft.com:90/wangfei/vehicle-quality-review
into wangdingyi
parents
e42426f3
78e4a2e4
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
182 additions
and
19 deletions
+182
-19
InspectionReportPdfVO.java
.../main/java/com/ruoyi/domain/vo/InspectionReportPdfVO.java
+18
-0
ITestScenarioService.java
...src/main/java/com/ruoyi/service/ITestScenarioService.java
+6
-1
TestUseCaseService.java
...w/src/main/java/com/ruoyi/service/TestUseCaseService.java
+18
-0
PdfTemplateManagementServiceImpl.java
.../ruoyi/service/impl/PdfTemplateManagementServiceImpl.java
+5
-1
StatisticsHomeServiceImpl.java
...ava/com/ruoyi/service/impl/StatisticsHomeServiceImpl.java
+1
-1
TestScenarioServiceImpl.java
.../java/com/ruoyi/service/impl/TestScenarioServiceImpl.java
+30
-0
TestUseCaseServiceImpl.java
...n/java/com/ruoyi/service/impl/TestUseCaseServiceImpl.java
+42
-0
TestScenarioController.java
...w/src/main/java/com/ruoyi/web/TestScenarioController.java
+10
-5
TestUserCaseController.java
...w/src/main/java/com/ruoyi/web/TestUserCaseController.java
+12
-2
TestUseCaseByScenarioRequest.java
...a/com/ruoyi/web/request/TestUseCaseByScenarioRequest.java
+26
-0
StatisticsHomeMapper.xml
...review/src/main/resources/mapper/StatisticsHomeMapper.xml
+7
-5
TaskMapper.xml
quality-review/src/main/resources/mapper/TaskMapper.xml
+7
-4
receipt_template_04_02.pdf
...ew/src/main/resources/template/receipt_template_04_02.pdf
+0
-0
No files found.
quality-review/src/main/java/com/ruoyi/domain/vo/InspectionReportPdfVO.java
View file @
2f36f48d
package
com
.
ruoyi
.
domain
.
vo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
/**
* 检验报告PDF VO类
...
...
@@ -170,4 +174,18 @@ public class InspectionReportPdfVO {
*/
private
String
samplePhotos
;
/**
* 任务开始时间
*/
private
String
taskBeginTime
;
/**
* 任务结束时间
*/
private
String
taskEndTime
;
/**
* 检验时间和地点
*/
private
String
inspectionTimeAndLocation
;
}
quality-review/src/main/java/com/ruoyi/service/ITestScenarioService.java
View file @
2f36f48d
...
...
@@ -2,7 +2,6 @@ package com.ruoyi.service;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.ruoyi.domain.TestScenario
;
import
com.ruoyi.domain.TestType
;
import
com.ruoyi.web.request.TestScenarioRequest
;
import
java.util.List
;
...
...
@@ -16,4 +15,10 @@ public interface ITestScenarioService extends IService<TestScenario> {
* @return 测试场景库集合
*/
public
List
<
TestScenario
>
selectTestScenarioList
(
TestScenarioRequest
testScenarioRequest
);
/**
* 获取测试场景列表(科恩)
* @return
*/
public
List
<
String
>
selectScenarioList
();
}
quality-review/src/main/java/com/ruoyi/service/TestUseCaseService.java
View file @
2f36f48d
package
com
.
ruoyi
.
service
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.ruoyi.domain.TestUseCase
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.ruoyi.web.request.TestUseCaseByScenarioRequest
;
import
com.ruoyi.web.request.TestUseCaseIdListRequest
;
import
com.ruoyi.web.request.TestUserCaseRequest
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author wangfei
...
...
@@ -27,4 +30,19 @@ public interface TestUseCaseService extends IService<TestUseCase> {
* @return
*/
List
<
String
>
selectCaseIdList
(
TestUseCaseIdListRequest
request
);
/**
* 通过测试场景获取所绑定的测试用例
* @param request
* @return
*/
List
<
String
>
selectCaseByScenario
(
TestUseCaseByScenarioRequest
request
);
/**
* 调用第三方接口
* @param url
* @param map
* @return
*/
JSONObject
callThirdPartyInterface
(
String
url
,
Map
<
String
,
Object
>
map
);
}
quality-review/src/main/java/com/ruoyi/service/impl/PdfTemplateManagementServiceImpl.java
View file @
2f36f48d
...
...
@@ -86,7 +86,7 @@ public class PdfTemplateManagementServiceImpl implements PdfTemplateManagementSe
// 设置具体字体格式的编码, 不设置的话中文可能不会显示
BaseFont
bf
=
BaseFont
.
createFont
(
"/fonts/STSong.TTF"
,
BaseFont
.
IDENTITY_H
,
BaseFont
.
NOT_EMBEDDED
);
fields
.
addSubstitutionFont
(
bf
);
//
测试
数据
//
获取真实的
数据
InspectionReportPdfVO
inspectionReportPdfVO
=
requireData
(
taskId
);
// 渲染数据
renderData
(
fields
,
inspectionReportPdfVO
,
ps
);
...
...
@@ -353,6 +353,10 @@ public class PdfTemplateManagementServiceImpl implements PdfTemplateManagementSe
*/
private
InspectionReportPdfVO
requireData
(
Long
taskId
)
{
InspectionReportPdfVO
inspectionReport
=
taskMapper
.
selectInspectionReportData
(
taskId
);
inspectionReport
.
setInspectionTimeAndLocation
(
" 检验于"
+
inspectionReport
.
getTaskBeginTime
()
+
"至"
+
inspectionReport
.
getTaskEndTime
()
+
"在"
+
inspectionReport
.
getInspectionCenterName
()
+
"进行"
);
inspectionReport
.
setInspectionItem
(
getInspectionItemByTaskItem
(
inspectionReport
.
getInspectionItem
()));
return
inspectionReport
;
}
...
...
quality-review/src/main/java/com/ruoyi/service/impl/StatisticsHomeServiceImpl.java
View file @
2f36f48d
...
...
@@ -50,7 +50,7 @@ public class StatisticsHomeServiceImpl implements StatisticsHomeService {
InspectionItemPassedNumVO
inspectionItemPassedNumVO
=
statisticsHomeMapper
.
selectInspectionItemPassedNum
();
List
<
AverageInspectionRateVO
>
list
=
new
ArrayList
<>();
AverageInspectionRateVO
averageInspectionRateOne
=
new
AverageInspectionRateVO
();
averageInspectionRateOne
.
setInspectionItems
(
"信息安全管理体系要求"
);
averageInspectionRateOne
.
setInspectionItems
(
"
汽车
信息安全管理体系要求"
);
averageInspectionRateOne
.
setPassingRate
(
proportionCalculation
(
inspectionItemPassedNumVO
.
getSysReviewPassedNum
(),
inspectionItemPassedNumVO
.
getSysReviewcompletedNum
()));
list
.
add
(
averageInspectionRateOne
);
AverageInspectionRateVO
averageInspectionRateTwo
=
new
AverageInspectionRateVO
();
...
...
quality-review/src/main/java/com/ruoyi/service/impl/TestScenarioServiceImpl.java
View file @
2f36f48d
package
com
.
ruoyi
.
service
.
impl
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.ruoyi.domain.TestScenario
;
import
com.ruoyi.mapper.TestScenarioMapper
;
import
com.ruoyi.service.ITestScenarioService
;
import
com.ruoyi.service.TestUseCaseService
;
import
com.ruoyi.web.request.TestScenarioRequest
;
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
...
...
@@ -18,6 +22,11 @@ public class TestScenarioServiceImpl extends ServiceImpl<TestScenarioMapper, Tes
@Autowired
private
TestScenarioMapper
testScenarioMapper
;
@Autowired
private
TestUseCaseService
testUseCaseService
;
private
static
String
url
=
"https://10.12.48.78:8090/DescribeScenarioTestTypeList"
;
@Override
public
List
<
TestScenario
>
selectTestScenarioList
(
TestScenarioRequest
testScenarioRequest
){
if
(
testScenarioRequest
.
getTestScenario
()
!=
null
&&
(
testScenarioRequest
.
getTestScenario
().
contains
(
"%"
)
||
testScenarioRequest
.
getTestScenario
().
contains
(
"_"
)
)){
...
...
@@ -25,4 +34,25 @@ public class TestScenarioServiceImpl extends ServiceImpl<TestScenarioMapper, Tes
}
return
testScenarioMapper
.
selectTestScenarioList
(
testScenarioRequest
);
}
/**
* 获取测试场景列表(科恩)
* @return
*/
@Override
public
List
<
String
>
selectScenarioList
()
{
JSONObject
jsonObject
=
testUseCaseService
.
callThirdPartyInterface
(
url
,
null
);
List
<
String
>
scenarioList
=
jsonObject
.
getList
(
"scenario_list"
,
Scenario
.
class
)
.
stream
()
.
map
(
Scenario:
:
getName
)
.
collect
(
Collectors
.
toList
());
return
scenarioList
;
}
@Data
public
class
Scenario
{
private
String
name
;
}
}
quality-review/src/main/java/com/ruoyi/service/impl/TestUseCaseServiceImpl.java
View file @
2f36f48d
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.TestUseCase
;
import
com.ruoyi.domain.vo.CaseResultVO
;
import
com.ruoyi.domain.vo.TestUsecaseVO
;
import
com.ruoyi.service.TestUseCaseService
;
import
com.ruoyi.mapper.TestUseCaseMapper
;
import
com.ruoyi.web.request.TestUseCaseByScenarioRequest
;
import
com.ruoyi.web.request.TestUseCaseIdListRequest
;
import
com.ruoyi.web.request.TestUserCaseRequest
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -23,6 +30,8 @@ import java.util.stream.Collectors;
@Transactional
public
class
TestUseCaseServiceImpl
extends
ServiceImpl
<
TestUseCaseMapper
,
TestUseCase
>
implements
TestUseCaseService
{
private
String
describeCaseList
=
"https://10.12.48.78:8090/DescribeCaseList"
;
@Autowired
private
TestUseCaseMapper
testUseCaseMapper
;
...
...
@@ -46,6 +55,39 @@ public class TestUseCaseServiceImpl extends ServiceImpl<TestUseCaseMapper, TestU
return
list
.
stream
().
map
(
TestUsecaseVO:
:
getCaseId
).
collect
(
Collectors
.
toList
());
}
/**
* 通过测试场景获取所绑定的测试用例
* @param request
* @return
*/
@Override
public
List
<
String
>
selectCaseByScenario
(
TestUseCaseByScenarioRequest
request
)
{
// 根据场景名遍历查询所绑定用例
List
<
String
>
resultList
=
new
ArrayList
<>();
request
.
getScenarioNameList
()
.
forEach
(
scenarioName
->
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"scenario"
,
scenarioName
);
JSONObject
jsonObject
=
callThirdPartyInterface
(
describeCaseList
,
map
);
List
<
String
>
list
=
jsonObject
.
getList
(
"case_list"
,
CaseResultVO
.
class
)
.
stream
().
map
(
CaseResultVO:
:
getId
).
collect
(
Collectors
.
toList
());
resultList
.
addAll
(
list
);
});
return
resultList
;
}
/**
* 调用第三方接口
* @param url
* @param map
* @return
*/
@Override
public
JSONObject
callThirdPartyInterface
(
String
url
,
Map
<
String
,
Object
>
map
)
{
String
result
=
HttpUtil
.
post
(
url
,
JSONObject
.
toJSONString
(
map
));
return
JSONObject
.
parseObject
(
result
);
}
}
...
...
quality-review/src/main/java/com/ruoyi/web/TestScenarioController.java
View file @
2f36f48d
...
...
@@ -3,7 +3,6 @@ package com.ruoyi.web;
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.Sample
;
import
com.ruoyi.domain.TestScenario
;
import
com.ruoyi.service.ITestScenarioService
;
import
com.ruoyi.web.request.TestScenarioRequest
;
...
...
@@ -14,10 +13,7 @@ import org.apache.skywalking.apm.toolkit.trace.Tags;
import
org.apache.skywalking.apm.toolkit.trace.Trace
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
...
...
@@ -54,4 +50,13 @@ public class TestScenarioController extends BaseController {
return
R
.
ok
(
testScenarioService
.
selectTestScenarioList
(
testScenarioRequest
));
}
/**
* 获取测试场景列表(科恩)
*/
@ApiOperation
(
"查询测试场景(科恩)"
)
@PostMapping
(
"/getScenarioList"
)
public
R
<
List
<
String
>>
getScenarioList
(){
return
R
.
ok
(
testScenarioService
.
selectScenarioList
());
}
}
quality-review/src/main/java/com/ruoyi/web/TestUserCaseController.java
View file @
2f36f48d
package
com
.
ruoyi
.
web
;
import
com.ruoyi.common.annotation.Anonymous
;
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.TestUseCase
;
import
com.ruoyi.service.TestUseCaseService
;
import
com.ruoyi.web.request.TestUseCaseByScenarioRequest
;
import
com.ruoyi.web.request.TestUseCaseIdListRequest
;
import
com.ruoyi.web.request.TestUserCaseRequest
;
import
io.swagger.annotations.Api
;
...
...
@@ -41,10 +41,20 @@ public class TestUserCaseController extends BaseController{
* @param request
* @return
*/
@Anonymous
@ApiOperation
(
"根据场景查询用例ID集合"
)
@PostMapping
(
"/getCaseIdList"
)
public
R
<
List
<
String
>>
getCaseIdList
(
@Validated
@RequestBody
TestUseCaseIdListRequest
request
)
{
return
R
.
ok
(
testUseCaseService
.
selectCaseIdList
(
request
));
}
/**
* 通过测试场景获取所绑定的测试用例
* @param request
* @return
*/
@ApiOperation
(
"根据场景查询用例ID集合(科恩)"
)
@PostMapping
(
"/getCaseByScenario"
)
public
R
<
List
<
String
>>
getCaseByScenario
(
@Validated
@RequestBody
TestUseCaseByScenarioRequest
request
)
{
return
R
.
ok
(
testUseCaseService
.
selectCaseByScenario
(
request
));
}
}
quality-review/src/main/java/com/ruoyi/web/request/TestUseCaseByScenarioRequest.java
0 → 100644
View file @
2f36f48d
package
com
.
ruoyi
.
web
.
request
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
/**
* 通过测试场景获取测试用例ID集合 DTO
* @author gxk
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel
(
"通过测试场景获取测试用例ID集合 DTO"
)
public
class
TestUseCaseByScenarioRequest
{
@ApiModelProperty
(
"测试场景名称集合"
)
private
List
<
String
>
scenarioNameList
;
}
quality-review/src/main/resources/mapper/StatisticsHomeMapper.xml
View file @
2f36f48d
...
...
@@ -9,7 +9,7 @@
SELECT
( SELECT count( id ) FROM t_standard ) AS standardQuantity,
( SELECT count( id ) FROM t_test_usecase ) AS numberUseCases,
( SELECT count( id ) FROM t_task ) AS numberTasks,
( SELECT count( id ) FROM t_task
WHERE task_status != 'TEMPORARILY'
) AS numberTasks,
( SELECT count( id ) FROM t_automobile_enterprise WHERE deleted = 0 ) AS numberCompanies,
(
SELECT
...
...
@@ -26,7 +26,7 @@
( SELECT count( id ) FROM t_test_type ) AS numberMethods,
( SELECT count( id ) FROM t_task WHERE vehicle_information_url IS NOT NULL ) AS numberReports,
( SELECT count( id ) FROM t_task WHERE task_status = 'FINISH' ) AS completedTaskNumber,
( SELECT count( id ) FROM t_task WHERE task_status = 'NEW' OR task_status = 'PENDING' ) AS executeTasksNumber
( SELECT count( id ) FROM t_task WHERE task_status = 'NEW' OR task_status = 'PENDING'
OR task_status = 'SIGNED'
) AS executeTasksNumber
</select>
<select
id=
"selectStandardCategoryStatistics"
resultType=
"com.ruoyi.domain.vo.StandardCategoryStatisticsVO"
>
...
...
@@ -62,10 +62,12 @@
<select
id=
"selectTaskParticipationStatistics"
resultType=
"com.ruoyi.domain.vo.TaskParticipationStatisticsVO"
>
SELECT
count( task_id ) AS taskNum,
NAME AS userName
tur.user_id,
su.nick_name AS userName
FROM
t_task_user_relation
t_task_user_relation tur
LEFT JOIN sys_user su ON su.user_id = tur.user_id
GROUP BY
user_id,NAME
tur.user_id
</select>
</mapper>
\ No newline at end of file
quality-review/src/main/resources/mapper/TaskMapper.xml
View file @
2f36f48d
...
...
@@ -307,11 +307,13 @@
t.entrusted_unit_address AS clientAddress,
t.entrusted_unit_phone AS entrustedUnitTelephone,
t.entrusted_unit_code AS clientPostalCode,
GROUP_CONCAT(
distinct
s.sample_name) AS sampleName,
GROUP_CONCAT(s.sample_name) AS sampleName,
t.product_model AS typeSpecification,
DATE_FORMAT(t.task_begin_time, '%Y年%m月%d日') AS taskBeginTime,
DATE_FORMAT(t.task_end_time, '%Y年%m月%d日') AS taskEndTime,
concat(st.standard_no, ' ', st.name) AS inspectionBasis,
GROUP_CONCAT(distinct ae.enterprise_name) AS productionEnterprise,
GROUP_CONCAT(
distinct
s.sample_sender) AS sampleSender,
GROUP_CONCAT(s.sample_sender) AS sampleSender,
GROUP_CONCAT(distinct DATE_FORMAT(s.delivery_date, '%Y-%m-%d')) AS sampleDeliveryDate,
count(s.id) AS sampleQuantity,
CONVERT(sum(s.number_of_samples), UNSIGNED) AS sampleSum,
...
...
@@ -323,10 +325,11 @@
t.task_list AS inspectionItem,
DATE_FORMAT(t.create_time, '%Y-%m-%d') AS productionDate,
GROUP_CONCAT(distinct s.trademark) AS brandImage,
GROUP_CONCAT(
distinct
s.sample_photos) AS samplePhotos,
GROUP_CONCAT(s.sample_photos) AS samplePhotos,
d.address AS inspectionCenterAddress,
d.phone AS inspectionCenterTelephone,
d.postcode AS inspectionCenterPostcode
d.postcode AS inspectionCenterPostcode,
d.dept_name AS inspectionCenterName
from
t_task t
left join t_task_sample_relation tsr on t.id = tsr.task_id
...
...
quality-review/src/main/resources/template/receipt_template_04_02.pdf
View file @
2f36f48d
No preview for this file type
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