Merge remote-tracking branch 'origin/dev-tmp1' into dev-tmp1
commit
aa710f0c2a
|
|
@ -0,0 +1,167 @@
|
|||
create table class_course
|
||||
(
|
||||
id bigint not null comment '主键ID(由程序生成,不自增)'
|
||||
primary key,
|
||||
class_id bigint not null comment '所属班级ID(关联training_class.id)',
|
||||
course_name varchar(200) not null comment '课程名称',
|
||||
course_id bigint not null comment '课程id',
|
||||
required_total_hours decimal(10, 2) null comment '要求完成总学时(小时)',
|
||||
video_duration decimal(10, 2) null comment '视频累计时长(小时)',
|
||||
delete_enum varchar(32) null comment '删除标识true false',
|
||||
remarks varchar(255) null comment '备注',
|
||||
create_name varchar(50) null comment '创建人姓名',
|
||||
update_name varchar(50) null comment '更新人姓名',
|
||||
tenant_id bigint null comment '租户id',
|
||||
version int null comment '版本',
|
||||
create_time datetime null comment '创建时间',
|
||||
update_time datetime null comment '修改时间',
|
||||
create_id bigint null comment '创建人id',
|
||||
update_id bigint null comment '修改人id',
|
||||
env varchar(50) null comment '环境'
|
||||
)
|
||||
comment '课程管理表' charset = utf8mb4;
|
||||
|
||||
create index idx_class_id
|
||||
on class_course (class_id);
|
||||
|
||||
create table class_management
|
||||
(
|
||||
id bigint unsigned zerofill not null comment '主键ID(由程序生成,不自增)'
|
||||
primary key,
|
||||
class_code varchar(50) null comment '班级编码(唯一)',
|
||||
class_name varchar(100) null comment '班级名称',
|
||||
training_type varchar(50) null comment '培训类型',
|
||||
unit_type int null comment '参训单位类型(1本企业2相关方)',
|
||||
unit_name varchar(100) null comment '参训单位名称',
|
||||
recorder varchar(50) null comment '记录人员(姓名或ID)',
|
||||
assessor varchar(50) null comment '考核人员(姓名或ID)',
|
||||
safety_manager varchar(50) null comment '安全管理部门负责人(姓名或ID)',
|
||||
start_date datetime null comment '培训开始日期',
|
||||
end_date datetime null comment '培训结束日期',
|
||||
open_exam tinyint(1) default 0 null comment '是否开启考试(0-否,1-是)',
|
||||
exam_face_recognition tinyint(1) default 0 null comment '考试前人脸识别(0-否,1-是)',
|
||||
exam_count int null comment '考试次数',
|
||||
face_recognition tinyint(1) default 0 null comment '是否人脸识别(0-否,1-是)',
|
||||
face_recognition_time int null comment '人脸识别时间(分钟,可选5/10/20/30)',
|
||||
shuffle_questions tinyint(1) default 0 null comment '是否打乱试题顺序(0-否,1-是)',
|
||||
status int default 0 null comment '班级状态:0-未申请,1-待开班,2-培训中,3-培训结束',
|
||||
delete_enum varchar(32) null comment '删除标识true false',
|
||||
remarks varchar(255) null comment '备注',
|
||||
create_name varchar(50) null comment '创建人姓名',
|
||||
update_name varchar(50) null comment '更新人姓名',
|
||||
tenant_id bigint null comment '租户id',
|
||||
version int null comment '版本',
|
||||
create_time datetime null comment '创建时间',
|
||||
update_time datetime null comment '修改时间',
|
||||
create_id bigint null comment '创建人id',
|
||||
update_id bigint null comment '修改人id',
|
||||
env varchar(50) null comment '环境',
|
||||
delay_time datetime null comment '延期时间',
|
||||
paper_type int null comment '试卷类型(如:1自动生成试卷、2平台组卷等)',
|
||||
exam_minutes int null comment '考试时长(分钟)',
|
||||
paper_id bigint null comment '试卷id'
|
||||
)
|
||||
comment '班级管理表' charset = utf8mb4;
|
||||
|
||||
create table class_student
|
||||
(
|
||||
id bigint not null comment '主键ID(由程序生成,不自增)'
|
||||
primary key,
|
||||
class_id bigint not null comment '关联班级ID(training_class.id)',
|
||||
student_name varchar(50) null comment '姓名',
|
||||
unit_name varchar(100) null comment '参训单位',
|
||||
department varchar(100) null comment '部门',
|
||||
phone varchar(20) null comment '手机号',
|
||||
file_number varchar(50) null comment '档案编号',
|
||||
face_auth tinyint(1) default 0 null comment '人脸认证(0-未认证,1-已认证)',
|
||||
required_hours decimal(10, 2) null comment '要求学时(小时)',
|
||||
completed_hours decimal(10, 2) default 0.00 null comment '已完成学时(小时)',
|
||||
study_status int default 0 null comment '学习状态:0-未学习,1-学习中,2-已学完,3-已完成',
|
||||
exam_status int default 0 null comment '考试状态:0-不考试,1-待考试,2-考试未通过,3-考试通过,4-未参加',
|
||||
entry_time datetime null comment '入班时间',
|
||||
delete_enum varchar(32) null comment '删除标识true false',
|
||||
remarks varchar(255) null comment '备注',
|
||||
create_name varchar(50) null comment '创建人姓名',
|
||||
update_name varchar(50) null comment '更新人姓名',
|
||||
tenant_id bigint null comment '租户id',
|
||||
version int null comment '版本',
|
||||
create_time datetime null comment '创建时间',
|
||||
update_time datetime null comment '修改时间',
|
||||
create_id bigint null comment '创建人id',
|
||||
update_id bigint null comment '修改人id',
|
||||
env varchar(50) null comment '环境'
|
||||
)
|
||||
comment '班级学员学习记录表' charset = utf8mb4;
|
||||
|
||||
create index idx_class_id
|
||||
on class_student (class_id);
|
||||
|
||||
create table class_student_exam_record
|
||||
(
|
||||
id bigint not null comment '主键ID(由程序生成,不自增)'
|
||||
primary key,
|
||||
student_id bigint not null comment '学员ID(关联class_student.id)',
|
||||
student_name varchar(20) not null comment '学员名称',
|
||||
class_id bigint not null comment '所属班级ID(关联training_class.id)',
|
||||
paper_name varchar(200) not null comment '试卷名称',
|
||||
paper_id bigint not null comment '试卷id',
|
||||
score decimal(10, 2) null comment '得分',
|
||||
passed tinyint(1) default 0 null comment '是否通过(0-未通过,1-通过)',
|
||||
wrong_count int default 0 null comment '错误题数',
|
||||
accuracy decimal(5, 2) null comment '正确率(百分比,如 96.66)',
|
||||
start_time datetime null comment '考试开始时间',
|
||||
end_time datetime null comment '考试结束时间',
|
||||
delete_enum varchar(32) null comment '删除标识true false',
|
||||
remarks varchar(255) null comment '备注',
|
||||
create_name varchar(50) null comment '创建人姓名',
|
||||
update_name varchar(50) null comment '更新人姓名',
|
||||
tenant_id bigint null comment '租户id',
|
||||
version int null comment '版本',
|
||||
create_time datetime null comment '创建时间',
|
||||
update_time datetime null comment '修改时间',
|
||||
create_id bigint null comment '创建人id',
|
||||
update_id bigint null comment '修改人id',
|
||||
env varchar(50) null comment '环境'
|
||||
)
|
||||
comment '学员考试记录表' charset = utf8mb4;
|
||||
|
||||
create index idx_student_id
|
||||
on class_student_exam_record (student_id);
|
||||
|
||||
create table class_student_learning_record
|
||||
(
|
||||
id bigint not null comment '主键ID(由程序生成,不自增)'
|
||||
primary key,
|
||||
student_id bigint not null comment '学员ID(关联class_student.id)',
|
||||
class_id bigint not null comment '所属班级ID(关联training_class.id)',
|
||||
course_id bigint not null comment '课程ID(关联training_course.id)',
|
||||
course_name varchar(200) not null comment '课程名称',
|
||||
courseware_name varchar(200) null comment '小节点名称(如章节名、视频文件名)',
|
||||
study_status int default 0 null comment '学习状态:0-未学习,1-学习中,2-已完成',
|
||||
learning_progress varchar(50) null comment '学习情况(如进度百分比或简要描述,冗余字段便于展示)',
|
||||
start_time datetime null comment '开始学习时间(第一次开始观看/学习的时间)',
|
||||
end_time datetime null comment '完成时间(标记为“已学完”或“已完成”的时间)',
|
||||
last_watch_time datetime null comment '最近观看时间(最后一条学习行为的时间戳)',
|
||||
delete_enum varchar(32) null comment '删除标识true false',
|
||||
remarks varchar(255) null comment '备注',
|
||||
create_name varchar(50) null comment '创建人姓名',
|
||||
update_name varchar(50) null comment '更新人姓名',
|
||||
tenant_id bigint null comment '租户id',
|
||||
version int null comment '版本',
|
||||
create_time datetime null comment '创建时间',
|
||||
update_time datetime null comment '修改时间',
|
||||
create_id bigint null comment '创建人id',
|
||||
update_id bigint null comment '修改人id',
|
||||
env varchar(50) null comment '环境'
|
||||
)
|
||||
comment '学员学习记录表(节点级)' charset = utf8mb4;
|
||||
|
||||
create index idx_course_id
|
||||
on class_student_learning_record (course_id);
|
||||
|
||||
create index idx_student_id
|
||||
on class_student_learning_record (student_id);
|
||||
|
||||
create index idx_study_status
|
||||
on class_student_learning_record (study_status);
|
||||
|
||||
|
|
@ -2,12 +2,16 @@ package org.qinan.safetyeval.adapter.web.institution;
|
|||
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.qinan.safetyeval.client.api.institution.EvalProjectMemberApi;
|
||||
import org.qinan.safetyeval.client.api.institution.EvalRiskAnalysisApi;
|
||||
import org.qinan.safetyeval.client.co.institution.EvalProjectMemberCO;
|
||||
import org.qinan.safetyeval.client.co.institution.EvalRiskParticipantCO;
|
||||
import org.qinan.safetyeval.client.dto.PageResponse;
|
||||
import org.qinan.safetyeval.client.dto.SingleResponse;
|
||||
import org.qinan.safetyeval.client.dto.institution.EvalProjectMemberAddCmd;
|
||||
import org.qinan.safetyeval.client.dto.institution.EvalProjectMemberPageQuery;
|
||||
import org.qinan.safetyeval.client.dto.institution.EvalRiskParticipantSaveCmd;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
|
|
@ -21,6 +25,9 @@ public class EvalProjectMemberController {
|
|||
|
||||
@Resource
|
||||
private EvalProjectMemberApi evalProjectMemberApi;
|
||||
@Resource
|
||||
private EvalRiskAnalysisApi evalRiskAnalysisApi;
|
||||
|
||||
|
||||
@ApiOperation("保存成员(id空新增/非空修改)")
|
||||
@PostMapping("/save")
|
||||
|
|
@ -36,4 +43,18 @@ public class EvalProjectMemberController {
|
|||
public PageResponse<EvalProjectMemberCO> page(@Validated EvalProjectMemberPageQuery query) {
|
||||
return evalProjectMemberApi.page(query);
|
||||
}
|
||||
|
||||
//////////////////////////项目经理签字
|
||||
@ApiOperation("保存项目经理签字人")
|
||||
@PostMapping("/participant/save")
|
||||
public SingleResponse<Boolean> saveParticipant(@Validated @RequestBody List<EvalRiskParticipantSaveCmd> cmd) {
|
||||
return evalRiskAnalysisApi.saveParticipant(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("参与人列表")
|
||||
@GetMapping("/participant/list")
|
||||
public SingleResponse<List<EvalRiskParticipantCO>> listParticipants(
|
||||
@ApiParam("项目组id") @RequestParam String projectTeamId) {
|
||||
return evalRiskAnalysisApi.listParticipants(projectTeamId);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -84,7 +84,8 @@ public class EvalSignTaskExecutor implements EvalSignTaskApi {
|
|||
}
|
||||
|
||||
private void support(String projectId, String signerPersonnelId, String nodeCode) {
|
||||
if (ProjectStageEnum.RISK_ANALYSIS.getVal().equals(nodeCode)) {
|
||||
if (ProjectStageEnum.RISK_ANALYSIS.getVal().equals(nodeCode)
|
||||
|| ProjectStageEnum.PROJECT_GROUP.getVal().equals(nodeCode)) {
|
||||
evalRiskParticipantMapper.update(new LambdaUpdateWrapper<EvalRiskParticipantDO>()
|
||||
.eq(EvalRiskParticipantDO::getProjectId, projectId)
|
||||
.eq(EvalRiskParticipantDO::getPersonnelId, signerPersonnelId)
|
||||
|
|
@ -143,7 +144,8 @@ public class EvalSignTaskExecutor implements EvalSignTaskApi {
|
|||
.set(EvalSignTaskDO::getTaskStatusCode, SignTaskStatusEnum.SIGNED.getCode())
|
||||
.set(EvalSignTaskDO::getSignerUrl, cmd.getSignerUrl()));
|
||||
|
||||
if (ProjectStageEnum.RISK_ANALYSIS.getVal().equals(evalSignTaskDO.getNodeCode())) {
|
||||
if (ProjectStageEnum.RISK_ANALYSIS.getVal().equals(evalSignTaskDO.getNodeCode())
|
||||
|| ProjectStageEnum.PROJECT_GROUP.getVal().equals(evalSignTaskDO.getNodeCode())) {
|
||||
evalRiskParticipantMapper.update(new LambdaUpdateWrapper<EvalRiskParticipantDO>()
|
||||
.eq(EvalRiskParticipantDO::getPersonnelId, evalSignTaskDO.getSignerPersonnelId())
|
||||
.eq(EvalRiskParticipantDO::getProjectId, evalSignTaskDO.getProjectId())
|
||||
|
|
|
|||
|
|
@ -35,4 +35,7 @@ public class EvalProjectDocCO {
|
|||
|
||||
@ApiModelProperty("查看文档列表, key对应资料类别枚举, val对应同类型的集合")
|
||||
private Map<String, List<EvalProjectDocMaterialItemCO>> projectDocUrlMap;
|
||||
|
||||
@ApiModelProperty("备注")
|
||||
private String remarks;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ public class EvalRiskParticipantCO {
|
|||
@ApiModelProperty("主键ID")
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty("风险分析ID")
|
||||
@ApiModelProperty("风险分析or项目组经理ID")
|
||||
private String riskId;
|
||||
|
||||
@ApiModelProperty("项目ID")
|
||||
|
|
|
|||
|
|
@ -18,4 +18,5 @@ public class EvalProjectDocAddCmd {
|
|||
@NotEmpty(message = "资料列表不能为空")
|
||||
@ApiModelProperty(value = "资料上传地址", required = true)
|
||||
private List<EvalProjectDocMaterialItemCO> projectDocUrl;
|
||||
private String remarks;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@ public class EvalRiskParticipantSaveCmd {
|
|||
@ApiModelProperty("主键ID(修改时传)")
|
||||
private String id;
|
||||
|
||||
@NotBlank(message = "风险分析ID不能为空")
|
||||
@ApiModelProperty(value = "风险分析ID", required = true)
|
||||
@NotBlank(message = "风险分析or项目组经理ID不能为空")
|
||||
@ApiModelProperty(value = "风险分析or项目组经理ID", required = true)
|
||||
private String riskId;
|
||||
|
||||
@ApiModelProperty("人员ID")
|
||||
|
|
|
|||
|
|
@ -15,4 +15,5 @@ public class EvalProjectDocEntity {
|
|||
/** 资料上传地址 JSON 原文 */
|
||||
private String projectDocUrl;
|
||||
private Long tenantId;
|
||||
private String remarks;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class EvalProjectDocDomainService {
|
|||
entity.setProjectName(project.getProjectName());
|
||||
entity.setEvalTypeCode(project.getEvalTypeCode());
|
||||
entity.setCustomerName(customer.getCustomerName());
|
||||
entity.setRemarks(entity.getRemarks());
|
||||
return evalProjectDocGateway.save(entity);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue