From bd5098a3117e263368b884c08984741931f6cb21 Mon Sep 17 00:00:00 2001 From: Mlxa0324 Date: Wed, 14 Dec 2022 15:01:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=88=E8=AF=BE=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_base_design/天泽数据大平台.pdb | 8 +- data_base_design/天泽数据大平台.pdm | 30 +- doc/sql/mysql/tianze-pro-update.sql | 1 + .../java/cn/jlw/filter/SessionListener.java | 37 ++ .../ibeetl/jlw/dao/TeachingManagementDao.java | 33 ++ .../ibeetl/jlw/entity/TeachingManagement.java | 178 +++++++ .../service/TeachingManagementService.java | 311 ++++++++++++ .../jlw/web/TeachingManagementController.java | 415 ++++++++++++++++ .../web/query/TeachingManagementQuery.java | 151 ++++++ .../resources/sql/jlw/teachingManagement.md | 463 ++++++++++++++++++ .../static/js/jlw/teachingManagement/add.js | 38 ++ .../static/js/jlw/teachingManagement/del.js | 23 + .../static/js/jlw/teachingManagement/edit.js | 28 ++ .../static/js/jlw/teachingManagement/index.js | 203 ++++++++ .../teachingManagementApi.js | 26 + .../templates/jlw/teachingManagement/add.html | 79 +++ .../jlw/teachingManagement/edit.html | 79 +++ .../jlw/teachingManagement/index.html | 31 ++ 18 files changed, 2121 insertions(+), 13 deletions(-) create mode 100644 web/src/main/java/cn/jlw/filter/SessionListener.java create mode 100644 web/src/main/java/com/ibeetl/jlw/dao/TeachingManagementDao.java create mode 100644 web/src/main/java/com/ibeetl/jlw/entity/TeachingManagement.java create mode 100644 web/src/main/java/com/ibeetl/jlw/service/TeachingManagementService.java create mode 100644 web/src/main/java/com/ibeetl/jlw/web/TeachingManagementController.java create mode 100644 web/src/main/java/com/ibeetl/jlw/web/query/TeachingManagementQuery.java create mode 100644 web/src/main/resources/sql/jlw/teachingManagement.md create mode 100644 web/src/main/resources/static/js/jlw/teachingManagement/add.js create mode 100644 web/src/main/resources/static/js/jlw/teachingManagement/del.js create mode 100644 web/src/main/resources/static/js/jlw/teachingManagement/edit.js create mode 100644 web/src/main/resources/static/js/jlw/teachingManagement/index.js create mode 100644 web/src/main/resources/static/js/jlw/teachingManagement/teachingManagementApi.js create mode 100644 web/src/main/resources/templates/jlw/teachingManagement/add.html create mode 100644 web/src/main/resources/templates/jlw/teachingManagement/edit.html create mode 100644 web/src/main/resources/templates/jlw/teachingManagement/index.html diff --git a/data_base_design/天泽数据大平台.pdb b/data_base_design/天泽数据大平台.pdb index 268eb2bd..999cdf5f 100644 --- a/data_base_design/天泽数据大平台.pdb +++ b/data_base_design/天泽数据大平台.pdb @@ -1,5 +1,5 @@ - + @@ -21230,11 +21230,11 @@ COLLATE = utf8_general_ci 9A9B5D56-ADFC-4AC8-9D1E-00C7728EE909 -teacher_merge_class_third -teacher_merge_class_third +teaching_management +teaching_management 1563157584 lx -1670998887 +1670998950 lx 授课管理-需要对接外部系统 auto_increment = 1 diff --git a/data_base_design/天泽数据大平台.pdm b/data_base_design/天泽数据大平台.pdm index 999cdf5f..0ebc6049 100644 --- a/data_base_design/天泽数据大平台.pdm +++ b/data_base_design/天泽数据大平台.pdm @@ -1,5 +1,5 @@ - + @@ -6778,7 +6778,7 @@ LABL 0 新宋体,8,N 1670998074 1670998076 -1 -((446259,37784), (462583,46932)) +((446259,37372), (462583,47344)) 12615680 16570034 12632256 @@ -21234,7 +21234,7 @@ COLLATE = utf8_general_ci teaching_management 1563157584 lx -1670998950 +1670999727 lx 授课管理-需要对接外部系统 auto_increment = 1 @@ -21319,6 +21319,18 @@ COLLATE = utf8_general_ci datetime +7D0C51C0-EAEF-4B0E-997C-A2343F5E5A2B +teacher_merge_class_third_status +teacher_merge_class_third_status +1670999693 +lx +1670999727 +lx +状态 1正常 2删除 +int(2) +2 + + C457A2F1-E904-4347-A28E-908BD3775B80 user_id user_id @@ -21329,7 +21341,7 @@ COLLATE = utf8_general_ci 后台用户ID bigint - + 25EE7584-AFDD-463C-9AD0-F4519BEEE2D7 org_id org_id @@ -21342,7 +21354,7 @@ COLLATE = utf8_general_ci - + 018846BE-6DA4-4785-A696-D74525BCC497 Key_1 Key_1 @@ -21356,12 +21368,12 @@ COLLATE = utf8_general_ci - + - + BFEA4109-96F9-4074-AF58-B84D6574A7FC PUBLIC PUBLIC @@ -21372,7 +21384,7 @@ COLLATE = utf8_general_ci - + ABEFC813-1056-4507-A9A7-809C149B4ABE 1661954753 lx @@ -21660,7 +21672,7 @@ COLLATE = utf8_general_ci - + 5963E417-B2CE-431D-988A-B3493AAE5EE4 MySQL 5.0 MYSQL50 diff --git a/doc/sql/mysql/tianze-pro-update.sql b/doc/sql/mysql/tianze-pro-update.sql index 2e87fa4e..850768d0 100644 --- a/doc/sql/mysql/tianze-pro-update.sql +++ b/doc/sql/mysql/tianze-pro-update.sql @@ -521,6 +521,7 @@ create table teaching_management teacher_info varchar(100) comment '教师信息', school_class_info varchar(500) comment '班级信息,多个逗号隔开', teacher_merge_class_third_add_time datetime comment '创建时间', + teacher_merge_class_third_status int(2) comment '状态 1正常 2删除', user_id bigint comment '后台用户ID', org_id bigint comment '组织机构ID', primary key (teacher_merge_class_third_id) diff --git a/web/src/main/java/cn/jlw/filter/SessionListener.java b/web/src/main/java/cn/jlw/filter/SessionListener.java new file mode 100644 index 00000000..9737e6ee --- /dev/null +++ b/web/src/main/java/cn/jlw/filter/SessionListener.java @@ -0,0 +1,37 @@ +package cn.jlw.filter; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.context.annotation.Configuration; + +import javax.servlet.annotation.WebListener; +import javax.servlet.http.HttpSessionEvent; +import javax.servlet.http.HttpSessionListener; + +/** + *

+ * Session监听器,用户记录用户登录时长 + *

+ * + * @author mlx + * @date 2022/11/9 + * @modified + */ +@WebListener +@Configuration +public class SessionListener implements HttpSessionListener { + + private final Logger log = LoggerFactory.getLogger(this.getClass()); + + @Override + public void sessionCreated(HttpSessionEvent se) { + HttpSessionListener.super.sessionCreated(se); + log.debug("session创建了一个新的成员:{}", se.getSession().getId()); + } + + @Override + public void sessionDestroyed(HttpSessionEvent se) { + HttpSessionListener.super.sessionDestroyed(se); + log.debug("session销毁了一个新的成员:{}", se.getSession().getId()); + } +} diff --git a/web/src/main/java/com/ibeetl/jlw/dao/TeachingManagementDao.java b/web/src/main/java/com/ibeetl/jlw/dao/TeachingManagementDao.java new file mode 100644 index 00000000..17fecb11 --- /dev/null +++ b/web/src/main/java/com/ibeetl/jlw/dao/TeachingManagementDao.java @@ -0,0 +1,33 @@ +package com.ibeetl.jlw.dao; + +import com.ibeetl.jlw.entity.TeachingManagement; +import com.ibeetl.jlw.web.query.TeachingManagementQuery; +import org.beetl.sql.core.engine.PageQuery; +import org.beetl.sql.mapper.BaseMapper; +import org.beetl.sql.mapper.annotation.SqlResource; +import org.beetl.sql.mapper.annotation.Update; +import org.springframework.stereotype.Repository; + +import java.util.List; +import java.util.Map; + +/** + * 授课管理 Dao + */ +// 实际可以不用加Repository注解,调用的地方注入时候,Idea会报红,看着难受 +@Repository +@SqlResource("jlw.teachingManagement") +public interface TeachingManagementDao extends BaseMapper{ + PageQuery queryByCondition(PageQuery query); + PageQuery queryByConditionQuery(PageQuery query); + @Update + void deleteTeachingManagementByIds(String ids); + @Update + void deleteByIds(String ids); + @Update + int updateGivenByIds(TeachingManagementQuery teachingManagementQuery); + List getByIds(String ids); + List getValuesByQuery(TeachingManagementQuery teachingManagementQuery); + List getValuesByQueryNotWithPermission(TeachingManagementQuery teachingManagementQuery); + List>getExcelValues(TeachingManagementQuery teachingManagementQuery); +} diff --git a/web/src/main/java/com/ibeetl/jlw/entity/TeachingManagement.java b/web/src/main/java/com/ibeetl/jlw/entity/TeachingManagement.java new file mode 100644 index 00000000..22b0b42a --- /dev/null +++ b/web/src/main/java/com/ibeetl/jlw/entity/TeachingManagement.java @@ -0,0 +1,178 @@ +package com.ibeetl.jlw.entity; + +import com.ibeetl.admin.core.annotation.Dict; +import com.ibeetl.admin.core.entity.BaseEntity; +import com.ibeetl.admin.core.util.ValidateConfig; +import org.beetl.sql.annotation.entity.AssignID; + +import javax.validation.constraints.NotNull; +import java.util.Date; + +/* +* 授课管理-需要对接外部系统 +* gen by Spring Boot2 Admin 2022-12-14 +*/ +public class TeachingManagement extends BaseEntity{ + + //ID + @NotNull(message = "ID不能为空", groups =ValidateConfig.UPDATE.class) + // @SeqID(name = ORACLE_CORE_SEQ_NAME) + @AssignID(value = "maskAutoID",param = "com.ibeetl.jlw.entity.TeachingManagement") + + private Long teacherMergeClassThirdId ; + + //院系信息 + + private String universityFacultyInfo ; + + //专业信息 + + private String universitySystemInfo ; + + //教师信息 + + private String teacherInfo ; + + //班级信息,多个逗号隔开 + + private String schoolClassInfo ; + + //创建时间 + + private Date teacherMergeClassThirdAddTime ; + + //状态 1正常 2删除 + @Dict(type="global_status") + + private Integer teacherMergeClassThirdStatus ; + + //后台用户ID + + private Long userId ; + + //组织机构ID + + private Long orgId ; + + public TeachingManagement(){ + } + + /**ID + *@return + */ + public Long getTeacherMergeClassThirdId(){ + return teacherMergeClassThirdId; + } + /**ID + *@param teacherMergeClassThirdId + */ + public void setTeacherMergeClassThirdId(Long teacherMergeClassThirdId){ + this.teacherMergeClassThirdId = teacherMergeClassThirdId; + } + + /**院系信息 + *@return + */ + public String getUniversityFacultyInfo(){ + return universityFacultyInfo; + } + /**院系信息 + *@param universityFacultyInfo + */ + public void setUniversityFacultyInfo(String universityFacultyInfo){ + this.universityFacultyInfo = universityFacultyInfo; + } + + /**专业信息 + *@return + */ + public String getUniversitySystemInfo(){ + return universitySystemInfo; + } + /**专业信息 + *@param universitySystemInfo + */ + public void setUniversitySystemInfo(String universitySystemInfo){ + this.universitySystemInfo = universitySystemInfo; + } + + /**教师信息 + *@return + */ + public String getTeacherInfo(){ + return teacherInfo; + } + /**教师信息 + *@param teacherInfo + */ + public void setTeacherInfo(String teacherInfo){ + this.teacherInfo = teacherInfo; + } + + /**班级信息,多个逗号隔开 + *@return + */ + public String getSchoolClassInfo(){ + return schoolClassInfo; + } + /**班级信息,多个逗号隔开 + *@param schoolClassInfo + */ + public void setSchoolClassInfo(String schoolClassInfo){ + this.schoolClassInfo = schoolClassInfo; + } + + /**创建时间 + *@return + */ + public Date getTeacherMergeClassThirdAddTime(){ + return teacherMergeClassThirdAddTime; + } + /**创建时间 + *@param teacherMergeClassThirdAddTime + */ + public void setTeacherMergeClassThirdAddTime(Date teacherMergeClassThirdAddTime){ + this.teacherMergeClassThirdAddTime = teacherMergeClassThirdAddTime; + } + + /**状态 1正常 2删除 + *@return + */ + public Integer getTeacherMergeClassThirdStatus(){ + return teacherMergeClassThirdStatus; + } + /**状态 1正常 2删除 + *@param teacherMergeClassThirdStatus + */ + public void setTeacherMergeClassThirdStatus(Integer teacherMergeClassThirdStatus){ + this.teacherMergeClassThirdStatus = teacherMergeClassThirdStatus; + } + + /**后台用户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; + } + + +} diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeachingManagementService.java b/web/src/main/java/com/ibeetl/jlw/service/TeachingManagementService.java new file mode 100644 index 00000000..31180134 --- /dev/null +++ b/web/src/main/java/com/ibeetl/jlw/service/TeachingManagementService.java @@ -0,0 +1,311 @@ +package com.ibeetl.jlw.service; + +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.service.CoreBaseService; +import com.ibeetl.admin.core.util.PlatformException; +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.TeachingManagementDao; +import com.ibeetl.jlw.entity.FileEntity; +import com.ibeetl.jlw.entity.TeachingManagement; +import com.ibeetl.jlw.web.query.TeachingManagementQuery; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +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.SqlId; +import org.beetl.sql.core.engine.PageQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.annotation.Validated; + +import java.io.*; +import java.util.*; + +import static com.ibeetl.admin.core.util.ExcelUtil.getCellFormatValue; + +/** + * 授课管理 Service + * 当分布式ID开启后请勿使用insert(*,true) + */ + +@Service +@Transactional +@Validated +public class TeachingManagementService extends CoreBaseService{ + + @Autowired private TeachingManagementDao teachingManagementDao; + + public PageQueryqueryByCondition(PageQuery query){ + PageQuery ret = teachingManagementDao.queryByCondition(query); + queryListAfter(ret.getList()); + return ret; + } + + public PageQueryqueryByConditionQuery(PageQuery query){ + PageQuery ret = teachingManagementDao.queryByConditionQuery(query); + queryListAfter(ret.getList()); + return ret; + } + + public void deleteByList(List list){ + String ids = ""; + ToolUtils.deleteNullList(list); + for(int i=0;null != list && i teachingManagementList = new ArrayList<>(); + try { + teachingManagementList = JSON.parseArray(teachingManagementQuery.getTeachingManagementJsonStr(), TeachingManagement.class); + } catch (Exception e) { + try { + teachingManagementList.add(JSONObject.parseObject(teachingManagementQuery.getTeachingManagementJsonStr(), TeachingManagement.class)); + } catch (Exception e1) {} + } + ToolUtils.deleteNullList(teachingManagementList); + if(null != teachingManagementList && teachingManagementList.size()>0){ + for(int i=0;i 0; + if(!flag){ + msg = "更新指定参数失败"; + } + }else{ + msg = "指定参数为空"; + } + return msg; + } + + public List getValues (Object paras){ + return sqlManager.select(SqlId.of("jlw.teachingManagement.getTeachingManagementValues"), TeachingManagement.class, paras); + } + + public List getValuesByQuery (TeachingManagementQuery teachingManagementQuery){ + return teachingManagementDao.getValuesByQuery(teachingManagementQuery); + } + + public List getValuesByQueryNotWithPermission (TeachingManagementQuery teachingManagementQuery){ + return teachingManagementDao.getValuesByQueryNotWithPermission(teachingManagementQuery); + } + + public TeachingManagement getInfo (Long teacherMergeClassThirdId){ + TeachingManagementQuery teachingManagementQuery = new TeachingManagementQuery(); + teachingManagementQuery.setTeacherMergeClassThirdId(teacherMergeClassThirdId); + teachingManagementQuery.setTeacherMergeClassThirdStatusPlural("1,2");//需要根据实际情况来 + List list = teachingManagementDao.getValuesByQuery(teachingManagementQuery); + if(null != list && list.size()>0){ + return list.get(0); + }else{ + return null; + } + } + + public TeachingManagement getInfo (TeachingManagementQuery teachingManagementQuery){ + List list = teachingManagementDao.getValuesByQuery(teachingManagementQuery); + if(null != list && list.size()>0){ + return list.get(0); + }else{ + return null; + } + } + + + public JsonResult importTemplate(List fileEntityList,Listlist,CoreUser coreUser){ + ListerrMsg = new ArrayList<>(); + String msg =""; + int count = 0; + Date date = new Date(); + for(int item=0;null != fileEntityList && item map = new HashMap<>();//获取需要的表头的列 + + //从第一列找到需要的表头 + for (int i=0; i0?JsonReturnCode.SUCCESS.getCode():JsonReturnCode.FAIL.getCode()); + jsonResult.setData(errMsg); + jsonResult.setMsg((count>0?"导入成功,共导入"+count+"条":"导入失败")+(StringUtils.isNotBlank(msg)?"
"+msg:"")); + return jsonResult; + } + + public List> getExcelValues (TeachingManagementQuery teachingManagementQuery){ + return teachingManagementDao.getExcelValues(teachingManagementQuery); + } + + +} diff --git a/web/src/main/java/com/ibeetl/jlw/web/TeachingManagementController.java b/web/src/main/java/com/ibeetl/jlw/web/TeachingManagementController.java new file mode 100644 index 00000000..37987830 --- /dev/null +++ b/web/src/main/java/com/ibeetl/jlw/web/TeachingManagementController.java @@ -0,0 +1,415 @@ +package com.ibeetl.jlw.web; + +import cn.hutool.core.lang.Assert; +import cn.jlw.Interceptor.GetFile; +import cn.jlw.Interceptor.RFile; +import cn.jlw.Interceptor.SCoreUser; +import cn.jlw.util.ToolUtils; +import cn.jlw.validate.ValidateConfig; +import com.ibeetl.admin.core.annotation.Function; +import com.ibeetl.admin.core.entity.CoreUser; +import com.ibeetl.admin.core.file.FileService; +import com.ibeetl.admin.core.util.TimeTool; +import com.ibeetl.admin.core.web.JsonResult; +import com.ibeetl.jlw.entity.FileEntity; +import com.ibeetl.jlw.entity.TeachingManagement; +import com.ibeetl.jlw.service.TeachingManagementService; +import com.ibeetl.jlw.web.query.TeachingManagementQuery; +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.HorizontalAlignment; +import org.apache.poi.ss.usermodel.VerticalAlignment; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.beetl.sql.core.engine.PageQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.validation.annotation.Validated; +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.web.servlet.ModelAndView; + +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.List; +import java.util.Map; + +import static com.ibeetl.admin.core.util.user.CacheUserUtil.getUser; + +/** + * 授课管理 授课管理-需要对接外部系统 接口 + * 切记不要对非线程安全的静态变量进行写操作 + */ + +@RestController +@Validated +public class TeachingManagementController{ + + private final Log log = LogFactory.getLog(this.getClass()); + private static final String MODEL = "/jlw/teachingManagement"; + private static final String API = "/api/teachingManagement"; + + + @Autowired private TeachingManagementService teachingManagementService; + + @Autowired FileService fileService; + + /* 前端接口 */ + + @PostMapping(API + "/getPageList.do") + public JsonResult getPageList(TeachingManagementQuery condition,@SCoreUser CoreUser coreUser){ + if(null == coreUser){ + return JsonResult.failMessage("请登录后再操作"); + }else{ + PageQuery page = condition.getPageQuery(); + teachingManagementService.queryByConditionQuery(page); + return JsonResult.success(page); + } + } + + + @GetMapping(API + "/getInfo.do") + public JsonResultgetInfo(TeachingManagementQuery param,@SCoreUser CoreUser coreUser) { + if(null == coreUser){ + return JsonResult.failMessage("请登录后再操作"); + }else{ + TeachingManagement teachingManagement = teachingManagementService.getInfo(param); + return JsonResult.success(teachingManagement); + } + } + + + @GetMapping(API + "/getList.do") + public JsonResult>getList(TeachingManagementQuery param,@SCoreUser CoreUser coreUser) { + if(null == coreUser){ + return JsonResult.failMessage("请登录后再操作"); + }else{ + Listlist = teachingManagementService.getValuesByQuery(param); + return JsonResult.success(list); + } + } + + + /* 后台页面 */ + + @GetMapping(MODEL + "/index.do") + @Function("teachingManagement.query") + public ModelAndView index() { + ModelAndView view = new ModelAndView("/jlw/teachingManagement/index.html") ; + view.addObject("search", TeachingManagementQuery.class.getName()); + return view; + } + + @GetMapping(MODEL + "/edit.do") + @Function("teachingManagement.edit") + public ModelAndView edit(Long teacherMergeClassThirdId) { + ModelAndView view = new ModelAndView("/jlw/teachingManagement/edit.html"); + TeachingManagement teachingManagement = teachingManagementService.queryById(teacherMergeClassThirdId); + view.addObject("teachingManagement", teachingManagement); + return view; + } + + @GetMapping(MODEL + "/add.do") + @Function("teachingManagement.add") + public ModelAndView add(Long teacherMergeClassThirdId) { + ModelAndView view = new ModelAndView("/jlw/teachingManagement/add.html"); + if(null != teacherMergeClassThirdId){ + TeachingManagement teachingManagement = teachingManagementService.queryById(teacherMergeClassThirdId); + view.addObject("teachingManagement", teachingManagement); + }else { + view.addObject("teachingManagement", new TeachingManagement()); + } + return view; + } + + /* 后台接口 */ + + @PostMapping(MODEL + "/list.json") + @Function("teachingManagement.query") + public JsonResult list(TeachingManagementQuery condition){ + PageQuery page = condition.getPageQuery(); + teachingManagementService.queryByCondition(page); + return JsonResult.success(page); + } + + @PostMapping(MODEL + "/addAll.json") + @Function("teachingManagement.add") + public JsonResult addAll(TeachingManagementQuery teachingManagementQuery,@SCoreUser CoreUser coreUser){ + if(null == coreUser){ + return JsonResult.failMessage("请登录后再操作"); + }else{ + teachingManagementQuery.setUserId(coreUser.getId()); + teachingManagementQuery.setOrgId(coreUser.getOrgId()); + String msg = teachingManagementService.addAll(teachingManagementQuery); + if (StringUtils.isBlank(msg)) { + return JsonResult.success(); + } else { + return JsonResult.failMessage("新增失败,"+msg); + } + } + } + + @PostMapping(MODEL + "/add.json") + @Function("teachingManagement.add") + public JsonResult add(@Validated(ValidateConfig.ADD.class) TeachingManagementQuery teachingManagementQuery, BindingResult result,@SCoreUser CoreUser coreUser){ + if(result.hasErrors()){ + return JsonResult.failMessage(result); + }else{ + + teachingManagementQuery.setUserId(coreUser.getId()); + teachingManagementQuery.setOrgId(coreUser.getOrgId()); + if(null == teachingManagementQuery.getTeacherMergeClassThirdStatus()){ + teachingManagementQuery.setTeacherMergeClassThirdStatus(1); + } + return teachingManagementService.add(teachingManagementQuery); + } + } + + @PostMapping(MODEL + "/edit.json") + @Function("teachingManagement.edit") + public JsonResult update(@Validated(ValidateConfig.UPDATE.class) TeachingManagementQuery teachingManagementQuery, BindingResult result) { + if(result.hasErrors()){ + return JsonResult.failMessage(result); + }else { + Assert.notNull(getUser(), "请登录后再操作"); + teachingManagementQuery.setUserId(null); + teachingManagementQuery.setOrgId(null); + String msg = teachingManagementService.edit(teachingManagementQuery); + if (StringUtils.isBlank(msg)) { + return JsonResult.success(); + } else { + return JsonResult.failMessage("更新失败,"+msg); + } + } + } + + + @GetMapping(MODEL + "/view.json") + @Function("teachingManagement.query") + public JsonResultqueryInfo(Long teacherMergeClassThirdId) { + TeachingManagement teachingManagement = teachingManagementService.queryById( teacherMergeClassThirdId); + return JsonResult.success(teachingManagement); + } + + @GetMapping(MODEL + "/getValues.json") + @Function("teachingManagement.query") + public JsonResult>getValues(TeachingManagementQuery param) { + Listlist = teachingManagementService.getValuesByQuery(param); + return JsonResult.success(list); + } + + + @PostMapping(MODEL + "/delete.json") + @Function("teachingManagement.delete") + @ResponseBody + public JsonResult delete(String ids) { + teachingManagementService.deleteTeachingManagement(ids); + return JsonResult.success(); + } + + + //下载模板信息 + @GetMapping(MODEL + "/downloadTemplate.json") + public void download(HttpServletRequest request,HttpServletResponse response,@SCoreUser CoreUser coreUser) { + if(null == coreUser){ + return; + } + XSSFWorkbook workbook = null; + InputStream is = null; + try { + //TODO 改导入模板名字 + is = new FileInputStream(GetFile.p + File.separator +"filesystem"+ File.separator +"template"+ File.separator+ "导入模板.xlsx"); + + workbook = new XSSFWorkbook(is); + + try { + if(null != is){ + is.close(); + } + }catch (Exception e){ + e.printStackTrace(); + } + + //准备将Excel的输出流通过response输出到页面下载 + //八进制输出流 + response.setContentType("application/octet-stream"); + + //这后面可以设置导出Excel的名称,此例中名为template.xls + String fileName = ToolUtils.web2fileName(request,"teachingManagementTemplate(" + TimeTool.getNowTime("YMD") + ").xlsx"); + + response.setHeader("Content-disposition", "attachment;filename="+fileName); + + //刷新缓冲 + response.flushBuffer(); + + //workbook将Excel写入到response的输出流中,供页面下载 + workbook.write(response.getOutputStream()); + }catch (Exception e){ + e.printStackTrace(); + } finally { + try { + if (null != workbook) { + workbook.close(); + } + if (null != response && null != response.getOutputStream()) { + response.getOutputStream().close(); + } + } catch (Exception e) { } + } + } + + //导入模板信息 + @PostMapping(MODEL + "/importTemplate.json") + @Function("teachingManagement.importTemplate") + public JsonResult importTemplate(@RFile List fileEntityList,@SCoreUser CoreUser coreUser) { + if(null == coreUser){ + return JsonResult.failMessage("请登录后再操作"); + } + Listlist=new ArrayList<>(); + JsonResult jsonResult = teachingManagementService.importTemplate(fileEntityList,list,coreUser); + if(list.size()>0){ + teachingManagementService.deleteByList(list); + } + return jsonResult; + } + + //导出信息 + @GetMapping(MODEL + "/excel/export.json") + @Function("teachingManagement.exportDocument") + public void export(HttpServletRequest request,HttpServletResponse response,TeachingManagementQuery teachingManagementQuery,@SCoreUser CoreUser coreUser) { + if(null == coreUser){ + return; + } + HSSFWorkbook workbook = null; + try { + //表头数据 + String[] header = { + "院系信息", + "专业信息", + "教师信息", + "班级信息,多个逗号隔开", + "创建时间", + "状态 1正常 2删除", + }; + String[] headerCode = { + "universityFacultyInfo", + "universitySystemInfo", + "teacherInfo", + "schoolClassInfo", + "teacherMergeClassThirdAddTime", + "teacherMergeClassThirdStatus", + }; + + //数据内容 + List> mapList = teachingManagementService.getExcelValues(teachingManagementQuery); + + //内容宽度 + Map widthMap = mapList.get(0); + mapList.remove(0); + + //声明一个工作簿 + workbook = new HSSFWorkbook(); + + //生成一个表格,设置表格名称为"Sheet1" + HSSFSheet sheet = workbook.createSheet("Sheet1"); + + //冻结表头 + sheet.createFreezePane(0, 1, 0, 1); + + //设置默认列宽度为5个字节 + sheet.setDefaultColumnWidth(5); + + //创建第一行表头 + HSSFRow headRow = sheet.createRow(0); + + //头部样式 + HSSFCellStyle headerStyle = workbook.createCellStyle(); + //垂直居中 + headerStyle.setVerticalAlignment(VerticalAlignment.CENTER); + //水平居中 + headerStyle.setAlignment(HorizontalAlignment.CENTER); + + //单元格样式 + HSSFCellStyle cellStyle = workbook.createCellStyle(); + //垂直居中 + cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); + //水平居左 + cellStyle.setAlignment(HorizontalAlignment.CENTER); + //自动换行 + cellStyle.setWrapText(true); + + //遍历添加表头 + for (int i = 0; i < header.length; i++) { + + //设置表格特定的列宽度 + if (null != widthMap.get(headerCode[i])) { + String width = widthMap.get(headerCode[i]).toString().split("\\.")[0]; + Integer w = Integer.parseInt(width) > header[i].length()*3?Integer.parseInt(width):header[i].length()*3; + sheet.setColumnWidth(i, w * 190); + } + + //创建一个单元格 + HSSFCell cell = headRow.createCell(i); + + //创建一个内容对象 + HSSFRichTextString text = new HSSFRichTextString(header[i]); + + //将内容对象的文字内容写入到单元格中 + cell.setCellValue(text); + + //设置样式 + cell.setCellStyle(headerStyle); + } + + //遍历结果集,把内容加入表格 + for (int i = 0; i < mapList.size(); i++) { + HSSFRow row = sheet.createRow(i + 1); + + row.setHeight((short) (50*10)); + + Map map = mapList.get(i); + for (int j = 0; j < headerCode.length; j++) { + HSSFCell cell = row.createCell(j); + cell.setCellStyle(cellStyle); + HSSFRichTextString text = new HSSFRichTextString(null != map.get(headerCode[j]) ? map.get(headerCode[j]).toString() : " "); + cell.setCellValue(text); + } + } + + + //准备将Excel的输出流通过response输出到页面下载 + //八进制输出流 + response.setContentType("application/octet-stream"); + + //这后面可以设置导出Excel的名称,此例中名为student.xls + String fileName = ToolUtils.web2fileName(request,"teachingManagement(" + TimeTool.getNowTime("YMD") + ").xls"); + + response.setHeader("Content-disposition", "attachment;filename="+fileName); + + //刷新缓冲 + response.flushBuffer(); + + //workbook将Excel写入到response的输出流中,供页面下载 + workbook.write(response.getOutputStream()); + }catch (Exception e){ + e.printStackTrace(); + } finally { + try { + if (null != workbook) { + workbook.close(); + } + if (null != response && null != response.getOutputStream()) { + response.getOutputStream().close(); + } + } catch (Exception e) { } + } + } + +} diff --git a/web/src/main/java/com/ibeetl/jlw/web/query/TeachingManagementQuery.java b/web/src/main/java/com/ibeetl/jlw/web/query/TeachingManagementQuery.java new file mode 100644 index 00000000..eb98e1ce --- /dev/null +++ b/web/src/main/java/com/ibeetl/jlw/web/query/TeachingManagementQuery.java @@ -0,0 +1,151 @@ +package com.ibeetl.jlw.web.query; + +import cn.jlw.validate.ValidateConfig; +import com.ibeetl.admin.core.annotation.Query; +import com.ibeetl.admin.core.web.query.PageParam; +import com.ibeetl.jlw.entity.TeachingManagement; + +import javax.validation.constraints.NotNull; +import java.util.Date; + +/** + *授课管理查询 + */ +public class TeachingManagementQuery extends PageParam { + @NotNull(message = "ID不能为空", groups =ValidateConfig.UPDATE.class) + @Query(name = "ID", display = false) + private Long teacherMergeClassThirdId; + @Query(name = "院系信息", display = false) + private String universityFacultyInfo; + @Query(name = "专业信息", display = false) + private String universitySystemInfo; + @Query(name = "教师信息", display = false) + private String teacherInfo; + @Query(name = "班级信息,多个逗号隔开", display = false) + private String schoolClassInfo; + @Query(name = "创建时间", display = false) + private Date teacherMergeClassThirdAddTime; + @Query(name = "状态 1正常 2删除", display = true,type=Query.TYPE_DICT,dict="global_status") + private Integer teacherMergeClassThirdStatus; + @Query(name = "后台用户ID", display = false) + private Long userId; + @Query(name = "组织机构ID", display = false) + private Long orgId; + + private String teacherMergeClassThirdIdPlural; + private String teacherMergeClassThirdStatusPlural; + private String userIdPlural; + private String orgIdPlural; + + private String teachingManagementJsonStr;//json格式 + + private String _given;//指定更新的特定字段,多个逗号隔开 + + public Long getTeacherMergeClassThirdId(){ + return teacherMergeClassThirdId; + } + public void setTeacherMergeClassThirdId(Long teacherMergeClassThirdId ){ + this.teacherMergeClassThirdId = teacherMergeClassThirdId; + } + public String getUniversityFacultyInfo(){ + return universityFacultyInfo; + } + public void setUniversityFacultyInfo(String universityFacultyInfo ){ + this.universityFacultyInfo = universityFacultyInfo; + } + public String getUniversitySystemInfo(){ + return universitySystemInfo; + } + public void setUniversitySystemInfo(String universitySystemInfo ){ + this.universitySystemInfo = universitySystemInfo; + } + public String getTeacherInfo(){ + return teacherInfo; + } + public void setTeacherInfo(String teacherInfo ){ + this.teacherInfo = teacherInfo; + } + public String getSchoolClassInfo(){ + return schoolClassInfo; + } + public void setSchoolClassInfo(String schoolClassInfo ){ + this.schoolClassInfo = schoolClassInfo; + } + public Date getTeacherMergeClassThirdAddTime(){ + return teacherMergeClassThirdAddTime; + } + public void setTeacherMergeClassThirdAddTime(Date teacherMergeClassThirdAddTime ){ + this.teacherMergeClassThirdAddTime = teacherMergeClassThirdAddTime; + } + public Integer getTeacherMergeClassThirdStatus(){ + return teacherMergeClassThirdStatus; + } + public void setTeacherMergeClassThirdStatus(Integer teacherMergeClassThirdStatus ){ + this.teacherMergeClassThirdStatus = teacherMergeClassThirdStatus; + } + 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 TeachingManagement pojo(){ + TeachingManagement pojo = new TeachingManagement(); + pojo.setTeacherMergeClassThirdId(this.getTeacherMergeClassThirdId()); + pojo.setUniversityFacultyInfo(this.getUniversityFacultyInfo()); + pojo.setUniversitySystemInfo(this.getUniversitySystemInfo()); + pojo.setTeacherInfo(this.getTeacherInfo()); + pojo.setSchoolClassInfo(this.getSchoolClassInfo()); + pojo.setTeacherMergeClassThirdAddTime(this.getTeacherMergeClassThirdAddTime()); + pojo.setTeacherMergeClassThirdStatus(this.getTeacherMergeClassThirdStatus()); + pojo.setUserId(this.getUserId()); + pojo.setOrgId(this.getOrgId()); + return pojo; + } + + public String getTeacherMergeClassThirdIdPlural(){ + return teacherMergeClassThirdIdPlural; + } + public void setTeacherMergeClassThirdIdPlural(String teacherMergeClassThirdIdPlural){ + this.teacherMergeClassThirdIdPlural = teacherMergeClassThirdIdPlural; + } + 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 getTeachingManagementJsonStr(){ + return teachingManagementJsonStr; + } + public void setTeachingManagementJsonStr(String teachingManagementJsonStr ){ + this.teachingManagementJsonStr = teachingManagementJsonStr; + } + public String get_given() { + return _given; + } + public void set_given(String _given) { + this._given = _given; + } + + public String getTeacherMergeClassThirdStatusPlural() { + return teacherMergeClassThirdStatusPlural; + } + + public void setTeacherMergeClassThirdStatusPlural(String teacherMergeClassThirdStatusPlural) { + this.teacherMergeClassThirdStatusPlural = teacherMergeClassThirdStatusPlural; + } +} diff --git a/web/src/main/resources/sql/jlw/teachingManagement.md b/web/src/main/resources/sql/jlw/teachingManagement.md new file mode 100644 index 00000000..b944c6ef --- /dev/null +++ b/web/src/main/resources/sql/jlw/teachingManagement.md @@ -0,0 +1,463 @@ +queryByCondition +=== +* 根据不为空的参数进行分页查询 + + select + @pageTag(){ + t.* + @} + from teaching_management t + where 1=1 + @//数据权限,该sql语句功能点,如果不考虑数据权限,可以删除此行 + and #function("teachingManagement.query")# + @if(!isEmpty(teacherMergeClassThirdId)){ + and t.teacher_merge_class_third_id =#teacherMergeClassThirdId# + @} + @if(!isEmpty(teacherMergeClassThirdIdPlural)){ + and find_in_set(t.teacher_merge_class_third_id,#teacherMergeClassThirdIdPlural#) + @} + @if(!isEmpty(universityFacultyInfo)){ + and t.university_faculty_info =#universityFacultyInfo# + @} + @if(!isEmpty(universitySystemInfo)){ + and t.university_system_info =#universitySystemInfo# + @} + @if(!isEmpty(teacherInfo)){ + and t.teacher_info =#teacherInfo# + @} + @if(!isEmpty(schoolClassInfo)){ + and t.school_class_info =#schoolClassInfo# + @} + @if(!isEmpty(teacherMergeClassThirdAddTime)){ + and t.teacher_merge_class_third_add_time =#teacherMergeClassThirdAddTime# + @} + @if(isEmpty(teacherMergeClassThirdStatus) && isEmpty(teacherMergeClassThirdStatusPlural)){ + and t.teacher_merge_class_third_status != 2 + @}else{ + @if(!isEmpty(teacherMergeClassThirdStatus)){ + and t.teacher_merge_class_third_status =#teacherMergeClassThirdStatus# + @}else if(!isEmpty(teacherMergeClassThirdStatusPlural)){ + and find_in_set(t.teacher_merge_class_third_status,#teacherMergeClassThirdStatusPlural#) + @} + @} + @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 teaching_management t + where 1=1 + @if(!isEmpty(teacherMergeClassThirdId)){ + and t.teacher_merge_class_third_id =#teacherMergeClassThirdId# + @} + @if(!isEmpty(teacherMergeClassThirdIdPlural)){ + and find_in_set(t.teacher_merge_class_third_id,#teacherMergeClassThirdIdPlural#) + @} + @if(!isEmpty(universityFacultyInfo)){ + and t.university_faculty_info =#universityFacultyInfo# + @} + @if(!isEmpty(universitySystemInfo)){ + and t.university_system_info =#universitySystemInfo# + @} + @if(!isEmpty(teacherInfo)){ + and t.teacher_info =#teacherInfo# + @} + @if(!isEmpty(schoolClassInfo)){ + and t.school_class_info =#schoolClassInfo# + @} + @if(!isEmpty(teacherMergeClassThirdAddTime)){ + and t.teacher_merge_class_third_add_time =#teacherMergeClassThirdAddTime# + @} + @if(isEmpty(teacherMergeClassThirdStatus) && isEmpty(teacherMergeClassThirdStatusPlural)){ + and t.teacher_merge_class_third_status != 2 + @}else{ + @if(!isEmpty(teacherMergeClassThirdStatus)){ + and t.teacher_merge_class_third_status =#teacherMergeClassThirdStatus# + @}else if(!isEmpty(teacherMergeClassThirdStatusPlural)){ + and find_in_set(t.teacher_merge_class_third_status,#teacherMergeClassThirdStatusPlural#) + @} + @} + @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#) + @} + + + + +deleteTeachingManagementByIds +=== + +* 批量删除(假删除) + + update teaching_management set teacher_merge_class_third_status = 2 where find_in_set(teacher_merge_class_third_id,#ids#) + + +deleteByIds +=== + +* 批量删除(真删除) + + delete from teaching_management where find_in_set(teacher_merge_class_third_id,#ids#) + + + +getByIds +=== + +select * from teaching_management where find_in_set(teacher_merge_class_third_id,#ids#) + + +updateGivenByIds +=== + +* 批量更新指定字段,无论此字段是否有值 + + update teaching_management + set + @if(contain("universityFacultyInfo",_given)){ + @if(isEmpty(universityFacultyInfo)){ + university_faculty_info = null , + @}else{ + university_faculty_info = #universityFacultyInfo# , + @} + @} + @if(contain("universitySystemInfo",_given)){ + @if(isEmpty(universitySystemInfo)){ + university_system_info = null , + @}else{ + university_system_info = #universitySystemInfo# , + @} + @} + @if(contain("teacherInfo",_given)){ + @if(isEmpty(teacherInfo)){ + teacher_info = null , + @}else{ + teacher_info = #teacherInfo# , + @} + @} + @if(contain("schoolClassInfo",_given)){ + @if(isEmpty(schoolClassInfo)){ + school_class_info = null , + @}else{ + school_class_info = #schoolClassInfo# , + @} + @} + @if(contain("teacherMergeClassThirdAddTime",_given)){ + @if(isEmpty(teacherMergeClassThirdAddTime)){ + teacher_merge_class_third_add_time = null , + @}else{ + teacher_merge_class_third_add_time = #teacherMergeClassThirdAddTime# , + @} + @} + @if(contain("teacherMergeClassThirdStatus",_given)){ + @if(isEmpty(teacherMergeClassThirdStatus)){ + teacher_merge_class_third_status = null , + @}else{ + teacher_merge_class_third_status = #teacherMergeClassThirdStatus# , + @} + @} + @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# , + @} + @} + teacher_merge_class_third_id = teacher_merge_class_third_id + where find_in_set(teacher_merge_class_third_id,#teacherMergeClassThirdIdPlural#) + + + +getTeachingManagementValues +=== + +* 根据不为空的参数进行查询 + + select t.* + from teaching_management t + where 1=1 + @if(!isEmpty(teacherMergeClassThirdId)){ + and t.teacher_merge_class_third_id =#teacherMergeClassThirdId# + @} + @if(!isEmpty(universityFacultyInfo)){ + and t.university_faculty_info =#universityFacultyInfo# + @} + @if(!isEmpty(universitySystemInfo)){ + and t.university_system_info =#universitySystemInfo# + @} + @if(!isEmpty(teacherInfo)){ + and t.teacher_info =#teacherInfo# + @} + @if(!isEmpty(schoolClassInfo)){ + and t.school_class_info =#schoolClassInfo# + @} + @if(!isEmpty(teacherMergeClassThirdAddTime)){ + and t.teacher_merge_class_third_add_time =#teacherMergeClassThirdAddTime# + @} + @if(!isEmpty(teacherMergeClassThirdStatus)){ + and t.teacher_merge_class_third_status =#teacherMergeClassThirdStatus# + @}else{ + and t.teacher_merge_class_third_status != 2 + @} + @if(!isEmpty(userId)){ + and t.user_id =#userId# + @} + @if(!isEmpty(orgId)){ + and t.org_id =#orgId# + @} + + +getValuesByQuery +=== + +* 根据不为空的参数进行查询 + + select t.* + from teaching_management t + where 1=1 and #function("teachingManagement.query")# + @if(!isEmpty(teacherMergeClassThirdId)){ + and t.teacher_merge_class_third_id =#teacherMergeClassThirdId# + @} + @if(!isEmpty(teacherMergeClassThirdIdPlural)){ + and find_in_set(t.teacher_merge_class_third_id,#teacherMergeClassThirdIdPlural#) + @} + @if(!isEmpty(universityFacultyInfo)){ + and t.university_faculty_info =#universityFacultyInfo# + @} + @if(!isEmpty(universitySystemInfo)){ + and t.university_system_info =#universitySystemInfo# + @} + @if(!isEmpty(teacherInfo)){ + and t.teacher_info =#teacherInfo# + @} + @if(!isEmpty(schoolClassInfo)){ + and t.school_class_info =#schoolClassInfo# + @} + @if(!isEmpty(teacherMergeClassThirdAddTime)){ + and t.teacher_merge_class_third_add_time =#teacherMergeClassThirdAddTime# + @} + @if(isEmpty(teacherMergeClassThirdStatus) && isEmpty(teacherMergeClassThirdStatusPlural)){ + and t.teacher_merge_class_third_status != 2 + @}else{ + @if(!isEmpty(teacherMergeClassThirdStatus)){ + and t.teacher_merge_class_third_status =#teacherMergeClassThirdStatus# + @}else if(!isEmpty(teacherMergeClassThirdStatusPlural)){ + and find_in_set(t.teacher_merge_class_third_status,#teacherMergeClassThirdStatusPlural#) + @} + @} + @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 teaching_management t + where 1=1 + @if(!isEmpty(teacherMergeClassThirdId)){ + and t.teacher_merge_class_third_id =#teacherMergeClassThirdId# + @} + @if(!isEmpty(teacherMergeClassThirdIdPlural)){ + and find_in_set(t.teacher_merge_class_third_id,#teacherMergeClassThirdIdPlural#) + @} + @if(!isEmpty(universityFacultyInfo)){ + and t.university_faculty_info =#universityFacultyInfo# + @} + @if(!isEmpty(universitySystemInfo)){ + and t.university_system_info =#universitySystemInfo# + @} + @if(!isEmpty(teacherInfo)){ + and t.teacher_info =#teacherInfo# + @} + @if(!isEmpty(schoolClassInfo)){ + and t.school_class_info =#schoolClassInfo# + @} + @if(!isEmpty(teacherMergeClassThirdAddTime)){ + and t.teacher_merge_class_third_add_time =#teacherMergeClassThirdAddTime# + @} + @if(isEmpty(teacherMergeClassThirdStatus) && isEmpty(teacherMergeClassThirdStatusPlural)){ + and t.teacher_merge_class_third_status != 2 + @}else{ + @if(!isEmpty(teacherMergeClassThirdStatus)){ + and t.teacher_merge_class_third_status =#teacherMergeClassThirdStatus# + @}else if(!isEmpty(teacherMergeClassThirdStatusPlural)){ + and find_in_set(t.teacher_merge_class_third_status,#teacherMergeClassThirdStatusPlural#) + @} + @} + @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#) + @} + + + + +getExcelValues +=== + +* 根据不为空的参数进行查询导入需要的参数 + + SELECT * FROM ( + ( + select + MAX(LENGTH(t.university_faculty_info)) university_faculty_info, + MAX(LENGTH(t.university_system_info)) university_system_info, + MAX(LENGTH(t.teacher_info)) teacher_info, + MAX(LENGTH(t.school_class_info)) school_class_info, + MAX(LENGTH(t.teacher_merge_class_third_add_time)) teacher_merge_class_third_add_time, + MAX(LENGTH(t.teacher_merge_class_third_status)) teacher_merge_class_third_status, + from teaching_management t + where 1=1 and #function("teachingManagement.query")# + @if(!isEmpty(teacherMergeClassThirdId)){ + and t.teacher_merge_class_third_id =#teacherMergeClassThirdId# + @} + @if(!isEmpty(teacherMergeClassThirdIdPlural)){ + and find_in_set(t.teacher_merge_class_third_id,#teacherMergeClassThirdIdPlural#) + @} + @if(!isEmpty(universityFacultyInfo)){ + and t.university_faculty_info =#universityFacultyInfo# + @} + @if(!isEmpty(universitySystemInfo)){ + and t.university_system_info =#universitySystemInfo# + @} + @if(!isEmpty(teacherInfo)){ + and t.teacher_info =#teacherInfo# + @} + @if(!isEmpty(schoolClassInfo)){ + and t.school_class_info =#schoolClassInfo# + @} + @if(!isEmpty(teacherMergeClassThirdAddTime)){ + and t.teacher_merge_class_third_add_time =#teacherMergeClassThirdAddTime# + @} + @if(isEmpty(teacherMergeClassThirdStatus) && isEmpty(teacherMergeClassThirdStatusPlural)){ + and t.teacher_merge_class_third_status != 2 + @}else{ + @if(!isEmpty(teacherMergeClassThirdStatus)){ + and t.teacher_merge_class_third_status =#teacherMergeClassThirdStatus# + @}else if(!isEmpty(teacherMergeClassThirdStatusPlural)){ + and find_in_set(t.teacher_merge_class_third_status,#teacherMergeClassThirdStatusPlural#) + @} + @} + @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#) + @} + ) + UNION ALL + ( + select + t.university_faculty_info , + t.university_system_info , + t.teacher_info , + t.school_class_info , + t.teacher_merge_class_third_add_time , + t.teacher_merge_class_third_status , + from teaching_management t + where 1=1 and #function("teachingManagement.query")# + @if(!isEmpty(teacherMergeClassThirdId)){ + and t.teacher_merge_class_third_id =#teacherMergeClassThirdId# + @} + @if(!isEmpty(teacherMergeClassThirdIdPlural)){ + and find_in_set(t.teacher_merge_class_third_id,#teacherMergeClassThirdIdPlural#) + @} + @if(!isEmpty(universityFacultyInfo)){ + and t.university_faculty_info =#universityFacultyInfo# + @} + @if(!isEmpty(universitySystemInfo)){ + and t.university_system_info =#universitySystemInfo# + @} + @if(!isEmpty(teacherInfo)){ + and t.teacher_info =#teacherInfo# + @} + @if(!isEmpty(schoolClassInfo)){ + and t.school_class_info =#schoolClassInfo# + @} + @if(!isEmpty(teacherMergeClassThirdAddTime)){ + and t.teacher_merge_class_third_add_time =#teacherMergeClassThirdAddTime# + @} + @if(isEmpty(teacherMergeClassThirdStatus) && isEmpty(teacherMergeClassThirdStatusPlural)){ + and t.teacher_merge_class_third_status != 2 + @}else{ + @if(!isEmpty(teacherMergeClassThirdStatus)){ + and t.teacher_merge_class_third_status =#teacherMergeClassThirdStatus# + @}else if(!isEmpty(teacherMergeClassThirdStatusPlural)){ + and find_in_set(t.teacher_merge_class_third_status,#teacherMergeClassThirdStatusPlural#) + @} + @} + @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#) + @} + ) + )t + diff --git a/web/src/main/resources/static/js/jlw/teachingManagement/add.js b/web/src/main/resources/static/js/jlw/teachingManagement/add.js new file mode 100644 index 00000000..364ea5b5 --- /dev/null +++ b/web/src/main/resources/static/js/jlw/teachingManagement/add.js @@ -0,0 +1,38 @@ +layui.define([ 'form', 'laydate', 'table','teachingManagementApi'], function(exports) { + var form = layui.form; + var teachingManagementApi = layui.teachingManagementApi; + 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 teacherMergeClassThirdId = $("#addForm input[name='teacherMergeClassThirdId']").val(); + if(!$.isEmpty(teacherMergeClassThirdId)){ + teachingManagementApi.updateTeachingManagement($('#addForm'),function(){ + parent.window.dataReload(); + Common.info("更新成功"); + Lib.closeFrame(); + }); + }else{ + teachingManagementApi.addTeachingManagement($('#addForm'),function(){ + parent.window.dataReload(); + Common.info("添加成功"); + Lib.closeFrame(); + }); + } + + }); + }); + + $("#addButton-cancel").click(function(){ + Lib.closeFrame(); + }); + } + + } + exports('add',view); +}); diff --git a/web/src/main/resources/static/js/jlw/teachingManagement/del.js b/web/src/main/resources/static/js/jlw/teachingManagement/del.js new file mode 100644 index 00000000..64acf627 --- /dev/null +++ b/web/src/main/resources/static/js/jlw/teachingManagement/del.js @@ -0,0 +1,23 @@ +layui.define(['table', 'teachingManagementApi'], function(exports) { + var teachingManagementApi = layui.teachingManagementApi; + var table=layui.table; + var view = { + init:function(){ + }, + delBatch:function(){ + var data = Common.getMoreDataFromTable(table,"teachingManagementTable"); + if(data==null){ + return ; + } + Common.openConfirm("确认要删除这些授课管理?",function(){ + var ids =Common.concatBatchId(data,"teacherMergeClassThirdId"); + teachingManagementApi.del(ids,function(){ + Common.info("删除成功"); + dataReload(); + }) + }) + } + } + exports('del',view); + +}); \ No newline at end of file diff --git a/web/src/main/resources/static/js/jlw/teachingManagement/edit.js b/web/src/main/resources/static/js/jlw/teachingManagement/edit.js new file mode 100644 index 00000000..7a509ed3 --- /dev/null +++ b/web/src/main/resources/static/js/jlw/teachingManagement/edit.js @@ -0,0 +1,28 @@ +layui.define([ 'form', 'laydate', 'table','teachingManagementApi'], function(exports) { + var form = layui.form; + var teachingManagementApi = layui.teachingManagementApi; + var index = layui.index; + var view = { + init:function(){ + Lib.initGenrealForm($("#updateForm"),form); + this.initSubmit(); + }, + initSubmit:function(){ + $("#updateButton").click(function(){ + form.on('submit(form)', function(){ + teachingManagementApi.updateTeachingManagement($('#updateForm'),function(){ + parent.window.dataReload(); + Common.info("更新成功"); + Lib.closeFrame(); + }); + }); + }); + $("#updateButton-cancel").click(function(){ + Lib.closeFrame(); + }); + } + + } + exports('edit',view); + +}); \ No newline at end of file diff --git a/web/src/main/resources/static/js/jlw/teachingManagement/index.js b/web/src/main/resources/static/js/jlw/teachingManagement/index.js new file mode 100644 index 00000000..91a2c3e1 --- /dev/null +++ b/web/src/main/resources/static/js/jlw/teachingManagement/index.js @@ -0,0 +1,203 @@ +layui.define([ 'form', 'laydate', 'table' ], function(exports) { + var form = layui.form; + var laydate = layui.laydate; + var table = layui.table; + var teachingManagementTable = null; + var view ={ + init:function(){ + var that = this + this.initTable(); + this.initSearchForm(); + this.initToolBar(); + window.dataReload = function(){ + Lib.doSearchForm($("#searchForm"),teachingManagementTable) + that.initToolBar(); + } + }, + initTable:function(){ + var sx_ = localStorage.getItem("teachingManagementTable_field_"+Common.userInfoId); //筛选值显示、隐藏缓存 + if($.isEmpty(sx_)){sx_ = {};}else {sx_ = JSON.parse(sx_);} + teachingManagementTable = table.render({ + elem : '#teachingManagementTable', + height : Lib.getTableHeight(1), + cellMinWidth: 100, + method : 'post', + url : Common.ctxPath + '/jlw/teachingManagement/list.json' // 数据接口 + ,page : Lib.tablePage // 开启分页 + ,toolbar: '#toolbar_teachingManagement' //自定义头部左侧工具栏 + ,defaultToolbar: ['filter', 'print', 'exports'] //头部右侧工具栏 + ,limit : 10, + cols : [ [ // 表头 + { + type : 'checkbox', + + }, + /*{ + field : 'teacherMergeClassThirdId', + title : 'ID', + align:"center", + hideField :false, + hide:$.isEmpty(sx_['teacherMergeClassThirdId'])?false:sx_['teacherMergeClassThirdId'], + + width : 60, + },*/ + { + field : 'universityFacultyInfo', + title : '院系名称', + align:"center", + hideField :false, + hide:$.isEmpty(sx_['universityFacultyInfo'])?false:sx_['universityFacultyInfo'], + }, + { + field : 'universitySystemInfo', + title : '专业名称', + align:"center", + hideField :false, + hide:$.isEmpty(sx_['universitySystemInfo'])?false:sx_['universitySystemInfo'], + }, + { + field : 'teacherInfo', + title : '教师名称', + align:"center", + hideField :false, + hide:$.isEmpty(sx_['teacherInfo'])?false:sx_['teacherInfo'], + }, + { + field : 'schoolClassInfo', + title : '班级名称', + align:"center", + hideField :false, + hide:$.isEmpty(sx_['schoolClassInfo'])?false:sx_['schoolClassInfo'], + }, + { + field : 'teacherMergeClassThirdAddTime', + title : '创建时间', + align:"center", + hideField :false, + hide:$.isEmpty(sx_['teacherMergeClassThirdAddTime'])?false:sx_['teacherMergeClassThirdAddTime'], + }, + // { + // field : 'teacherMergeClassThirdStatusText', //数据字典类型为 global_status + // title : '状态 1正常 2删除', + // align:"center", + // hideField :false, + // hide:$.isEmpty(sx_['teacherMergeClassThirdStatusText'])?false:sx_['teacherMergeClassThirdStatusText'], + // }, + // { + // 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 = ''; + htm += ''; + return htm; + } + } + + ] ] + + }); + + table.on('checkbox(teachingManagementTable)', function(obj){ + var teachingManagement = obj.data; + if(obj.checked){ + //按钮逻辑Lib.buttonEnable() + }else{ + + } + }) + }, + + initSearchForm:function(){ + Lib.initSearchForm( $("#searchForm"),teachingManagementTable,form); + }, + + initToolBar:function(){ + toolbar = { + add: function () { + var url = "/jlw/teachingManagement/add.do"; + Common.openDlg(url,"授课管理管理>新增"); + }, + edit: function () { + var data = Common.getOneFromTable(table,"teachingManagementTable"); + if(data==null){ + return ; + } + var url = "/jlw/teachingManagement/add.do?teacherMergeClassThirdId="+data.teacherMergeClassThirdId; + Common.openDlg(url,"授课管理管理>"+data.teacherMergeClassThirdId+">编辑"); + }, + del: function () { + layui.use(['del'], function(){ + var delView = layui.del + delView.delBatch(); + }); + }, + search: function () { + Lib.doSearchForm($("#searchForm"), teachingManagementTable, 1); + view.initToolBar() + }, + refresh: function () { + searchForm.reset(); + Lib.doSearchForm($("#searchForm"), teachingManagementTable, 1); + view.initToolBar() + }, + exportDocument: function () { + layui.use([ 'teachingManagementApi' ], function() { + var teachingManagementApi = layui.teachingManagementApi + Common.openConfirm("确认要导出这些授课管理数据?", function() { + teachingManagementApi.exportExcel($("#searchForm"), function(fileId) { + Lib.download(fileId); + }) + }) + }); + }, + importDocument: function () { + var uploadUrl = Common.ctxPath+"/jlw/teachingManagement/importTemplate.json"; + //模板, + var templatePath= Common.ctxPath+"/jlw/teachingManagement/downloadTemplate.json"; + //公共的简单上传文件处理 + var url = "/core/file/simpleUpload.do?uploadUrl="+uploadUrl+"&templatePath="+templatePath; + Common.openDlg(url, "授课管理管理>上传"); + } + } + //触发事件 + $('.ext-toolbar').on('click', function() { + var type = $(this).data('type'); + toolbar[type] ? toolbar[type].call(this) : ''; + }); + + }, initTableTool: table.on('tool(teachingManagementTable)', function (obj) { + var data = obj.data; + if (obj.event === 'edit') { + var url = "/jlw/teachingManagement/add.do?teacherMergeClassThirdId="+data.teacherMergeClassThirdId; + Common.openDlg(url,"授课管理管理>"+data.teacherMergeClassThirdId+">编辑"); + }else if(obj.event === "del"){ + layer.confirm('是否确定删除该信息?', function (index) { + var ret = Common.postAjax("/jlw/teachingManagement/delete.json",{ids:data.teacherMergeClassThirdId}); + 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); + +}); diff --git a/web/src/main/resources/static/js/jlw/teachingManagement/teachingManagementApi.js b/web/src/main/resources/static/js/jlw/teachingManagement/teachingManagementApi.js new file mode 100644 index 00000000..377d829a --- /dev/null +++ b/web/src/main/resources/static/js/jlw/teachingManagement/teachingManagementApi.js @@ -0,0 +1,26 @@ +/*访问后台的代码*/ +layui.define([], function(exports) { + var api={ + updateTeachingManagement:function(form,callback){ + Lib.submitForm("/jlw/teachingManagement/edit.json",form,{},callback) + }, + addTeachingManagement:function(form,callback){ + Lib.submitForm("/jlw/teachingManagement/add.json",form,{},callback) + }, + del:function(ids,callback){ + Common.post("/jlw/teachingManagement/delete.json",{"ids":ids},function(){ + callback(); + }) + } + , + exportExcel:function(form,callback){ + var formPara = form.serializeJson(); + Common.downLoad("/jlw/teachingManagement/excel/export.json", formPara, 'POST') + // Common.post("/jlw/teachingManagement/excel/export.json", formPara, function(fileId) { + // callback(fileId); + // }) + } + + }; + exports('teachingManagementApi',api); +}); \ No newline at end of file diff --git a/web/src/main/resources/templates/jlw/teachingManagement/add.html b/web/src/main/resources/templates/jlw/teachingManagement/add.html new file mode 100644 index 00000000..9dfecdf6 --- /dev/null +++ b/web/src/main/resources/templates/jlw/teachingManagement/add.html @@ -0,0 +1,79 @@ + + +
+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ + + + + + diff --git a/web/src/main/resources/templates/jlw/teachingManagement/edit.html b/web/src/main/resources/templates/jlw/teachingManagement/edit.html new file mode 100644 index 00000000..d4cc5bf9 --- /dev/null +++ b/web/src/main/resources/templates/jlw/teachingManagement/edit.html @@ -0,0 +1,79 @@ + + +
+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ + + + + + diff --git a/web/src/main/resources/templates/jlw/teachingManagement/index.html b/web/src/main/resources/templates/jlw/teachingManagement/index.html new file mode 100644 index 00000000..c778dcc6 --- /dev/null +++ b/web/src/main/resources/templates/jlw/teachingManagement/index.html @@ -0,0 +1,31 @@ + + + +
+ + + +