课程实操增加附件表,通知增加老师名称

beetlsql3-dev
xuliangtong 2 years ago
parent bdb4baace3
commit 8b77f4e2f3

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -151,3 +151,26 @@ CREATE TABLE `teacher_open_course_knowledge_point_relation` (
# 院校增加默认管理员 # 院校增加默认管理员
ALTER TABLE universities_colleges ADD COLUMN universities_cdolleges_default_admin_user_id bigint(20) COMMENT '院校默认管理员用户ID'; ALTER TABLE universities_colleges ADD COLUMN universities_cdolleges_default_admin_user_id bigint(20) COMMENT '院校默认管理员用户ID';
drop table if exists hands_on_simulation_tasks_file;
create table hands_on_simulation_tasks_file
(
task_file_id bigint not null comment '实操任务文件ID',
hands_on_id bigint comment '实操ID',
task_id bigint comment '任务ID',
file_url varchar(255) comment '文件地址',
file_type varchar(32) comment '文件类型',
file_time varchar(32) comment '视频时长',
file_name varchar(64) comment '文件名称',
add_time datetime comment '添加时间',
user_id bigint comment '用户ID',
org_id bigint comment '部门ID',
primary key (task_file_id)
)
auto_increment = 1
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;
alter table hands_on_simulation_tasks_file comment '课程实操-实训任务附件表';

@ -0,0 +1,30 @@
package com.ibeetl.jlw.dao;
import java.util.List;
import java.util.Map;
import com.ibeetl.jlw.entity.*;
import com.ibeetl.jlw.web.query.HandsOnSimulationTasksFileQuery;
import org.beetl.sql.mapper.annotation.SqlResource;
import org.beetl.sql.mapper.BaseMapper;
import org.beetl.sql.core.engine.PageQuery;
import org.beetl.sql.mapper.annotation.Update;
/**
* - Dao
*/
@SqlResource("jlw.handsOnSimulationTasksFile")
public interface HandsOnSimulationTasksFileDao extends BaseMapper<HandsOnSimulationTasksFile>{
PageQuery<HandsOnSimulationTasksFile> queryByCondition(PageQuery query);
PageQuery<HandsOnSimulationTasksFile> queryByConditionQuery(PageQuery query);
@Update
void deleteHandsOnSimulationTasksFileByIds(String ids);
@Update
int updateGivenByIds(HandsOnSimulationTasksFileQuery handsOnSimulationTasksFileQuery);
List<HandsOnSimulationTasksFile> getByIds(String ids);
List<HandsOnSimulationTasksFile> getValuesByQuery(HandsOnSimulationTasksFileQuery handsOnSimulationTasksFileQuery);
List<HandsOnSimulationTasksFile> getValuesByQueryNotWithPermission(HandsOnSimulationTasksFileQuery handsOnSimulationTasksFileQuery);
@Update
void deleteByTaskId(Long taskId);
}

@ -0,0 +1,20 @@
package com.ibeetl.jlw.dao;
import org.beetl.sql.mapper.annotation.SqlResource;
import java.util.Date;
import java.util.Map;
/**
*
*
* @Version 0.0.1
* @Author
* @Date 2022/10/24 20:38
*/
@SqlResource("jlw.statisticalAnalysis")
public interface StatisticalAnalysisDao {
Map<String, Object> detail(String teacherOpenCourseId, Date stime, Date etime);
}

@ -12,6 +12,7 @@ import com.ibeetl.admin.core.annotation.Dict;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List;
/* /*
* - * -
@ -78,6 +79,8 @@ public class HandsOnSimulationTasks extends BaseEntity{
//添加时间 //添加时间
private Date addTime ; private Date addTime ;
private List<HandsOnSimulationTasksFile> tasksFile;
public HandsOnSimulationTasks(){ public HandsOnSimulationTasks(){
} }
@ -266,4 +269,12 @@ public class HandsOnSimulationTasks extends BaseEntity{
public void setTaskList(String taskList) { public void setTaskList(String taskList) {
this.taskList = taskList; this.taskList = taskList;
} }
public List<HandsOnSimulationTasksFile> getTasksFile() {
return tasksFile;
}
public void setTasksFile(List<HandsOnSimulationTasksFile> tasksFile) {
this.tasksFile = tasksFile;
}
} }

@ -0,0 +1,198 @@
package com.ibeetl.jlw.entity;
import javax.validation.constraints.NotNull;
import com.ibeetl.admin.core.entity.BaseEntity;
import org.beetl.sql.annotation.entity.*;
import com.ibeetl.admin.core.util.ValidateConfig;
import com.ibeetl.admin.core.annotation.Dict;
import java.math.BigDecimal;
import java.util.Date;
/*
* -
* gen by Spring Boot2 Admin 2022-10-24
*/
public class HandsOnSimulationTasksFile extends BaseEntity{
//实操任务文件ID
@NotNull(message = "ID不能为空", groups =ValidateConfig.UPDATE.class)
// @SeqID(name = ORACLE_CORE_SEQ_NAME)
@AssignID(value = "maskAutoID",param = "com.ibeetl.jlw.entity.HandsOnSimulationTasksFile")
private Long taskFileId ;
//实操ID
private Long handsOnId ;
//任务ID
private Long taskId ;
//文件地址
private String fileUrl ;
//文件类型
private String fileType ;
//视频时长
private String fileTime ;
//文件名称
private String fileName ;
//添加时间
private Date addTime ;
//用户ID
private Long userId ;
//部门ID
private Long orgId ;
public HandsOnSimulationTasksFile(){
}
/**ID
*@return
*/
public Long getTaskFileId(){
return taskFileId;
}
/**ID
*@param taskFileId
*/
public void setTaskFileId(Long taskFileId){
this.taskFileId = taskFileId;
}
/**ID
*@return
*/
public Long getHandsOnId(){
return handsOnId;
}
/**ID
*@param handsOnId
*/
public void setHandsOnId(Long handsOnId){
this.handsOnId = handsOnId;
}
/**ID
*@return
*/
public Long getTaskId(){
return taskId;
}
/**ID
*@param taskId
*/
public void setTaskId(Long taskId){
this.taskId = taskId;
}
/**
*@return
*/
public String getFileUrl(){
return fileUrl;
}
/**
*@param fileUrl
*/
public void setFileUrl(String fileUrl){
this.fileUrl = fileUrl;
}
/**
*@return
*/
public String getFileType(){
return fileType;
}
/**
*@param fileType
*/
public void setFileType(String fileType){
this.fileType = fileType;
}
/**
*@return
*/
public String getFileTime(){
return fileTime;
}
/**
*@param fileTime
*/
public void setFileTime(String fileTime){
this.fileTime = fileTime;
}
/**
*@return
*/
public String getFileName(){
return fileName;
}
/**
*@param fileName
*/
public void setFileName(String fileName){
this.fileName = fileName;
}
/**
*@return
*/
public Date getAddTime(){
return addTime;
}
/**
*@param addTime
*/
public void setAddTime(Date addTime){
this.addTime = addTime;
}
/**ID
*@return
*/
public Long getUserId(){
return userId;
}
/**ID
*@param userId
*/
public void setUserId(Long userId){
this.userId = userId;
}
/**ID
*@return
*/
public Long getOrgId(){
return orgId;
}
/**ID
*@param orgId
*/
public void setOrgId(Long orgId){
this.orgId = orgId;
}
}

@ -75,7 +75,7 @@ public class TeacherOpenCourseNotice extends BaseEntity{
private Date createTime ; private Date createTime ;
//消息创建--老师ID //消息创建--老师ID
@Dict(type="teacher.teacher_name.teacher_status=1")
private Long createByTeacherId ; private Long createByTeacherId ;
//组织ID //组织ID

@ -0,0 +1,174 @@
package com.ibeetl.jlw.service;
import java.io.*;
import java.text.DateFormat;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import java.math.BigDecimal;
import cn.jlw.util.ToolUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.ibeetl.admin.core.entity.CoreUser;
import com.ibeetl.admin.core.util.TimeTool;
import com.ibeetl.admin.core.web.JsonResult;
import com.ibeetl.admin.core.web.JsonReturnCode;
import com.ibeetl.jlw.dao.HandsOnSimulationTasksFileDao;
import com.ibeetl.jlw.entity.HandsOnSimulationTasksFile;
import com.ibeetl.jlw.web.query.HandsOnSimulationTasksFileQuery;
import com.ibeetl.jlw.entity.FileEntity;
import com.ibeetl.admin.core.service.CoreBaseService;
import com.ibeetl.admin.core.util.PlatformException;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.beetl.sql.core.engine.PageQuery;
import org.beetl.sql.core.SqlId;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import static com.ibeetl.admin.core.util.ExcelUtil.getCellFormatValue;
/**
* - Service
* ID使insert(*,true)
*/
@Service
@Transactional
@Validated
public class HandsOnSimulationTasksFileService extends CoreBaseService<HandsOnSimulationTasksFile>{
@Resource private HandsOnSimulationTasksFileDao handsOnSimulationTasksFileDao;
public PageQuery<HandsOnSimulationTasksFile>queryByCondition(PageQuery query){
PageQuery ret = handsOnSimulationTasksFileDao.queryByCondition(query);
queryListAfter(ret.getList());
return ret;
}
public PageQuery<HandsOnSimulationTasksFile>queryByConditionQuery(PageQuery query){
PageQuery ret = handsOnSimulationTasksFileDao.queryByConditionQuery(query);
queryListAfter(ret.getList());
return ret;
}
public void deleteByList(List list){
String ids = "";
ToolUtils.deleteNullList(list);
for(int i=0;null != list && i<list.size();i++){
ids += list.get(i).toString()+(i==list.size()-1?"":",");
}
if(StringUtils.isNotBlank(ids)){
handsOnSimulationTasksFileDao.deleteHandsOnSimulationTasksFileByIds(ids);
}
}
public void deleteHandsOnSimulationTasksFile(String ids){
try {
handsOnSimulationTasksFileDao.deleteHandsOnSimulationTasksFileByIds(ids);
} catch (Exception e) {
throw new PlatformException("批量删除课程实操-任务附件失败", e);
}
}
public String addAll(HandsOnSimulationTasksFileQuery handsOnSimulationTasksFileQuery){
String msg = "";
List<HandsOnSimulationTasksFile> handsOnSimulationTasksFileList = new ArrayList<>();
try {
handsOnSimulationTasksFileList = JSON.parseArray(handsOnSimulationTasksFileQuery.getHandsOnSimulationTasksFileJsonStr(), HandsOnSimulationTasksFile.class);
} catch (Exception e) {
try {
handsOnSimulationTasksFileList.add(JSONObject.parseObject(handsOnSimulationTasksFileQuery.getHandsOnSimulationTasksFileJsonStr(), HandsOnSimulationTasksFile.class));
} catch (Exception e1) {}
}
ToolUtils.deleteNullList(handsOnSimulationTasksFileList);
if(null != handsOnSimulationTasksFileList && handsOnSimulationTasksFileList.size()>0){
for(int i=0;i<handsOnSimulationTasksFileList.size();i++){
HandsOnSimulationTasksFile handsOnSimulationTasksFile = handsOnSimulationTasksFileList.get(i);
handsOnSimulationTasksFile.setUserId(handsOnSimulationTasksFileQuery.getUserId());
handsOnSimulationTasksFile.setOrgId(handsOnSimulationTasksFileQuery.getOrgId());
}
insertBatch(handsOnSimulationTasksFileList);
}
return msg;
}
public JsonResult add(HandsOnSimulationTasksFileQuery handsOnSimulationTasksFileQuery){
String msg = "";
HandsOnSimulationTasksFile handsOnSimulationTasksFile = handsOnSimulationTasksFileQuery.pojo();
handsOnSimulationTasksFileDao.insert(handsOnSimulationTasksFile);
handsOnSimulationTasksFileQuery.setTaskFileId(handsOnSimulationTasksFile.getTaskFileId());
JsonResult jsonResult = new JsonResult();
jsonResult.setData(handsOnSimulationTasksFile.getTaskFileId());//自增的ID丢进去
jsonResult.setCode(JsonReturnCode.SUCCESS.getCode());
jsonResult.setMsg(msg);
return jsonResult;
}
public String edit(HandsOnSimulationTasksFileQuery handsOnSimulationTasksFileQuery){
String msg = "";
HandsOnSimulationTasksFile handsOnSimulationTasksFile = handsOnSimulationTasksFileQuery.pojo();
handsOnSimulationTasksFileDao.updateTemplateById(handsOnSimulationTasksFile);
return msg;
}
public String updateGivenByIds(HandsOnSimulationTasksFileQuery handsOnSimulationTasksFileQuery){
String msg = "";
if(StringUtils.isNotBlank(handsOnSimulationTasksFileQuery.get_given())){
boolean flag = handsOnSimulationTasksFileDao.updateGivenByIds(handsOnSimulationTasksFileQuery) > 0;
if(!flag){
msg = "更新指定参数失败";
}
}else{
msg = "指定参数为空";
}
return msg;
}
public List<HandsOnSimulationTasksFile> getValues (Object paras){
return sqlManager.select(SqlId.of("jlw.handsOnSimulationTasksFile.getHandsOnSimulationTasksFileValues"), HandsOnSimulationTasksFile.class, paras);
}
public List<HandsOnSimulationTasksFile> getValuesByQuery (HandsOnSimulationTasksFileQuery handsOnSimulationTasksFileQuery){
return handsOnSimulationTasksFileDao.getValuesByQuery(handsOnSimulationTasksFileQuery);
}
public List<HandsOnSimulationTasksFile> getValuesByQueryNotWithPermission (HandsOnSimulationTasksFileQuery handsOnSimulationTasksFileQuery){
return handsOnSimulationTasksFileDao.getValuesByQueryNotWithPermission(handsOnSimulationTasksFileQuery);
}
public HandsOnSimulationTasksFile getInfo (Long taskFileId){
HandsOnSimulationTasksFileQuery handsOnSimulationTasksFileQuery = new HandsOnSimulationTasksFileQuery();
handsOnSimulationTasksFileQuery.setTaskFileId(taskFileId);
List<HandsOnSimulationTasksFile> list = handsOnSimulationTasksFileDao.getValuesByQuery(handsOnSimulationTasksFileQuery);
if(null != list && list.size()>0){
return list.get(0);
}else{
return null;
}
}
public HandsOnSimulationTasksFile getInfo (HandsOnSimulationTasksFileQuery handsOnSimulationTasksFileQuery){
List<HandsOnSimulationTasksFile> list = handsOnSimulationTasksFileDao.getValuesByQuery(handsOnSimulationTasksFileQuery);
if(null != list && list.size()>0){
return list.get(0);
}else{
return null;
}
}
public void deleteByTaskId(Long taskId) {
handsOnSimulationTasksFileDao.deleteByTaskId(taskId);
}
}

@ -16,11 +16,13 @@ import com.ibeetl.admin.core.web.JsonResult;
import com.ibeetl.admin.core.web.JsonReturnCode; import com.ibeetl.admin.core.web.JsonReturnCode;
import com.ibeetl.jlw.dao.HandsOnSimulationTasksDao; import com.ibeetl.jlw.dao.HandsOnSimulationTasksDao;
import com.ibeetl.jlw.entity.HandsOnSimulationTasks; import com.ibeetl.jlw.entity.HandsOnSimulationTasks;
import com.ibeetl.jlw.entity.HandsOnSimulationTasksFile;
import com.ibeetl.jlw.web.query.HandsOnSimulationTasksQuery; import com.ibeetl.jlw.web.query.HandsOnSimulationTasksQuery;
import com.ibeetl.jlw.entity.FileEntity; import com.ibeetl.jlw.entity.FileEntity;
import com.ibeetl.admin.core.service.CoreBaseService; import com.ibeetl.admin.core.service.CoreBaseService;
import com.ibeetl.admin.core.util.PlatformException; import com.ibeetl.admin.core.util.PlatformException;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Cell;
@ -46,6 +48,7 @@ import javax.annotation.Resource;
public class HandsOnSimulationTasksService extends CoreBaseService<HandsOnSimulationTasks>{ public class HandsOnSimulationTasksService extends CoreBaseService<HandsOnSimulationTasks>{
@Resource private HandsOnSimulationTasksDao handsOnSimulationTasksDao; @Resource private HandsOnSimulationTasksDao handsOnSimulationTasksDao;
@Resource private HandsOnSimulationTasksFileService handsOnSimulationTasksFileService;
public PageQuery<HandsOnSimulationTasks>queryByCondition(PageQuery query){ public PageQuery<HandsOnSimulationTasks>queryByCondition(PageQuery query){
PageQuery ret = handsOnSimulationTasksDao.queryByCondition(query); PageQuery ret = handsOnSimulationTasksDao.queryByCondition(query);
@ -103,6 +106,11 @@ public class HandsOnSimulationTasksService extends CoreBaseService<HandsOnSimula
public JsonResult add(HandsOnSimulationTasks handsOnSimulationTasks){ public JsonResult add(HandsOnSimulationTasks handsOnSimulationTasks){
String msg = ""; String msg = "";
handsOnSimulationTasksDao.insert(handsOnSimulationTasks); handsOnSimulationTasksDao.insert(handsOnSimulationTasks);
List<HandsOnSimulationTasksFile> tasksFile = handsOnSimulationTasks.getTasksFile();
if (CollectionUtils.isNotEmpty(tasksFile)) {
handsOnSimulationTasksFileService.insertBatch(tasksFile);
}
JsonResult jsonResult = new JsonResult(); JsonResult jsonResult = new JsonResult();
jsonResult.setData(handsOnSimulationTasks.getTaskId());//自增的ID丢进去 jsonResult.setData(handsOnSimulationTasks.getTaskId());//自增的ID丢进去
jsonResult.setCode(JsonReturnCode.SUCCESS.getCode()); jsonResult.setCode(JsonReturnCode.SUCCESS.getCode());
@ -114,6 +122,12 @@ public class HandsOnSimulationTasksService extends CoreBaseService<HandsOnSimula
String msg = ""; String msg = "";
HandsOnSimulationTasks handsOnSimulationTasks = handsOnSimulationTasksQuery.pojo(); HandsOnSimulationTasks handsOnSimulationTasks = handsOnSimulationTasksQuery.pojo();
handsOnSimulationTasksDao.updateTemplateById(handsOnSimulationTasks); handsOnSimulationTasksDao.updateTemplateById(handsOnSimulationTasks);
List<HandsOnSimulationTasksFile> tasksFile = handsOnSimulationTasks.getTasksFile();
Map<String, Object> map = new HashMap<>();
handsOnSimulationTasksFileService.deleteByTaskId(handsOnSimulationTasksQuery.getTaskId());
if (CollectionUtils.isNotEmpty(tasksFile)) {
handsOnSimulationTasksFileService.insertBatch(tasksFile);
}
return msg; return msg;
} }

@ -1,11 +1,20 @@
package com.ibeetl.jlw.service; package com.ibeetl.jlw.service;
import cn.hutool.core.map.MapUtil; import cn.hutool.core.map.MapUtil;
import com.ibeetl.jlw.dao.StatisticalAnalysisDao;
import com.ibeetl.jlw.entity.TeacherOpenCourseMergeSchoolClass;
import com.ibeetl.jlw.entity.TeacherOpenCourseMergeStudent;
import com.ibeetl.jlw.entity.TeacherOpenCourseNotice;
import com.ibeetl.jlw.web.query.TeacherOpenCourseMergeSchoolClassQuery;
import com.ibeetl.jlw.web.query.TeacherOpenCourseMergeStudentQuery;
import com.ibeetl.jlw.web.query.TeacherOpenCourseNoticeQuery;
import org.apache.commons.collections4.MapUtils; import org.apache.commons.collections4.MapUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
@ -19,17 +28,31 @@ import java.util.Map;
@Service @Service
public class StatisticalAnalysisService { public class StatisticalAnalysisService {
@Resource private StatisticalAnalysisDao statisticalAnalysisDao;
@Resource private TeacherOpenCourseMergeSchoolClassService teacherOpenCourseMergeSchoolClassService;
@Resource private TeacherOpenCourseMergeStudentService teacherOpenCourseMergeStudentService;
@Resource private TeacherOpenCourseNoticeService teacherOpenCourseNoticeService;
/** /**
* *
* @param map * @param
*/ */
public Map<String, Object> detail(String teacherOpenCourseId, Date stime, Date etime) { public Map<String, Object> detail(Long teacherOpenCourseId, Date stime, Date etime) {
Map<String, Object> data = new HashMap<>();
Map<String, Object> data = new HashMap<>(24);
// 暂不使用连表方式查询
// statisticalAnalysisDao.detail(teacherOpenCourseId, stime, etime);
//班级数 //班级数
data.put("classNum", 4); TeacherOpenCourseMergeSchoolClassQuery classQuery = new TeacherOpenCourseMergeSchoolClassQuery();
classQuery.setTeacherOpenCourseId(teacherOpenCourseId);
List<TeacherOpenCourseMergeSchoolClass> schoolClasses = teacherOpenCourseMergeSchoolClassService.getValuesByQuery(classQuery);
data.put("classNum", schoolClasses.size());
//学生人数 //学生人数
data.put("studentNum", 100); TeacherOpenCourseMergeStudentQuery teacherOpenCourseMergeStudentQuery = new TeacherOpenCourseMergeStudentQuery();
teacherOpenCourseMergeStudentQuery.setTeacherOpenCourseId(teacherOpenCourseId);
List<TeacherOpenCourseMergeStudent> studentList = teacherOpenCourseMergeStudentService.getValuesByQuery(teacherOpenCourseMergeStudentQuery);
data.put("studentNum", studentList.size());
//学习通过率 //学习通过率
data.put("passRate", 90); data.put("passRate", 90);
//授课视频 //授课视频
@ -37,7 +60,10 @@ public class StatisticalAnalysisService {
//非视频资源 //非视频资源
data.put("nonVideoResourcesNum", 30); data.put("nonVideoResourcesNum", 30);
//课程公告 //课程公告
data.put("noticeNum", 30); TeacherOpenCourseNoticeQuery teacherOpenCourseNoticeQuery = new TeacherOpenCourseNoticeQuery();
teacherOpenCourseNoticeQuery.setTeacherOpenCourseIds(teacherOpenCourseId.toString());
List<TeacherOpenCourseNotice> noticeList = teacherOpenCourseNoticeService.getValuesByQuery(teacherOpenCourseNoticeQuery);
data.put("noticeNum", noticeList.size());
//签到 //签到
data.put("signInNum", 30); data.put("signInNum", 30);
data.put("signInRate", 30); data.put("signInRate", 30);
@ -67,7 +93,7 @@ public class StatisticalAnalysisService {
/** /**
* *
* @param map * @param
* @return * @return
*/ */
public Map<String, Object> indexDetail(String teacherOpenCourseId) { public Map<String, Object> indexDetail(String teacherOpenCourseId) {

@ -0,0 +1,225 @@
package com.ibeetl.jlw.web;
import cn.jlw.Interceptor.RFile;
import cn.jlw.Interceptor.SCoreUser;
import cn.jlw.Interceptor.GetFile;
import cn.jlw.util.ToolUtils;
import cn.jlw.validate.ValidateConfig;
import com.ibeetl.admin.core.entity.CoreUser;
import com.ibeetl.admin.core.file.FileService;
import com.ibeetl.admin.core.util.ConvertUtil;
import com.ibeetl.admin.core.util.PlatformException;
import com.ibeetl.admin.core.util.TimeTool;
import com.ibeetl.admin.core.web.JsonResult;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.beetl.sql.core.engine.PageQuery;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.validation.annotation.Validated;
import com.ibeetl.admin.console.web.dto.DictExcelImportData;
import com.ibeetl.admin.console.web.query.UserQuery;
import com.ibeetl.admin.core.annotation.Function;
import com.ibeetl.jlw.entity.*;
import com.ibeetl.jlw.service.*;
import com.ibeetl.jlw.web.query.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.math.BigDecimal;
import javax.annotation.Resource;
/**
* - -
* 线
*/
@RestController
@Validated
public class HandsOnSimulationTasksFileController{
private final Log log = LogFactory.getLog(this.getClass());
private static final String MODEL = "/jlw/handsOnSimulationTasksFile";
private static final String API = "/api/handsOnSimulationTasksFile";
@Resource private HandsOnSimulationTasksFileService handsOnSimulationTasksFileService;
@Resource FileService fileService;
/* 前端接口 */
@PostMapping(API + "/getPageList.do")
public JsonResult<PageQuery> getPageList(HandsOnSimulationTasksFileQuery condition,@SCoreUser CoreUser coreUser){
if(null == coreUser){
return JsonResult.failMessage("请登录后再操作");
}else{
PageQuery page = condition.getPageQuery();
handsOnSimulationTasksFileService.queryByConditionQuery(page);
return JsonResult.success(page);
}
}
@GetMapping(API + "/getInfo.do")
public JsonResult<HandsOnSimulationTasksFile>getInfo(HandsOnSimulationTasksFileQuery param,@SCoreUser CoreUser coreUser) {
if(null == coreUser){
return JsonResult.failMessage("请登录后再操作");
}else{
HandsOnSimulationTasksFile handsOnSimulationTasksFile = handsOnSimulationTasksFileService.getInfo(param);
return JsonResult.success(handsOnSimulationTasksFile);
}
}
@GetMapping(API + "/getList.do")
public JsonResult<List<HandsOnSimulationTasksFile>>getList(HandsOnSimulationTasksFileQuery param,@SCoreUser CoreUser coreUser) {
if(null == coreUser){
return JsonResult.failMessage("请登录后再操作");
}else{
List<HandsOnSimulationTasksFile>list = handsOnSimulationTasksFileService.getValuesByQuery(param);
return JsonResult.success(list);
}
}
/* 后台页面 */
@GetMapping(MODEL + "/index.do")
@Function("handsOnSimulationTasksFile.query")
public ModelAndView index() {
ModelAndView view = new ModelAndView("/jlw/handsOnSimulationTasksFile/index.html") ;
view.addObject("search", HandsOnSimulationTasksFileQuery.class.getName());
return view;
}
@GetMapping(MODEL + "/edit.do")
@Function("handsOnSimulationTasksFile.edit")
public ModelAndView edit(Long taskFileId) {
ModelAndView view = new ModelAndView("/jlw/handsOnSimulationTasksFile/edit.html");
HandsOnSimulationTasksFile handsOnSimulationTasksFile = handsOnSimulationTasksFileService.queryById(taskFileId);
view.addObject("handsOnSimulationTasksFile", handsOnSimulationTasksFile);
return view;
}
@GetMapping(MODEL + "/add.do")
@Function("handsOnSimulationTasksFile.add")
public ModelAndView add(Long taskFileId) {
ModelAndView view = new ModelAndView("/jlw/handsOnSimulationTasksFile/add.html");
if(null != taskFileId){
HandsOnSimulationTasksFile handsOnSimulationTasksFile = handsOnSimulationTasksFileService.queryById(taskFileId);
view.addObject("handsOnSimulationTasksFile", handsOnSimulationTasksFile);
}else {
view.addObject("handsOnSimulationTasksFile", new HandsOnSimulationTasksFile());
}
return view;
}
/* 后台接口 */
@PostMapping(MODEL + "/list.json")
@Function("handsOnSimulationTasksFile.query")
public JsonResult<PageQuery> list(HandsOnSimulationTasksFileQuery condition){
PageQuery page = condition.getPageQuery();
handsOnSimulationTasksFileService.queryByCondition(page);
return JsonResult.success(page);
}
@PostMapping(MODEL + "/addAll.json")
@Function("handsOnSimulationTasksFile.add")
public JsonResult addAll(HandsOnSimulationTasksFileQuery handsOnSimulationTasksFileQuery,@SCoreUser CoreUser coreUser){
if(null == coreUser){
return JsonResult.failMessage("请登录后再操作");
}else{
handsOnSimulationTasksFileQuery.setUserId(coreUser.getId());
handsOnSimulationTasksFileQuery.setOrgId(coreUser.getOrgId());
String msg = handsOnSimulationTasksFileService.addAll(handsOnSimulationTasksFileQuery);
if (StringUtils.isBlank(msg)) {
return JsonResult.success();
} else {
return JsonResult.failMessage("新增失败,"+msg);
}
}
}
@PostMapping(MODEL + "/add.json")
@Function("handsOnSimulationTasksFile.add")
public JsonResult add(@Validated(ValidateConfig.ADD.class) HandsOnSimulationTasksFileQuery handsOnSimulationTasksFileQuery, BindingResult result,@SCoreUser CoreUser coreUser){
if(result.hasErrors()){
return JsonResult.failMessage(result);
}else{
handsOnSimulationTasksFileQuery.setUserId(coreUser.getId());
handsOnSimulationTasksFileQuery.setOrgId(coreUser.getOrgId());
return handsOnSimulationTasksFileService.add(handsOnSimulationTasksFileQuery);
}
}
@PostMapping(MODEL + "/edit.json")
@Function("handsOnSimulationTasksFile.edit")
public JsonResult<String> update(@Validated(ValidateConfig.UPDATE.class) HandsOnSimulationTasksFileQuery handsOnSimulationTasksFileQuery, BindingResult result) {
if(result.hasErrors()){
return JsonResult.failMessage(result);
}else {
handsOnSimulationTasksFileQuery.setUserId(null);
handsOnSimulationTasksFileQuery.setOrgId(null);
String msg = handsOnSimulationTasksFileService.edit(handsOnSimulationTasksFileQuery);
if (StringUtils.isBlank(msg)) {
return JsonResult.success();
} else {
return JsonResult.failMessage("更新失败,"+msg);
}
}
}
@GetMapping(MODEL + "/view.json")
@Function("handsOnSimulationTasksFile.query")
public JsonResult<HandsOnSimulationTasksFile>queryInfo(Long taskFileId) {
HandsOnSimulationTasksFile handsOnSimulationTasksFile = handsOnSimulationTasksFileService.queryById( taskFileId);
return JsonResult.success(handsOnSimulationTasksFile);
}
@GetMapping(MODEL + "/getValues.json")
@Function("handsOnSimulationTasksFile.query")
public JsonResult<List<HandsOnSimulationTasksFile>>getValues(HandsOnSimulationTasksFileQuery param) {
List<HandsOnSimulationTasksFile>list = handsOnSimulationTasksFileService.getValuesByQuery(param);
return JsonResult.success(list);
}
@PostMapping(MODEL + "/delete.json")
@Function("handsOnSimulationTasksFile.delete")
@ResponseBody
public JsonResult delete(String ids) {
handsOnSimulationTasksFileService.deleteHandsOnSimulationTasksFile(ids);
return JsonResult.success();
}
}

@ -31,7 +31,7 @@ public class StatisticalAnalysisController {
* @return * @return
*/ */
@RequestMapping("/detail.do") @RequestMapping("/detail.do")
public JsonResult<Object> detail(@RequestParam("teacherOpenCourseId") String teacherOpenCourseId, public JsonResult<Object> detail(@RequestParam("teacherOpenCourseId") Long teacherOpenCourseId,
@RequestParam(required = false) Date stime, @RequestParam(required = false) Date etime) { @RequestParam(required = false) Date stime, @RequestParam(required = false) Date etime) {
Map<String, Object> detail = statisticalAnalysisService.detail(teacherOpenCourseId, stime, etime); Map<String, Object> detail = statisticalAnalysisService.detail(teacherOpenCourseId, stime, etime);
return JsonResult.success(detail); return JsonResult.success(detail);

@ -0,0 +1,169 @@
package com.ibeetl.jlw.web.query;
import cn.jlw.validate.ValidateConfig;
import com.ibeetl.jlw.entity.HandsOnSimulationTasksFile;
import org.apache.commons.lang3.StringUtils;
import com.ibeetl.admin.core.annotation.Query;
import com.ibeetl.admin.core.util.Tool;
import com.ibeetl.admin.core.util.enums.CoreDictType;
import com.ibeetl.admin.core.web.query.PageParam;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;
/**
*-
*/
public class HandsOnSimulationTasksFileQuery extends PageParam {
@NotNull(message = "ID不能为空", groups =ValidateConfig.UPDATE.class)
@Query(name = "实操任务文件ID", display = false)
private Long taskFileId;
@Query(name = "实操ID", display = false)
private Long handsOnId;
@Query(name = "任务ID", display = false)
private Long taskId;
@Query(name = "文件地址", display = false)
private String fileUrl;
@Query(name = "文件类型", display = false)
private String fileType;
@Query(name = "视频时长", display = false)
private String fileTime;
@Query(name = "文件名称", display = false)
private String fileName;
@Query(name = "添加时间", display = false)
private Date addTime;
@Query(name = "用户ID", display = false)
private Long userId;
@Query(name = "部门ID", display = false)
private Long orgId;
private String taskFileIdPlural;
private String handsOnIdPlural;
private String taskIdPlural;
private String userIdPlural;
private String orgIdPlural;
private String handsOnSimulationTasksFileJsonStr;//json格式
private String _given;//指定更新的特定字段,多个逗号隔开
public Long getTaskFileId(){
return taskFileId;
}
public void setTaskFileId(Long taskFileId ){
this.taskFileId = taskFileId;
}
public Long getHandsOnId(){
return handsOnId;
}
public void setHandsOnId(Long handsOnId ){
this.handsOnId = handsOnId;
}
public Long getTaskId(){
return taskId;
}
public void setTaskId(Long taskId ){
this.taskId = taskId;
}
public String getFileUrl(){
return fileUrl;
}
public void setFileUrl(String fileUrl ){
this.fileUrl = fileUrl;
}
public String getFileType(){
return fileType;
}
public void setFileType(String fileType ){
this.fileType = fileType;
}
public String getFileTime(){
return fileTime;
}
public void setFileTime(String fileTime ){
this.fileTime = fileTime;
}
public String getFileName(){
return fileName;
}
public void setFileName(String fileName ){
this.fileName = fileName;
}
public Date getAddTime(){
return addTime;
}
public void setAddTime(Date addTime ){
this.addTime = addTime;
}
public Long getUserId(){
return userId;
}
public void setUserId(Long userId ){
this.userId = userId;
}
public Long getOrgId(){
return orgId;
}
public void setOrgId(Long orgId ){
this.orgId = orgId;
}
public HandsOnSimulationTasksFile pojo(){
HandsOnSimulationTasksFile pojo = new HandsOnSimulationTasksFile();
pojo.setTaskFileId(this.getTaskFileId());
pojo.setHandsOnId(this.getHandsOnId());
pojo.setTaskId(this.getTaskId());
pojo.setFileUrl(this.getFileUrl());
pojo.setFileType(this.getFileType());
pojo.setFileTime(this.getFileTime());
pojo.setFileName(this.getFileName());
pojo.setAddTime(this.getAddTime());
pojo.setUserId(this.getUserId());
pojo.setOrgId(this.getOrgId());
return pojo;
}
public String getTaskFileIdPlural(){
return taskFileIdPlural;
}
public void setTaskFileIdPlural(String taskFileIdPlural){
this.taskFileIdPlural = taskFileIdPlural;
}
public String getHandsOnIdPlural(){
return handsOnIdPlural;
}
public void setHandsOnIdPlural(String handsOnIdPlural){
this.handsOnIdPlural = handsOnIdPlural;
}
public String getTaskIdPlural(){
return taskIdPlural;
}
public void setTaskIdPlural(String taskIdPlural){
this.taskIdPlural = taskIdPlural;
}
public String getUserIdPlural(){
return userIdPlural;
}
public void setUserIdPlural(String userIdPlural){
this.userIdPlural = userIdPlural;
}
public String getOrgIdPlural(){
return orgIdPlural;
}
public void setOrgIdPlural(String orgIdPlural){
this.orgIdPlural = orgIdPlural;
}
public String getHandsOnSimulationTasksFileJsonStr(){
return handsOnSimulationTasksFileJsonStr;
}
public void setHandsOnSimulationTasksFileJsonStr(String handsOnSimulationTasksFileJsonStr ){
this.handsOnSimulationTasksFileJsonStr = handsOnSimulationTasksFileJsonStr;
}
public String get_given() {
return _given;
}
public void set_given(String _given) {
this._given = _given;
}
}

@ -2,6 +2,7 @@ package com.ibeetl.jlw.web.query;
import cn.jlw.validate.ValidateConfig; import cn.jlw.validate.ValidateConfig;
import com.ibeetl.jlw.entity.HandsOnSimulationTasks; import com.ibeetl.jlw.entity.HandsOnSimulationTasks;
import com.ibeetl.jlw.entity.HandsOnSimulationTasksFile;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import com.ibeetl.admin.core.annotation.Query; import com.ibeetl.admin.core.annotation.Query;
import com.ibeetl.admin.core.util.Tool; import com.ibeetl.admin.core.util.Tool;
@ -11,6 +12,7 @@ import com.ibeetl.admin.core.web.query.PageParam;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
*HandsOnSimulationTasks *HandsOnSimulationTasks
@ -52,6 +54,7 @@ public class HandsOnSimulationTasksQuery extends PageParam {
private String handsOnIdPlural; private String handsOnIdPlural;
private String orgIdPlural; private String orgIdPlural;
private String userIdPlural; private String userIdPlural;
private List<HandsOnSimulationTasksFile> tasksFile;
private String handsOnSimulationTasksJsonStr;//json格式 private String handsOnSimulationTasksJsonStr;//json格式
@ -169,6 +172,7 @@ public class HandsOnSimulationTasksQuery extends PageParam {
pojo.setOrgId(this.getOrgId()); pojo.setOrgId(this.getOrgId());
pojo.setUserId(this.getUserId()); pojo.setUserId(this.getUserId());
pojo.setAddTime(this.getAddTime()); pojo.setAddTime(this.getAddTime());
pojo.setTasksFile(this.getTasksFile());
return pojo; return pojo;
} }
@ -202,6 +206,15 @@ public class HandsOnSimulationTasksQuery extends PageParam {
public void setHandsOnSimulationTasksJsonStr(String handsOnSimulationTasksJsonStr ){ public void setHandsOnSimulationTasksJsonStr(String handsOnSimulationTasksJsonStr ){
this.handsOnSimulationTasksJsonStr = handsOnSimulationTasksJsonStr; this.handsOnSimulationTasksJsonStr = handsOnSimulationTasksJsonStr;
} }
public List<HandsOnSimulationTasksFile> getTasksFile() {
return tasksFile;
}
public void setTasksFile(List<HandsOnSimulationTasksFile> tasksFile) {
this.tasksFile = tasksFile;
}
public String get_given() { public String get_given() {
return _given; return _given;
} }

@ -0,0 +1,365 @@
queryByCondition
===
* 根据不为空的参数进行分页查询
select
@pageTag(){
t.*
@}
from hands_on_simulation_tasks_file t
where 1=1
@//数据权限该sql语句功能点,如果不考虑数据权限,可以删除此行
and #function("handsOnSimulationTasksFile.query")#
@if(!isEmpty(taskFileId)){
and t.task_file_id =#taskFileId#
@}
@if(!isEmpty(taskFileIdPlural)){
and find_in_set(t.task_file_id,#taskFileIdPlural#)
@}
@if(!isEmpty(handsOnId)){
and t.hands_on_id =#handsOnId#
@}
@if(!isEmpty(handsOnIdPlural)){
and find_in_set(t.hands_on_id,#handsOnIdPlural#)
@}
@if(!isEmpty(taskId)){
and t.task_id =#taskId#
@}
@if(!isEmpty(taskIdPlural)){
and find_in_set(t.task_id,#taskIdPlural#)
@}
@if(!isEmpty(fileUrl)){
and t.file_url =#fileUrl#
@}
@if(!isEmpty(fileType)){
and t.file_type =#fileType#
@}
@if(!isEmpty(fileTime)){
and t.file_time =#fileTime#
@}
@if(!isEmpty(fileName)){
and t.file_name =#fileName#
@}
@if(!isEmpty(addTime)){
and t.add_time =#addTime#
@}
@if(!isEmpty(userId)){
and t.user_id =#userId#
@}
@if(!isEmpty(userIdPlural)){
and find_in_set(t.user_id,#userIdPlural#)
@}
@if(!isEmpty(orgId)){
and t.org_id =#orgId#
@}
@if(!isEmpty(orgIdPlural)){
and find_in_set(t.org_id,#orgIdPlural#)
@}
queryByConditionQuery
===
* 根据不为空的参数进行分页查询(无权限)
select
@pageTag(){
t.*
@}
from hands_on_simulation_tasks_file t
where 1=1
@if(!isEmpty(taskFileId)){
and t.task_file_id =#taskFileId#
@}
@if(!isEmpty(taskFileIdPlural)){
and find_in_set(t.task_file_id,#taskFileIdPlural#)
@}
@if(!isEmpty(handsOnId)){
and t.hands_on_id =#handsOnId#
@}
@if(!isEmpty(handsOnIdPlural)){
and find_in_set(t.hands_on_id,#handsOnIdPlural#)
@}
@if(!isEmpty(taskId)){
and t.task_id =#taskId#
@}
@if(!isEmpty(taskIdPlural)){
and find_in_set(t.task_id,#taskIdPlural#)
@}
@if(!isEmpty(fileUrl)){
and t.file_url =#fileUrl#
@}
@if(!isEmpty(fileType)){
and t.file_type =#fileType#
@}
@if(!isEmpty(fileTime)){
and t.file_time =#fileTime#
@}
@if(!isEmpty(fileName)){
and t.file_name =#fileName#
@}
@if(!isEmpty(addTime)){
and t.add_time =#addTime#
@}
@if(!isEmpty(userId)){
and t.user_id =#userId#
@}
@if(!isEmpty(userIdPlural)){
and find_in_set(t.user_id,#userIdPlural#)
@}
@if(!isEmpty(orgId)){
and t.org_id =#orgId#
@}
@if(!isEmpty(orgIdPlural)){
and find_in_set(t.org_id,#orgIdPlural#)
@}
deleteHandsOnSimulationTasksFileByIds
===
* 批量删除
delete from hands_on_simulation_tasks_file where find_in_set(task_file_id,#ids#)
getByIds
===
select * from hands_on_simulation_tasks_file where find_in_set(task_file_id,#ids#)
updateGivenByIds
===
* 批量更新指定字段,无论此字段是否有值
update hands_on_simulation_tasks_file
set
@if(contain("handsOnId",_given)){
@if(isEmpty(handsOnId)){
hands_on_id = null ,
@}else{
hands_on_id = #handsOnId# ,
@}
@}
@if(contain("taskId",_given)){
@if(isEmpty(taskId)){
task_id = null ,
@}else{
task_id = #taskId# ,
@}
@}
@if(contain("fileUrl",_given)){
@if(isEmpty(fileUrl)){
file_url = null ,
@}else{
file_url = #fileUrl# ,
@}
@}
@if(contain("fileType",_given)){
@if(isEmpty(fileType)){
file_type = null ,
@}else{
file_type = #fileType# ,
@}
@}
@if(contain("fileTime",_given)){
@if(isEmpty(fileTime)){
file_time = null ,
@}else{
file_time = #fileTime# ,
@}
@}
@if(contain("fileName",_given)){
@if(isEmpty(fileName)){
file_name = null ,
@}else{
file_name = #fileName# ,
@}
@}
@if(contain("addTime",_given)){
@if(isEmpty(addTime)){
add_time = null ,
@}else{
add_time = #addTime# ,
@}
@}
@if(contain("userId",_given)){
@if(isEmpty(userId)){
user_id = null ,
@}else{
user_id = #userId# ,
@}
@}
@if(contain("orgId",_given)){
@if(isEmpty(orgId)){
org_id = null ,
@}else{
org_id = #orgId# ,
@}
@}
task_file_id = task_file_id
where find_in_set(task_file_id,#taskFileIdPlural#)
getHandsOnSimulationTasksFileValues
===
* 根据不为空的参数进行查询
select t.*
from hands_on_simulation_tasks_file t
where 1=1
@if(!isEmpty(taskFileId)){
and t.task_file_id =#taskFileId#
@}
@if(!isEmpty(handsOnId)){
and t.hands_on_id =#handsOnId#
@}
@if(!isEmpty(taskId)){
and t.task_id =#taskId#
@}
@if(!isEmpty(fileUrl)){
and t.file_url =#fileUrl#
@}
@if(!isEmpty(fileType)){
and t.file_type =#fileType#
@}
@if(!isEmpty(fileTime)){
and t.file_time =#fileTime#
@}
@if(!isEmpty(fileName)){
and t.file_name =#fileName#
@}
@if(!isEmpty(addTime)){
and t.add_time =#addTime#
@}
@if(!isEmpty(userId)){
and t.user_id =#userId#
@}
@if(!isEmpty(orgId)){
and t.org_id =#orgId#
@}
getValuesByQuery
===
* 根据不为空的参数进行查询
select t.*
from hands_on_simulation_tasks_file t
where 1=1 and #function("handsOnSimulationTasksFile.query")#
@if(!isEmpty(taskFileId)){
and t.task_file_id =#taskFileId#
@}
@if(!isEmpty(taskFileIdPlural)){
and find_in_set(t.task_file_id,#taskFileIdPlural#)
@}
@if(!isEmpty(handsOnId)){
and t.hands_on_id =#handsOnId#
@}
@if(!isEmpty(handsOnIdPlural)){
and find_in_set(t.hands_on_id,#handsOnIdPlural#)
@}
@if(!isEmpty(taskId)){
and t.task_id =#taskId#
@}
@if(!isEmpty(taskIdPlural)){
and find_in_set(t.task_id,#taskIdPlural#)
@}
@if(!isEmpty(fileUrl)){
and t.file_url =#fileUrl#
@}
@if(!isEmpty(fileType)){
and t.file_type =#fileType#
@}
@if(!isEmpty(fileTime)){
and t.file_time =#fileTime#
@}
@if(!isEmpty(fileName)){
and t.file_name =#fileName#
@}
@if(!isEmpty(addTime)){
and t.add_time =#addTime#
@}
@if(!isEmpty(userId)){
and t.user_id =#userId#
@}
@if(!isEmpty(userIdPlural)){
and find_in_set(t.user_id,#userIdPlural#)
@}
@if(!isEmpty(orgId)){
and t.org_id =#orgId#
@}
@if(!isEmpty(orgIdPlural)){
and find_in_set(t.org_id,#orgIdPlural#)
@}
getValuesByQueryNotWithPermission
===
* 根据不为空的参数进行查询(不包含权限)
select t.*
from hands_on_simulation_tasks_file t
where 1=1
@if(!isEmpty(taskFileId)){
and t.task_file_id =#taskFileId#
@}
@if(!isEmpty(taskFileIdPlural)){
and find_in_set(t.task_file_id,#taskFileIdPlural#)
@}
@if(!isEmpty(handsOnId)){
and t.hands_on_id =#handsOnId#
@}
@if(!isEmpty(handsOnIdPlural)){
and find_in_set(t.hands_on_id,#handsOnIdPlural#)
@}
@if(!isEmpty(taskId)){
and t.task_id =#taskId#
@}
@if(!isEmpty(taskIdPlural)){
and find_in_set(t.task_id,#taskIdPlural#)
@}
@if(!isEmpty(fileUrl)){
and t.file_url =#fileUrl#
@}
@if(!isEmpty(fileType)){
and t.file_type =#fileType#
@}
@if(!isEmpty(fileTime)){
and t.file_time =#fileTime#
@}
@if(!isEmpty(fileName)){
and t.file_name =#fileName#
@}
@if(!isEmpty(addTime)){
and t.add_time =#addTime#
@}
@if(!isEmpty(userId)){
and t.user_id =#userId#
@}
@if(!isEmpty(userIdPlural)){
and find_in_set(t.user_id,#userIdPlural#)
@}
@if(!isEmpty(orgId)){
and t.org_id =#orgId#
@}
@if(!isEmpty(orgIdPlural)){
and find_in_set(t.org_id,#orgIdPlural#)
@}
deleteByTaskId
===
* 删除
delete from hands_on_simulation_tasks_file where task_id = #taskId#

@ -0,0 +1,3 @@
detail
===
* 查询统计分析

@ -0,0 +1,38 @@
layui.define([ 'form', 'laydate', 'table','handsOnSimulationTasksFileApi'], function(exports) {
var form = layui.form;
var handsOnSimulationTasksFileApi = layui.handsOnSimulationTasksFileApi;
var index = layui.index;
var view = {
init:function(){
Lib.initGenrealForm($("#addForm"),form);
this.initSubmit();
},
initSubmit:function(){
$("#addButton").click(function(){
form.on('submit(form)', function(){
var taskFileId = $("#addForm input[name='taskFileId']").val();
if(!$.isEmpty(taskFileId)){
handsOnSimulationTasksFileApi.updateHandsOnSimulationTasksFile($('#addForm'),function(){
parent.window.dataReload();
Common.info("更新成功");
Lib.closeFrame();
});
}else{
handsOnSimulationTasksFileApi.addHandsOnSimulationTasksFile($('#addForm'),function(){
parent.window.dataReload();
Common.info("添加成功");
Lib.closeFrame();
});
}
});
});
$("#addButton-cancel").click(function(){
Lib.closeFrame();
});
}
}
exports('add',view);
});

@ -0,0 +1,23 @@
layui.define(['table', 'handsOnSimulationTasksFileApi'], function(exports) {
var handsOnSimulationTasksFileApi = layui.handsOnSimulationTasksFileApi;
var table=layui.table;
var view = {
init:function(){
},
delBatch:function(){
var data = Common.getMoreDataFromTable(table,"handsOnSimulationTasksFileTable");
if(data==null){
return ;
}
Common.openConfirm("确认要删除这些课程实操-任务附件?",function(){
var ids =Common.concatBatchId(data,"taskFileId");
handsOnSimulationTasksFileApi.del(ids,function(){
Common.info("删除成功");
dataReload();
})
})
}
}
exports('del',view);
});

@ -0,0 +1,28 @@
layui.define([ 'form', 'laydate', 'table','handsOnSimulationTasksFileApi'], function(exports) {
var form = layui.form;
var handsOnSimulationTasksFileApi = layui.handsOnSimulationTasksFileApi;
var index = layui.index;
var view = {
init:function(){
Lib.initGenrealForm($("#updateForm"),form);
this.initSubmit();
},
initSubmit:function(){
$("#updateButton").click(function(){
form.on('submit(form)', function(){
handsOnSimulationTasksFileApi.updateHandsOnSimulationTasksFile($('#updateForm'),function(){
parent.window.dataReload();
Common.info("更新成功");
Lib.closeFrame();
});
});
});
$("#updateButton-cancel").click(function(){
Lib.closeFrame();
});
}
}
exports('edit',view);
});

@ -0,0 +1,18 @@
/*访问后台的代码*/
layui.define([], function(exports) {
var api={
updateHandsOnSimulationTasksFile:function(form,callback){
Lib.submitForm("/jlw/handsOnSimulationTasksFile/edit.json",form,{},callback)
},
addHandsOnSimulationTasksFile:function(form,callback){
Lib.submitForm("/jlw/handsOnSimulationTasksFile/add.json",form,{},callback)
},
del:function(ids,callback){
Common.post("/jlw/handsOnSimulationTasksFile/delete.json",{"ids":ids},function(){
callback();
})
}
};
exports('handsOnSimulationTasksFileApi',api);
});

@ -0,0 +1,192 @@
layui.define([ 'form', 'laydate', 'table' ], function(exports) {
var form = layui.form;
var laydate = layui.laydate;
var table = layui.table;
var handsOnSimulationTasksFileTable = null;
var view ={
init:function(){
var that = this
this.initTable();
this.initSearchForm();
this.initToolBar();
window.dataReload = function(){
Lib.doSearchForm($("#searchForm"),handsOnSimulationTasksFileTable)
that.initToolBar();
}
},
initTable:function(){
var sx_ = localStorage.getItem("handsOnSimulationTasksFileTable_field_"+Common.userInfoId); //筛选值显示、隐藏缓存
if($.isEmpty(sx_)){sx_ = {};}else {sx_ = JSON.parse(sx_);}
handsOnSimulationTasksFileTable = table.render({
elem : '#handsOnSimulationTasksFileTable',
height : Lib.getTableHeight(1),
cellMinWidth: 100,
method : 'post',
url : Common.ctxPath + '/jlw/handsOnSimulationTasksFile/list.json' // 数据接口
,page : Lib.tablePage // 开启分页
,toolbar: '#toolbar_handsOnSimulationTasksFile' //自定义头部左侧工具栏
,defaultToolbar: ['filter', 'print', 'exports'] //头部右侧工具栏
,limit : 10,
cols : [ [ // 表头
{
type : 'checkbox',
},
{
field : 'taskFileId',
title : '实操任务文件ID',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['taskFileId'])?false:sx_['taskFileId'],
width : 60,
},
{
field : 'handsOnId',
title : '实操ID',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['handsOnId'])?false:sx_['handsOnId'],
},
{
field : 'taskId',
title : '任务ID',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['taskId'])?false:sx_['taskId'],
},
{
field : 'fileUrl',
title : '文件地址',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['fileUrl'])?false:sx_['fileUrl'],
},
{
field : 'fileType',
title : '文件类型',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['fileType'])?false:sx_['fileType'],
},
{
field : 'fileTime',
title : '视频时长',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['fileTime'])?false:sx_['fileTime'],
},
{
field : 'fileName',
title : '文件名称',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['fileName'])?false:sx_['fileName'],
},
{
field : 'addTime',
title : '添加时间',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['addTime'])?false:sx_['addTime'],
},
{
field : 'userId',
title : '用户ID',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['userId'])?false:sx_['userId'],
},
{
field : 'orgId',
title : '部门ID',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['orgId'])?false:sx_['orgId'],
}
,{
field : 'operation_',title : '操作',align:"center", templet: function (d) {
var htm = '<button type="button" class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit">编辑</button>';
htm += '<button type="button" class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</button>';
return htm;
}
}
] ]
});
table.on('checkbox(handsOnSimulationTasksFileTable)', function(obj){
var handsOnSimulationTasksFile = obj.data;
if(obj.checked){
//按钮逻辑Lib.buttonEnable()
}else{
}
})
},
initSearchForm:function(){
Lib.initSearchForm( $("#searchForm"),handsOnSimulationTasksFileTable,form);
},
initToolBar:function(){
toolbar = {
add: function () {
var url = "/jlw/handsOnSimulationTasksFile/add.do";
Common.openDlg(url,"课程实操-任务附件管理>新增");
},
edit: function () {
var data = Common.getOneFromTable(table,"handsOnSimulationTasksFileTable");
if(data==null){
return ;
}
var url = "/jlw/handsOnSimulationTasksFile/add.do?taskFileId="+data.taskFileId;
Common.openDlg(url,"课程实操-任务附件管理>"+data.taskFileId+">编辑");
},
del: function () {
layui.use(['del'], function(){
var delView = layui.del
delView.delBatch();
});
},
search: function () {
Lib.doSearchForm($("#searchForm"), handsOnSimulationTasksFileTable, 1);
view.initToolBar()
},
refresh: function () {
searchForm.reset();
Lib.doSearchForm($("#searchForm"), handsOnSimulationTasksFileTable, 1);
view.initToolBar()
},
}
//触发事件
$('.ext-toolbar').on('click', function() {
var type = $(this).data('type');
toolbar[type] ? toolbar[type].call(this) : '';
});
}, initTableTool: table.on('tool(handsOnSimulationTasksFileTable)', function (obj) {
var data = obj.data;
if (obj.event === 'edit') {
var url = "/jlw/handsOnSimulationTasksFile/add.do?taskFileId="+data.taskFileId;
Common.openDlg(url,"课程实操-任务附件管理>"+data.taskFileId+">编辑");
}else if(obj.event === "del"){
layer.confirm('是否确定删除该信息?', function (index) {
var ret = Common.postAjax("/jlw/handsOnSimulationTasksFile/delete.json",{ids:data.taskFileId});
layer.msg(ret.code == 0?"删除成功!":ret.msg, {
offset: ['50%'],
icon: ret.code == 0?1:2,
time: 1500 //2秒关闭如果不配置默认是3秒
},function (){
if(ret.code == 0){
Lib.tableRefresh();
}
});
});
}
})
}
exports('index',view);
});

@ -0,0 +1,88 @@
<!--# layout("/common/layout.html",{"jsBase":"/js/jlw/handsOnSimulationTasksFile/"}){ -->
<form class="layui-form" id="addForm">
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">实操ID</label>
<div class="layui-input-inline">
<input type="text" id="handsOnId" name="handsOnId" value="${handsOnSimulationTasksFile.handsOnId}" class="layui-input" >
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">任务ID</label>
<div class="layui-input-inline">
<input type="text" id="taskId" name="taskId" value="${handsOnSimulationTasksFile.taskId}" class="layui-input" >
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">文件地址</label>
<div class="layui-input-inline">
<input type="text" id="fileUrl" name="fileUrl" value="${handsOnSimulationTasksFile.fileUrl}" class="layui-input" >
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">文件类型</label>
<div class="layui-input-inline">
<input type="text" id="fileType" name="fileType" value="${handsOnSimulationTasksFile.fileType}" class="layui-input" >
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">视频时长</label>
<div class="layui-input-inline">
<input type="text" id="fileTime" name="fileTime" value="${handsOnSimulationTasksFile.fileTime}" class="layui-input" >
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">文件名称</label>
<div class="layui-input-inline">
<input type="text" id="fileName" name="fileName" value="${handsOnSimulationTasksFile.fileName}" class="layui-input" >
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">添加时间</label>
<div class="layui-input-inline">
<input type="text" id="addTime" name="addTime" value="${handsOnSimulationTasksFile.addTime,"yyyy-MM-dd"}" class="layui-input input-date" >
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">用户ID</label>
<div class="layui-input-inline">
<input type="text" id="userId" name="userId" value="${handsOnSimulationTasksFile.userId}" class="layui-input" >
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">部门ID</label>
<div class="layui-input-inline">
<input type="text" id="orgId" name="orgId" value="${handsOnSimulationTasksFile.orgId}" class="layui-input" >
</div>
</div>
</div>
</div>
<!-- 业务对象须有hidden字段保存delFlag和version字段-->
<input type="hidden" name="taskFileId" value="${handsOnSimulationTasksFile.taskFileId}" />
<layui:submitButtons id="addButton" buttonType="" showExamine="2" />
</form>
<!--#} -->
<script>
layui.use(['add'], function(){
var handsOnSimulationTasksFileAdd = layui.add
handsOnSimulationTasksFileAdd.init();
});
</script>

@ -0,0 +1,88 @@
<!--# layout("/common/layout.html",{"jsBase":"/js/jlw/handsOnSimulationTasksFile/"}){ -->
<form class="layui-form" id="updateForm">
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">实操ID</label>
<div class="layui-input-inline">
<input type="text" id="handsOnId" name="handsOnId" value="${handsOnSimulationTasksFile.handsOnId}" class="layui-input" >
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">任务ID</label>
<div class="layui-input-inline">
<input type="text" id="taskId" name="taskId" value="${handsOnSimulationTasksFile.taskId}" class="layui-input" >
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">文件地址</label>
<div class="layui-input-inline">
<input type="text" id="fileUrl" name="fileUrl" value="${handsOnSimulationTasksFile.fileUrl}" class="layui-input" >
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">文件类型</label>
<div class="layui-input-inline">
<input type="text" id="fileType" name="fileType" value="${handsOnSimulationTasksFile.fileType}" class="layui-input" >
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">视频时长</label>
<div class="layui-input-inline">
<input type="text" id="fileTime" name="fileTime" value="${handsOnSimulationTasksFile.fileTime}" class="layui-input" >
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">文件名称</label>
<div class="layui-input-inline">
<input type="text" id="fileName" name="fileName" value="${handsOnSimulationTasksFile.fileName}" class="layui-input" >
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">添加时间</label>
<div class="layui-input-inline">
<input type="text" id="addTime" name="addTime" value="${handsOnSimulationTasksFile.addTime,"yyyy-MM-dd"}" class="layui-input input-date" >
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">用户ID</label>
<div class="layui-input-inline">
<input type="text" id="userId" name="userId" value="${handsOnSimulationTasksFile.userId}" class="layui-input" >
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">部门ID</label>
<div class="layui-input-inline">
<input type="text" id="orgId" name="orgId" value="${handsOnSimulationTasksFile.orgId}" class="layui-input" >
</div>
</div>
</div>
</div>
<!-- 业务对象须有hidden字段保存delFlag和version字段-->
<input type="hidden" name="taskFileId" value="${handsOnSimulationTasksFile.taskFileId}" />
<layui:submitButtons id="updateButton" buttonType="" showExamine="2" />
</form>
<!--#} -->
<script>
layui.use(['edit'], function(){
var handsOnSimulationTasksFileEdit = layui.edit
handsOnSimulationTasksFileEdit.init();
});
</script>

@ -0,0 +1,29 @@
<!--#layout("/common/layout.html",{"jsBase":"/js/jlw/handsOnSimulationTasksFile/"}){ -->
<layui:searchForm formId="searchForm" searchList="" condition="${search}">
</layui:searchForm>
<table id="handsOnSimulationTasksFileTable" lay-filter="handsOnSimulationTasksFileTable"></table>
<!--#} -->
<script type="text/html" id="toolbar_handsOnSimulationTasksFile">
<div class="layui-btn-container">
<div class="layui-btn-group" >
<!--# if(core.searchIsShow(search)) {-->
<layui:accessButton function="handsOnSimulationTasksFile.query" id="searchFormSearch" action="search"><i class="layui-icon">&#xe615;</i>搜索</layui:accessButton>
<!--# }-->
<layui:accessButton function="handsOnSimulationTasksFile.add" action="add">添加</layui:accessButton>
<layui:accessButton function="handsOnSimulationTasksFile.edit" action="edit">修改</layui:accessButton>
<layui:accessButton function="handsOnSimulationTasksFile.del" action="del">删除</layui:accessButton>
<!--# if(!isEmpty(search)) {-->
<layui:accessButton function="handsOnSimulationTasksFile.query" action="refresh"><i class="layui-icon">&#xe669;</i>刷新</layui:accessButton>
<!--# }-->
</div>
</div>
</script>
<script>
layui.use(['index'], function(){
var index = layui.index;
index.init();
});
</script>
Loading…
Cancel
Save