补充讲师培训计划细节逻辑

This commit is contained in:
wans 2021-05-05 15:56:38 +08:00
parent f4d875df1e
commit fdb4da2158
7 changed files with 124 additions and 71 deletions

View File

@ -28,8 +28,12 @@ public class ClassPlanDTO {
private String planType;
@ApiModelProperty(name = "projectCatalogId", value = "培训项目")
private String projectCatalogId;
@ApiModelProperty(name = "projectCatalogName", value = "培训项目名称")
private String projectCatalogName;
@ApiModelProperty(name = "workerCatalog", value = "培训工种")
private String workerCatalog;
@ApiModelProperty(name = "workerCatalogName", value = "培训工种名称")
private String workerCatalogName;
@ApiModelProperty(name = "planPersonNum", value = "计划人数")
@CheckNumberAnnotation(name = "计划人数")
private Integer planPersonNum;
@ -191,4 +195,20 @@ public class ClassPlanDTO {
public void setReportReason(String reportReason) {
this.reportReason = reportReason;
}
public String getProjectCatalogName() {
return projectCatalogName == null ? "" : projectCatalogName;
}
public void setProjectCatalogName(String projectCatalogName) {
this.projectCatalogName = projectCatalogName;
}
public String getWorkerCatalogName() {
return workerCatalogName == null ? "" : workerCatalogName;
}
public void setWorkerCatalogName(String workerCatalogName) {
this.workerCatalogName = workerCatalogName;
}
}

View File

@ -28,10 +28,14 @@ public class TeacherDTO {
private String idCardNumber;
@ApiModelProperty(name = "politicalStatus", value = "政治面貌")
private String politicalStatus;
@ApiModelProperty(name = "gender", value = "性别")
@ApiModelProperty(name = "gender", value = "性别ID")
private String gender;
@ApiModelProperty(name = "education", value = "学历")
@ApiModelProperty(name = "genderName", value = "性别")
private String genderName;
@ApiModelProperty(name = "education", value = "学历ID")
private String education;
@ApiModelProperty(name = "educationName", value = "学历")
private String educationName;
@ApiModelProperty(name = "nation", value = "民族")
private String nation;
@ApiModelProperty(name = "graduateSchool", value = "毕业学校")
@ -152,4 +156,20 @@ public class TeacherDTO {
public void setPlaceOfWork(String placeOfWork) {
this.placeOfWork = placeOfWork;
}
public String getGenderName() {
return genderName == null ? "" : genderName;
}
public void setGenderName(String genderName) {
this.genderName = genderName;
}
public String getEducationName() {
return educationName == null ? "" : educationName;
}
public void setEducationName(String educationName) {
this.educationName = educationName;
}
}

View File

@ -3,16 +3,20 @@ package cn.com.tenlion.service.classplan.impl;
import cn.com.tenlion.dao.classplan.IClassPlanDao;
import cn.com.tenlion.pojo.bos.classplan.ClassPlanBO;
import cn.com.tenlion.pojo.dtos.classplan.ClassPlanDTO;
import cn.com.tenlion.pojo.dtos.worktype.WorkTypeDTO;
import cn.com.tenlion.pojo.pos.classplan.ClassPlanPO;
import cn.com.tenlion.pojo.vos.classplan.ClassPlanVO;
import cn.com.tenlion.pojo.vos.examcheck.ExamCheckVO;
import cn.com.tenlion.service.classplan.IClassPlanService;
import cn.com.tenlion.service.examcheck.IExamCheckService;
import cn.com.tenlion.service.worktype.IWorkTypeService;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import ink.wgink.common.base.DefaultBaseService;
import ink.wgink.module.dictionary.pojo.dtos.DataDTO;
import ink.wgink.module.dictionary.service.IDataService;
import ink.wgink.pojo.ListPage;
import ink.wgink.pojo.result.SuccessResultList;
import ink.wgink.util.UUIDUtil;
@ -39,6 +43,10 @@ public class ClassPlanServiceImpl extends DefaultBaseService implements IClassPl
@Autowired
private IExamCheckService examCheckService;
@Autowired
private IDataService dataService;
@Autowired
private IWorkTypeService workTypeService;
@Override
public void save(ClassPlanVO classPlanVO) {
@ -217,6 +225,15 @@ public class ClassPlanServiceImpl extends DefaultBaseService implements IClassPl
public SuccessResultList<List<ClassPlanDTO>> listPage(ListPage page) {
PageHelper.startPage(page.getPage(), page.getRows());
List<ClassPlanDTO> classPlanDTOs = list(page.getParams());
for(ClassPlanDTO item : classPlanDTOs){
//处理培训项目
DataDTO dataDTO = dataService.get(item.getProjectCatalogId());
item.setProjectCatalogName(dataDTO.getDataName());
//处理工种类型
WorkTypeDTO workTypeDTO = workTypeService.get(item.getWorkerCatalog());
item.setWorkerCatalogName(workTypeDTO.getWorkTypeName());
}
PageInfo<ClassPlanDTO> pageInfo = new PageInfo<>(classPlanDTOs);
return new SuccessResultList<>(classPlanDTOs, pageInfo.getPageNum(), pageInfo.getTotal());
}

View File

@ -11,6 +11,8 @@ import com.github.pagehelper.PageInfo;
import ink.wgink.common.base.DefaultBaseService;
import ink.wgink.exceptions.RemoveException;
import ink.wgink.exceptions.SearchException;
import ink.wgink.module.dictionary.pojo.dtos.DataDTO;
import ink.wgink.module.dictionary.service.IDataService;
import ink.wgink.pojo.ListPage;
import ink.wgink.pojo.bos.UserInfoBO;
import ink.wgink.pojo.result.SuccessResult;
@ -39,11 +41,21 @@ public class TeacherServiceImpl extends DefaultBaseService implements ITeacherSe
private ITeacherDao teacherDao;
@Autowired
private ITrainingInstitutionUserService trainingInstitutionUserService;
@Autowired
private IDataService dataService;
@Override
public SuccessResultList<List<TeacherDTO>> listPage(ListPage page) throws SearchException {
PageHelper.startPage(page.getPage(), page.getRows());
List<TeacherDTO> dtos = teacherDao.list(page.getParams());
for (TeacherDTO item : dtos){
//处理性别
DataDTO gender = dataService.get(item.getGender());
item.setGenderName(gender.getDataName());
//处理学历
DataDTO education = dataService.get(item.getEducation());
item.setEducationName(education.getDataName());
}
PageInfo<TeacherDTO> pageInfo = new PageInfo<>(dtos);
return new SuccessResultList<>(dtos, pageInfo.getPageNum(), pageInfo.getTotal());
}

View File

@ -114,6 +114,9 @@
if(row['reportType'] === '1'){
return '<a type="button" class="layui-btn layui-btn-warm layui-btn-xs">报备待审</a>';
}
if(row['reportType'] === '2'){
return '<a type="button" class="layui-btn layui-btn-info layui-btn-xs">审核通过</a>';
}
return dom;
}
},
@ -135,7 +138,22 @@
return rowData;
}
},
{field: 'planType', width: 180, title: '培训类型1初训2复训3换证', align:'center',
{field: 'planType', width: 120, title: '培训类型', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(rowData == '1'){
return '初训';
}
if(rowData == '1'){
return '复训';
}
if(rowData == '1'){
return '换证';
}
return '-';
}
},
{field: 'projectCatalogName', width: 180, title: '培训项目', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
@ -144,7 +162,7 @@
return rowData;
}
},
{field: 'projectCatalogId', width: 180, title: '培训项目', align:'center',
{field: 'workerCatalogName', width: 180, title: '培训工种', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
@ -153,52 +171,7 @@
return rowData;
}
},
{field: 'workerCatalog', width: 180, title: '培训工种', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'planPersonNum', width: 180, title: '计划人数', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'planStartTime', width: 180, title: '培训开始时间', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'planEndTime', width: 180, title: '培训结束时间', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'signUpStartTime', width: 180, title: '报名时间开始', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'signUpEndTime', width: 180, title: '报名时间截止', align:'center',
{field: 'planPersonNum', width: 120, title: '计划人数', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
@ -207,6 +180,7 @@
return rowData;
}
},
{field: 'planAddress', width: 180, title: '培训地点', align:'center',
templet: function(row) {
var rowData = row[this.field];
@ -234,6 +208,20 @@
return rowData;
}
},
{width: 330, title: '培训时间', align:'center',
templet: function(row) {
var start = row['planStartTime'];
var end = row['planEndTime'];
return start + ' ~ ' + end;
}
},
{width: 330, title: '报名时间', align:'center',
templet: function(row) {
var start = row['signUpStartTime'];
var end = row['signUpEndTime'];
return start + ' ~ ' + end;
}
},
]
],
page: true,

View File

@ -159,11 +159,11 @@
<table class="layui-table" id="dataTable" lay-filter="dataTable">
<thead>
<tr>
<th style="width: 50px; text-align: center"><b>选择</b></th>
<th style="width: 50px; text-align: center"><b>确认课程</b></th>
<th style="width: 200px; text-align: center"><b>选择讲师</b></th>
<th style="width: 260px; text-align: center"><b>课程名称</b></th>
<th style="width: 100px; text-align: center"><b>课程类型</b></th>
<th style="width: 100px; text-align: center"><b>授课方式</b></th>
<th style="width: 200px; text-align: center"><b>选择讲师</b></th>
</tr>
</thead>
<tbody id="lessonTbodyBox"></tbody>
@ -173,6 +173,14 @@
<td style="text-align: center">
<input data-lesson-id="{{item.lessonId}}" type="checkbox" name="lessonCheckBox" lay-skin="primary" lay-filter="lessonCheckBox">
</td>
<td style="text-align: center">
<select id="select-{{item.lessonId}}">
<option value="">请选择</option>
{{# for(var j = 0, teacher; teacher = d.teacher[j++];) { }}
<option value="{{teacher.teacherId}}">{{teacher.teacherName}}</option>
{{# } }}
</select>
</td>
<td style="text-align: center">
{{item.lessonName}}
</td>
@ -189,14 +197,6 @@
面授
{{# } }}
</td>
<td style="text-align: center">
<select id="select-{{item.lessonId}}">
<option value="">请选择</option>
{{# for(var j = 0, teacher; teacher = d.teacher[j++];) { }}
<option value="{{teacher.teacherId}}">{{teacher.teacherName}}</option>
{{# } }}
</select>
</td>
</tr>
{{# } }}
</script>
@ -205,7 +205,7 @@
</div>
<div class="layui-form-item layui-layout-admin">
<div class="layui-input-block">
<div class="layui-footer" style="left: 0;">
<div class="layui-footer" style="left: 0;z-index: 10">
<button type="button" class="layui-btn" lay-submit lay-filter="submitForm">提交新增</button>
<button type="button" class="layui-btn layui-btn-primary close">返回上级</button>
</div>
@ -354,8 +354,7 @@
function initPlanStartTimeDateTime() {
laydate.render({
elem: '#planStartTime',
type: 'datetime',
value: new Date(),
type: 'date',
trigger: 'click'
});
}
@ -364,8 +363,7 @@
function initPlanEndTimeDateTime() {
laydate.render({
elem: '#planEndTime',
type: 'datetime',
value: new Date(),
type: 'date',
trigger: 'click'
});
}
@ -374,8 +372,7 @@
function initSignUpStartTimeDateTime() {
laydate.render({
elem: '#signUpStartTime',
type: 'datetime',
value: new Date(),
type: 'date',
trigger: 'click'
});
}
@ -384,8 +381,7 @@
function initSignUpEndTimeDateTime() {
laydate.render({
elem: '#signUpEndTime',
type: 'datetime',
value: new Date(),
type: 'date',
trigger: 'click'
});
}

View File

@ -142,7 +142,7 @@
return rowData;
}
},
{field: 'gender', width: 120, title: '性别', align:'center',
{field: 'genderName', width: 120, title: '性别', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
@ -178,7 +178,7 @@
return rowData;
}
},
{field: 'education', width: 120, title: '学历', align:'center',
{field: 'educationName', width: 120, title: '学历', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {