Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
Z
zlmy-cloud
Project
Project
Details
Activity
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
zlmy
zlmy-cloud
Commits
64bef238
Commit
64bef238
authored
Nov 15, 2025
by
鲁鸿波
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
教育培训补考bug修改
危险作业bug修改
parent
9a718b4b
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
181 additions
and
36 deletions
+181
-36
上线说明.md
zlmy-modules/zlmy-boot/doc/国产化/上线说明.md
+12
-0
THazardWorkPlan.java
...om/testor/module/hazard/model/domain/THazardWorkPlan.java
+3
-0
THazardWorkPlanServiceImpl.java
...odule/hazard/service/impl/THazardWorkPlanServiceImpl.java
+78
-1
TTrainMyManagementController.java
...myManagement/controller/TTrainMyManagementController.java
+36
-32
TTrainMyManagement.java
...e/train/myManagement/model/domain/TTrainMyManagement.java
+5
-0
TTrainTestQuestionsExerciseServiceImpl.java
.../service/impl/TTrainTestQuestionsExerciseServiceImpl.java
+2
-1
TTrainProjectDao.java
...com/testor/module/train/project/dao/TTrainProjectDao.java
+7
-0
TrainProjectUserDetailStat.java
.../train/project/model/stat/TrainProjectUserDetailStat.java
+2
-1
TrainProjectStatisticsDetailService.java
.../project/service/TrainProjectStatisticsDetailService.java
+7
-0
TTrainProjectServiceImpl.java
.../train/project/service/impl/TTrainProjectServiceImpl.java
+1
-0
TrainProjectStatisticsDetailServiceImpl.java
...service/impl/TrainProjectStatisticsDetailServiceImpl.java
+6
-0
TTrainMyManagement.xml
...esources/mapper/train/myManagement/TTrainMyManagement.xml
+2
-1
TTrainProject.xml
...src/main/resources/mapper/train/project/TTrainProject.xml
+20
-0
No files found.
zlmy-modules/zlmy-boot/doc/国产化/上线说明.md
View file @
64bef238
...
...
@@ -376,6 +376,18 @@ COMMENT ON COLUMN public.t_hazard_work_plan_monitoring_record_project.hazard_wor
#20251116上线需求
# 北良调整成短流程
update t_sys_config set status = '1' where config_id in('3','4');
INSERT INTO "public"."t_sys_config" ("config_id", "config_name", "config_key", "config_value", "config_type", "status", "create_by", "create_date", "update_by", "update_date", "remarks") VALUES ('6', '北良公司-公司级机构ids', 'sys.beiliang.orgs', '74ba35d937a3403ca59e37d238a0d93f,dafc181b7b314f8fb26c277afcbfeafc,bf729a8807ae4804baf5b719889a1b10,640323dc46334c8d8467a6d1889f90b1,8be46ac128e24c658ebc890f9da7818a
,71ccfa9b528c43eba3c374990472c5f4,703c7a0dbbe84d768bcb175905d3140d,a072abc298464c32a66761acbbf851be,bc8047cac1214b558ed9465a92cf3f27,51555a47ff6a42c0a75814fee3e60676,97180fe2554b4f2a9ec6d1cf213b7f67,ef4e50ad1da64b9ba0e9c894faca4487,b66916fcfad44412a17aa3f641cd2ad5
,b828ca4431854e699195888466057955,e5a463b08c9d4e54bd47ed416941380c,7ba23b0151cb49578cd3abd5ceea72ac,d4185815c13544c3950416d77cd6d65c,164b5cf61efe4a269911e2097eb997f9
,49d90fa9ddac4b94928afc126f72161c,b5e5a052640f4a5b82b0ce7ef0f31bb0,b82dc615aecb4b2dae28d82ce8eb4693,bed4208a45254ff8b072e3737cdbe85f,c4396dd90e964a208a9992186632ff59
,5c7b5e799ae6482bae0ca375e64210de,6f7549e8402643beb79e4f726722ed27,6ceddfaddf20442ca861f58ecb139012,311ee5aebc884803a0d0e1353db805cd,1335dbc3f81b4919bf59014fede4819d', 'N', '0', NULL, '2024-12-24 15:29:54', NULL, '2024-12-24 15:29:54', NULL);
INSERT INTO "public"."t_sys_config" ("config_id", "config_name", "config_key", "config_value", "config_type", "status", "create_by", "create_date", "update_by", "update_date", "remarks") VALUES ('5', '北良公司-部门级机构ids', 'sys.beiliang.depts', '', 'N', '0', NULL, '2024-12-24 15:29:54', NULL, '2024-12-24 15:29:54', NULL);
新增表: t_train_examination_manage_retake
ALTER TABLE t_hazard_work_plan ADD revoke_opinion varchar(255) NULL;
...
...
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/hazard/model/domain/THazardWorkPlan.java
View file @
64bef238
...
...
@@ -309,6 +309,9 @@ public class THazardWorkPlan extends SuperModel
@TableField
(
"guardian_signature"
)
private
String
guardianSignature
;
@ApiModelProperty
(
value
=
"当前流程环节"
)
@TableField
(
exist
=
false
)
private
String
currentTaskName
;
public
static
final
String
ID
=
"id"
;
...
...
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/hazard/service/impl/THazardWorkPlanServiceImpl.java
View file @
64bef238
...
...
@@ -294,6 +294,14 @@ public class THazardWorkPlanServiceImpl extends SuperServiceImpl<THazardWorkPlan
tHazardWorkPlanDTO
.
setWorkStatus
(
WorkPlanStatusEnum
.
TO_BE_CLOSED
.
getDescription
());
}
tHazardWorkPlanDTO
.
setCheckCount
(
tHazardWorkPlanCheckDao
.
countByPlanId
(
tHazardWorkPlanDTO
.
getId
()));
// 设置当前任务名称
if
(
StringUtils
.
isNotEmpty
(
tHazardWorkPlanDTO
.
getProcessId
()))
{
String
taskName
=
getCurrentTaskName
(
tHazardWorkPlanDTO
.
getProcessId
());
tHazardWorkPlanDTO
.
setCurrentTaskName
(
taskName
);
}
else
{
tHazardWorkPlanDTO
.
setCurrentTaskName
(
"未启动"
);
}
}
Page
<
THazardWorkPlanDTO
>
planPage
=
new
Page
<>();
planPage
.
setRecords
(
tHazardWorkPlanDTOS
);
...
...
@@ -303,6 +311,48 @@ public class THazardWorkPlanServiceImpl extends SuperServiceImpl<THazardWorkPlan
return
planPage
;
}
/**
* 获取当前流程的任务名称
*/
private
String
getCurrentTaskName
(
String
processInstanceId
)
{
if
(
StringUtils
.
isEmpty
(
processInstanceId
))
{
return
"未启动流程"
;
}
try
{
// 查询当前运行中的任务
List
<
Task
>
activeTasks
=
taskService
.
createTaskQuery
()
.
processInstanceId
(
processInstanceId
)
.
list
();
if
(
activeTasks
!=
null
&&
!
activeTasks
.
isEmpty
())
{
StringBuilder
taskNames
=
new
StringBuilder
();
for
(
Task
task
:
activeTasks
)
{
if
(
taskNames
.
length
()
>
0
)
{
taskNames
.
append
(
","
);
}
taskNames
.
append
(
task
.
getName
());
// 获取任务名称
}
return
taskNames
.
toString
();
}
// 检查流程是否已结束
ProcessInstance
processInstance
=
runtimeService
.
createProcessInstanceQuery
()
.
processInstanceId
(
processInstanceId
)
.
singleResult
();
if
(
processInstance
==
null
)
{
return
"流程已结束"
;
}
return
"等待处理"
;
}
catch
(
Exception
e
)
{
log
.
error
(
"查询任务名称失败,流程实例ID: {}"
,
processInstanceId
,
e
);
return
"查询失败"
;
}
}
public
String
buildWorkStatus
(
THazardWorkPlanDTO
tHazardWorkPlanDTO
)
{
if
(
tHazardWorkPlanDTO
.
getWorkStatus
().
equals
(
WorkPlanStatusEnum
.
PERMIT
.
getValue
())
&&
StringUtils
.
isNotBlank
(
tHazardWorkPlanDTO
.
getLicenseStatus
()))
{
tHazardWorkPlanDTO
.
setBuildWorkStatus
(
WorkPlanStatusEnum
.
UNDER_APPROVAL
.
getValue
());
...
...
@@ -2253,6 +2303,11 @@ public class THazardWorkPlanServiceImpl extends SuperServiceImpl<THazardWorkPlan
if
(
StringHelper
.
isNotEmpty
(
vars
)
&&
StringHelper
.
isNotNull
(
vars
.
get
(
"opinion"
)))
{
opinion
=
(
String
)
vars
.
get
(
"opinion"
);
}
// 先删除已办记录
deleteDoneRecords
(
completeTask
.
getBizId
());
//关闭主流程数据
try
{
if
(
byId
.
getProcessId
()
!=
null
){
...
...
@@ -2265,10 +2320,32 @@ public class THazardWorkPlanServiceImpl extends SuperServiceImpl<THazardWorkPlan
THazardWorkPlan
tHazardWorkPlan
=
new
THazardWorkPlan
();
tHazardWorkPlan
.
setId
(
completeTask
.
getBizId
());
tHazardWorkPlan
.
setWorkStatus
(
WorkPlanStatusEnum
.
DRAFT
.
getValue
());
tHazardWorkPlan
.
set
Cancel
Opinion
(
opinion
);
tHazardWorkPlan
.
set
Revoke
Opinion
(
opinion
);
this
.
updateById
(
tHazardWorkPlan
);
}
private
void
deleteDoneRecords
(
String
bizId
)
{
try
{
// 获取流程实例ID
THazardWorkPlan
entity
=
this
.
getById
(
bizId
);
if
(
entity
!=
null
&&
entity
.
getProcessId
()
!=
null
)
{
String
processInstanceId
=
entity
.
getProcessId
();
// 删除历史任务记录(已办记录)
List
<
HistoricTaskInstance
>
historicTasks
=
historyService
.
createHistoricTaskInstanceQuery
()
.
processInstanceId
(
processInstanceId
)
.
list
();
for
(
HistoricTaskInstance
task
:
historicTasks
)
{
// 删除历史任务
historyService
.
deleteHistoricTaskInstance
(
task
.
getId
());
}
}
}
catch
(
Exception
e
)
{
log
.
error
(
"删除已办记录失败,业务ID: {}"
,
bizId
,
e
);
// 根据业务需求决定是否抛出异常
}
}
}
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/train/myManagement/controller/TTrainMyManagementController.java
View file @
64bef238
...
...
@@ -412,39 +412,41 @@ public class TTrainMyManagementController extends SuperController {
for
(
TTrainMyManagementQueryVO
item:
list
){
TrainExaminationManageRetake
trainExaminationManageRetake
=
trainExaminationManageRetakeService
.
getByTrainExaminationManageId
(
item
.
getTaskId
());
if
(
null
!=
trainExaminationManageRetake
){
item
.
setTrainExaminationManageRetake
(
trainExaminationManageRetake
);
//判断正式考试成绩是否大于及格线,大于则不让补考
if
(
null
!=
item
.
getTestScore
()
&&
!
""
.
equals
(
item
.
getTestScore
())){
if
(
Double
.
valueOf
(
item
.
getTestScore
())>=
Double
.
valueOf
(
trainExaminationManageRetake
.
getPassScore
())){
item
.
setRepairStatus
(
"2"
);
}
else
{
//判断
是否在补考时间内
boolean
isDuringExam
=
currentTime
.
after
(
trainExaminationManageRetake
.
getExamStartTime
())
&&
currentTime
.
before
(
trainExaminationManageRetake
.
getExamEndTime
());
if
(
isDuringExam
){
//判断
没有补考过
List
<
TTrainTestQuestionsExercise
>
tTrainTestQuestionsExercises
=
tTrainTestQuestionsExerciseService
.
getByMyIdAndCreateBy
(
item
.
getId
(),
getUserId
());
if
(
tTrainTestQuestionsExercises
.
size
()
==
0
){
//判断
没有补考过
List
<
TTrainTestQuestionsExercise
>
tTrainTestQuestionsExercises
=
tTrainTestQuestionsExerciseService
.
getByMyIdAndCreateBy
(
item
.
getId
(),
getUserId
());
if
(
tTrainTestQuestionsExercises
.
size
()
==
0
){
//判断
是否在补考时间内
boolean
isDuringExam
=
currentTime
.
after
(
trainExaminationManageRetake
.
getExamStartTime
())
&&
currentTime
.
before
(
trainExaminationManageRetake
.
getExamEndTime
());
if
(
isDuringExam
){
item
.
setRepairStatus
(
"1"
);
}
else
{
item
.
setRepairStatus
(
"
3
"
);
item
.
setRepairStatus
(
"
2
"
);
}
}
else
{
item
.
setRepairStatus
(
"
2
"
);
item
.
setRepairStatus
(
"
3
"
);
}
}
}
else
{
//没有成绩
//判断
是否在补考时间内
boolean
isDuringExam
=
currentTime
.
after
(
trainExaminationManageRetake
.
getExamStartTime
())
&&
currentTime
.
before
(
trainExaminationManageRetake
.
getExamEndTime
());
if
(
isDuringExam
){
//判断
没有补考过
List
<
TTrainTestQuestionsExercise
>
tTrainTestQuestionsExercises
=
tTrainTestQuestionsExerciseService
.
getByMyIdAndCreateBy
(
item
.
getId
(),
getUserId
());
if
(
tTrainTestQuestionsExercises
.
size
()
==
0
){
//判断
没有补考过
List
<
TTrainTestQuestionsExercise
>
tTrainTestQuestionsExercises
=
tTrainTestQuestionsExerciseService
.
getByMyIdAndCreateBy
(
item
.
getId
(),
getUserId
());
if
(
tTrainTestQuestionsExercises
.
size
()
==
0
){
//判断
是否在补考时间内
boolean
isDuringExam
=
currentTime
.
after
(
trainExaminationManageRetake
.
getExamStartTime
())
&&
currentTime
.
before
(
trainExaminationManageRetake
.
getExamEndTime
());
if
(
isDuringExam
){
item
.
setRepairStatus
(
"1"
);
}
else
{
item
.
setRepairStatus
(
"
3
"
);
item
.
setRepairStatus
(
"
2
"
);
}
}
else
{
item
.
setRepairStatus
(
"
2
"
);
item
.
setRepairStatus
(
"
3
"
);
}
}
}
else
{
...
...
@@ -462,39 +464,41 @@ public class TTrainMyManagementController extends SuperController {
for
(
TTrainMyManagementQueryVO
item:
baseResponseListBaseResponse
.
getData
().
getData
()){
TrainExaminationManageRetake
trainExaminationManageRetake
=
trainExaminationManageRetakeService
.
getByTrainExaminationManageId
(
item
.
getTaskId
());
if
(
null
!=
trainExaminationManageRetake
){
item
.
setTrainExaminationManageRetake
(
trainExaminationManageRetake
);
//判断正式考试成绩是否大于及格线,大于则不让补考
if
(
null
!=
item
.
getTestScore
()
&&
!
""
.
equals
(
item
.
getTestScore
())){
if
(
Double
.
valueOf
(
item
.
getTestScore
())>=
Double
.
valueOf
(
trainExaminationManageRetake
.
getPassScore
())){
item
.
setRepairStatus
(
"2"
);
}
else
{
//判断
是否在补考时间内
boolean
isDuringExam
=
currentTime
.
after
(
trainExaminationManageRetake
.
getExamStartTime
())
&&
currentTime
.
before
(
trainExaminationManageRetake
.
getExamEndTime
());
if
(
isDuringExam
){
//判断
没有补考过
List
<
TTrainTestQuestionsExercise
>
tTrainTestQuestionsExercises
=
tTrainTestQuestionsExerciseService
.
getByMyIdAndCreateBy
(
item
.
getId
(),
getUserId
());
if
(
tTrainTestQuestionsExercises
.
size
()
==
0
){
//判断
没有补考过
List
<
TTrainTestQuestionsExercise
>
tTrainTestQuestionsExercises
=
tTrainTestQuestionsExerciseService
.
getByMyIdAndCreateBy
(
item
.
getId
(),
getUserId
());
if
(
tTrainTestQuestionsExercises
.
size
()
==
0
){
//判断
是否在补考时间内
boolean
isDuringExam
=
currentTime
.
after
(
trainExaminationManageRetake
.
getExamStartTime
())
&&
currentTime
.
before
(
trainExaminationManageRetake
.
getExamEndTime
());
if
(
isDuringExam
){
item
.
setRepairStatus
(
"1"
);
}
else
{
item
.
setRepairStatus
(
"
3
"
);
item
.
setRepairStatus
(
"
2
"
);
}
}
else
{
item
.
setRepairStatus
(
"
2
"
);
item
.
setRepairStatus
(
"
3
"
);
}
}
}
else
{
//没有成绩
//判断
是否在补考时间内
boolean
isDuringExam
=
currentTime
.
after
(
trainExaminationManageRetake
.
getExamStartTime
())
&&
currentTime
.
before
(
trainExaminationManageRetake
.
getExamEndTime
());
if
(
isDuringExam
){
//判断
没有补考过
List
<
TTrainTestQuestionsExercise
>
tTrainTestQuestionsExercises
=
tTrainTestQuestionsExerciseService
.
getByMyIdAndCreateBy
(
item
.
getId
(),
getUserId
());
if
(
tTrainTestQuestionsExercises
.
size
()
==
0
){
//判断
没有补考过
List
<
TTrainTestQuestionsExercise
>
tTrainTestQuestionsExercises
=
tTrainTestQuestionsExerciseService
.
getByMyIdAndCreateBy
(
item
.
getId
(),
getUserId
());
if
(
tTrainTestQuestionsExercises
.
size
()
==
0
){
//判断
是否在补考时间内
boolean
isDuringExam
=
currentTime
.
after
(
trainExaminationManageRetake
.
getExamStartTime
())
&&
currentTime
.
before
(
trainExaminationManageRetake
.
getExamEndTime
());
if
(
isDuringExam
){
item
.
setRepairStatus
(
"1"
);
}
else
{
item
.
setRepairStatus
(
"
3
"
);
item
.
setRepairStatus
(
"
2
"
);
}
}
else
{
item
.
setRepairStatus
(
"
2
"
);
item
.
setRepairStatus
(
"
3
"
);
}
}
}
else
{
...
...
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/train/myManagement/model/domain/TTrainMyManagement.java
View file @
64bef238
...
...
@@ -5,6 +5,7 @@ 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.testor.module.hazard.model.domain.TrainExaminationManageRetake
;
import
com.tongtech.tfw.backend.common.models.supers.SuperModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
@@ -226,6 +227,10 @@ public class TTrainMyManagement extends SuperModel
@TableField
(
exist
=
false
)
private
String
repairStatus
;
@ApiModelProperty
(
value
=
"补考信息"
)
@TableField
(
exist
=
false
)
private
TrainExaminationManageRetake
trainExaminationManageRetake
;
public
static
final
String
ID
=
"id"
;
public
static
final
String
PARENT_ID
=
"parent_id"
;
public
static
final
String
PERSON_ID
=
"person_id"
;
...
...
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/train/myManagement/service/impl/TTrainTestQuestionsExerciseServiceImpl.java
View file @
64bef238
...
...
@@ -723,7 +723,8 @@ public class TTrainTestQuestionsExerciseServiceImpl extends SuperServiceImpl<TTr
update
=
tTrainMyManagementService
.
update
(
new
UpdateWrapper
<
TTrainMyManagement
>()
.
eq
(
TTrainMyManagement
.
ID
,
myid
)
.
set
(
TTrainMyManagement
.
REPAIR_TEST
,
sum
)
.
set
(
TTrainMyManagement
.
PERCENTAGE
,
percentage
));
.
set
(
TTrainMyManagement
.
PERCENTAGE
,
percentage
)
.
set
(
TTrainMyManagement
.
IS_ADD_EXAM
,
"1"
));
}
...
...
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/train/project/dao/TTrainProjectDao.java
View file @
64bef238
...
...
@@ -108,5 +108,12 @@ public interface TTrainProjectDao extends SuperDao<TTrainProject> {
List
<
String
>
findScoreStat
(
@Param
(
"projectId"
)
String
projectId
);
/**
* 统计补考成绩
* @param projectId
* @return
*/
List
<
String
>
findScoreRepairTest
(
@Param
(
"projectId"
)
String
projectId
);
}
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/train/project/model/stat/TrainProjectUserDetailStat.java
View file @
64bef238
...
...
@@ -55,7 +55,8 @@ public class TrainProjectUserDetailStat {
@ApiModelProperty
(
value
=
"考试地点"
)
private
String
examSite
;
@ApiModelProperty
(
value
=
"补考成绩"
)
private
String
repairTest
;
@ApiModelProperty
(
value
=
"是否是外部培训数据“ 1 是,0.否”"
)
...
...
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/train/project/service/TrainProjectStatisticsDetailService.java
View file @
64bef238
...
...
@@ -27,4 +27,11 @@ public interface TrainProjectStatisticsDetailService {
*/
List
<
String
>
findScoreStatByProjectId
(
ProjectStatPara
para
);
/**
* 培训计划下的学员考试统计
* @param para
* @return
*/
List
<
String
>
findScoreRepairTest
(
ProjectStatPara
para
);
}
\ No newline at end of file
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/train/project/service/impl/TTrainProjectServiceImpl.java
View file @
64bef238
...
...
@@ -458,6 +458,7 @@ public class TTrainProjectServiceImpl extends SuperServiceImpl<TTrainProjectDao,
ProjectScoreStatVo
scoreStatVo
=
new
ProjectScoreStatVo
();
List
<
String
>
scoreList
=
projectStatisticsDetailService
.
findScoreStatByProjectId
(
para
);
scoreList
.
addAll
(
projectStatisticsDetailService
.
findScoreRepairTest
(
para
));
List
<
BigDecimal
>
doubleList
=
new
ArrayList
<>();
if
(!
CollectionUtils
.
isEmpty
(
scoreList
))
{
BigDecimal
sum
=
BigDecimal
.
ZERO
;
...
...
zlmy-modules/zlmy-boot/src/main/java/com/testor/module/train/project/service/impl/TrainProjectStatisticsDetailServiceImpl.java
View file @
64bef238
...
...
@@ -8,6 +8,7 @@ import com.testor.module.train.project.service.TrainProjectStatisticsDetailServi
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Collections
;
import
java.util.List
;
/**
...
...
@@ -34,4 +35,9 @@ public class TrainProjectStatisticsDetailServiceImpl implements TrainProjectStat
public
List
<
String
>
findScoreStatByProjectId
(
ProjectStatPara
para
)
{
return
tTrainProjectDao
.
findScoreStat
(
para
.
getProjectId
());
}
@Override
public
List
<
String
>
findScoreRepairTest
(
ProjectStatPara
para
)
{
return
tTrainProjectDao
.
findScoreRepairTest
(
para
.
getProjectId
());
}
}
zlmy-modules/zlmy-boot/src/main/resources/mapper/train/myManagement/TTrainMyManagement.xml
View file @
64bef238
...
...
@@ -123,7 +123,8 @@
m.visit_end_time,
m.test_score,
m.exam_duration,
p.exam_site
p.exam_site,
m.repair_test
FROM
t_train_my_management m
LEFT JOIN t_train_project p ON p.id = m.task_id
...
...
zlmy-modules/zlmy-boot/src/main/resources/mapper/train/project/TTrainProject.xml
View file @
64bef238
...
...
@@ -546,6 +546,26 @@
) AND m.test_score IS NOT NULL
</select>
<select
id=
"findScoreRepairTest"
resultType=
"java.lang.String"
>
SELECT
m.test_score
FROM
t_train_my_management m
WHERE
m.id IN (
SELECT
m.parent_id
FROM
t_train_my_management m
LEFT JOIN t_train_project p ON p.id = m.task_id
WHERE
p.id = #{projectId}
AND p.is_add_exam = '1'
) AND m.test_score IS NOT NULL
</select>
<select
id=
"findTrainProjectCompleted"
resultType=
"com.testor.module.train.project.model.stat.ProjectStatTotalVo"
>
SELECT
COUNT(m.person_id ) AS projectPersonCompleted
...
...
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