1、授课管理

beetlsql3-dev
wgf 2 years ago
parent 62d3df6162
commit 106fcceefa

@ -1,17 +1,19 @@
package com.ibeetl.jlw.service;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.jlw.util.ToolUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
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.dao.*;
import com.ibeetl.jlw.entity.*;
import com.ibeetl.jlw.web.query.TeachingManagementQuery;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
@ -39,34 +41,40 @@ import static com.ibeetl.admin.core.util.ExcelUtil.getCellFormatValue;
@Service
@Transactional
@Validated
public class TeachingManagementService extends CoreBaseService<TeachingManagement>{
public class TeachingManagementService extends CoreBaseService<TeachingManagement> {
@Autowired private TeachingManagementDao teachingManagementDao;
@Autowired
private TeachingManagementDao teachingManagementDao;
@Autowired
private UniversityFacultyDao universityFacultyDao;
public PageQuery<TeachingManagement>queryByCondition(PageQuery query){
PageQuery ret = teachingManagementDao.queryByCondition(query);
@Autowired
private UniversitySystemDao universitySystemDao;
public PageQuery<TeachingManagement> queryByCondition(PageQuery query) {
PageQuery ret = teachingManagementDao.queryByCondition(query);
queryListAfter(ret.getList());
return ret;
}
public PageQuery<TeachingManagement>queryByConditionQuery(PageQuery query){
PageQuery ret = teachingManagementDao.queryByConditionQuery(query);
public PageQuery<TeachingManagement> queryByConditionQuery(PageQuery query) {
PageQuery ret = teachingManagementDao.queryByConditionQuery(query);
queryListAfter(ret.getList());
return ret;
}
public void deleteByList(List list){
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?"":",");
for (int i = 0; null != list && i < list.size(); i++) {
ids += list.get(i).toString() + (i == list.size() - 1 ? "" : ",");
}
if(StringUtils.isNotBlank(ids)){
if (StringUtils.isNotBlank(ids)) {
teachingManagementDao.deleteByIds(ids);
}
}
public void deleteTeachingManagement(String ids){
public void deleteTeachingManagement(String ids) {
try {
teachingManagementDao.deleteTeachingManagementByIds(ids);
} catch (Exception e) {
@ -74,7 +82,7 @@ public class TeachingManagementService extends CoreBaseService<TeachingManagemen
}
}
public String addAll(TeachingManagementQuery teachingManagementQuery){
public String addAll(TeachingManagementQuery teachingManagementQuery) {
String msg = "";
List<TeachingManagement> teachingManagementList = new ArrayList<>();
try {
@ -82,11 +90,12 @@ public class TeachingManagementService extends CoreBaseService<TeachingManagemen
} catch (Exception e) {
try {
teachingManagementList.add(JSONObject.parseObject(teachingManagementQuery.getTeachingManagementJsonStr(), TeachingManagement.class));
} catch (Exception e1) {}
} catch (Exception e1) {
}
}
ToolUtils.deleteNullList(teachingManagementList);
if(null != teachingManagementList && teachingManagementList.size()>0){
for(int i=0;i<teachingManagementList.size();i++){
if (null != teachingManagementList && teachingManagementList.size() > 0) {
for (int i = 0; i < teachingManagementList.size(); i++) {
TeachingManagement teachingManagement = teachingManagementList.get(i);
teachingManagement.setUserId(teachingManagementQuery.getUserId());
teachingManagement.setOrgId(teachingManagementQuery.getOrgId());
@ -96,89 +105,159 @@ public class TeachingManagementService extends CoreBaseService<TeachingManagemen
return msg;
}
public JsonResult add(TeachingManagementQuery teachingManagementQuery){
String msg = "";
TeachingManagement teachingManagement = teachingManagementQuery.pojo();
teachingManagementDao.insert(teachingManagement);
teachingManagementQuery.setTeacherMergeClassThirdId(teachingManagement.getTeacherMergeClassThirdId());
public JsonResult add(TeachingManagementQuery teachingManagementQuery) {
if (ObjectUtil.isEmpty(teachingManagementQuery.getUniversityFacultyInfo())) {
return JsonResult.failMessage("请选择所属院系");
}
UniversityFaculty universityFaculty = universityFacultyDao.getSQLManager()
.lambdaQuery(UniversityFaculty.class)
.andEq(UniversityFaculty::getUniversityFacultyId, teachingManagementQuery.getUniversityFacultyInfo()).single();
if (ObjectUtil.isEmpty(universityFaculty)) {
return JsonResult.failMessage("查询不到所属院系");
}
if (ObjectUtil.isEmpty(teachingManagementQuery.getUniversitySystemInfo())) {
return JsonResult.failMessage("请选择所属院系");
}
UniversitySystem universitySystem = universitySystemDao.getSQLManager()
.lambdaQuery(UniversitySystem.class)
.andEq(UniversitySystem::getUniversitySystemId, teachingManagementQuery.getUniversitySystemInfo()).single();
if (ObjectUtil.isEmpty(universitySystem)) {
return JsonResult.failMessage("查询不到所属院系");
}
List<TeachingManagement> teacherBoundClassList = JSONObject.parseObject(teachingManagementQuery.getTeacherBoundClass(), new TypeReference<List<TeachingManagement>>() {
});
if (CollectionUtil.isEmpty(teacherBoundClassList)) {
return JsonResult.failMessage("请选择老师绑定班级");
}
List<TeachingManagement> teachingManagementList = new ArrayList<>();
for (TeachingManagement teacherBoundClass : teacherBoundClassList) {
TeachingManagement teachingManagement = new TeachingManagement();
teachingManagement.setUniversityFacultyInfo(teachingManagementQuery.getUniversityFacultyInfo());
teachingManagement.setUniversitySystemInfo(teachingManagementQuery.getUniversitySystemInfo());
teachingManagement.setTeacherInfo(teacherBoundClass.getTeacherInfo());
teachingManagement.setSchoolClassInfo(teacherBoundClass.getSchoolClassInfo());
teachingManagement.setTeacherMergeClassThirdAddTime(new Date());
teachingManagement.setTeacherMergeClassThirdStatus(1);
teachingManagement.setOrgId(teachingManagementQuery.getOrgId());
teachingManagement.setUserId(teachingManagementQuery.getUserId());
teachingManagementList.add(teachingManagement);
}
if (CollectionUtil.isNotEmpty(teachingManagementList)){
teachingManagementDao.insertBatch(teachingManagementList);
}
JsonResult jsonResult = new JsonResult();
jsonResult.setData(teachingManagement.getTeacherMergeClassThirdId());//自增的ID丢进去
jsonResult.setCode(JsonReturnCode.SUCCESS.getCode());
jsonResult.setMsg(msg);
jsonResult.setMsg("新增成功");
// String msg = "";
// teachingManagementQuery.setTeacherMergeClassThirdAddTime(new Date());
// TeachingManagement teachingManagement = teachingManagementQuery.pojo();
// teachingManagementDao.insert(teachingManagement);
// teachingManagementQuery.setTeacherMergeClassThirdId(teachingManagement.getTeacherMergeClassThirdId());
// JsonResult jsonResult = new JsonResult();
// jsonResult.setData(teachingManagement.getTeacherMergeClassThirdId());//自增的ID丢进去
// jsonResult.setCode(JsonReturnCode.SUCCESS.getCode());
// jsonResult.setMsg(msg);
return jsonResult;
}
public String edit(TeachingManagementQuery teachingManagementQuery){
String msg = "";
TeachingManagement teachingManagement = teachingManagementQuery.pojo();
public String edit(TeachingManagementQuery teachingManagementQuery) {
List<TeachingManagement> teacherBoundClassList = JSONObject.parseObject(teachingManagementQuery.getTeacherBoundClass(), new TypeReference<List<TeachingManagement>>() {
});
if (CollectionUtil.isEmpty(teacherBoundClassList)) {
return "请选择老师绑定班级";
}
TeachingManagement teachingManagement = new TeachingManagement();
teachingManagement.setTeacherMergeClassThirdId(teachingManagementQuery.getTeacherMergeClassThirdId());
for (TeachingManagement management : teacherBoundClassList) {
teachingManagement.setSchoolClassInfo(management.getSchoolClassInfo());
}
teachingManagementDao.updateTemplateById(teachingManagement);
String msg = "";
// TeachingManagement teachingManagement = teachingManagementQuery.pojo();
// teachingManagementDao.updateTemplateById(teachingManagement);
return msg;
}
public String updateGivenByIds(TeachingManagementQuery teachingManagementQuery){
public String updateGivenByIds(TeachingManagementQuery teachingManagementQuery) {
String msg = "";
if(StringUtils.isNotBlank(teachingManagementQuery.get_given())){
if (StringUtils.isNotBlank(teachingManagementQuery.get_given())) {
boolean flag = teachingManagementDao.updateGivenByIds(teachingManagementQuery) > 0;
if(!flag){
if (!flag) {
msg = "更新指定参数失败";
}
}else{
} else {
msg = "指定参数为空";
}
return msg;
}
public List<TeachingManagement> getValues (Object paras){
public List<TeachingManagement> getValues(Object paras) {
return sqlManager.select(SqlId.of("jlw.teachingManagement.getTeachingManagementValues"), TeachingManagement.class, paras);
}
public List<TeachingManagement> getValuesByQuery (TeachingManagementQuery teachingManagementQuery){
public List<TeachingManagement> getValuesByQuery(TeachingManagementQuery teachingManagementQuery) {
return teachingManagementDao.getValuesByQuery(teachingManagementQuery);
}
public List<TeachingManagement> getValuesByQueryNotWithPermission (TeachingManagementQuery teachingManagementQuery){
public List<TeachingManagement> getValuesByQueryNotWithPermission(TeachingManagementQuery teachingManagementQuery) {
return teachingManagementDao.getValuesByQueryNotWithPermission(teachingManagementQuery);
}
public TeachingManagement getInfo (Long teacherMergeClassThirdId){
public TeachingManagement getInfo(Long teacherMergeClassThirdId) {
TeachingManagementQuery teachingManagementQuery = new TeachingManagementQuery();
teachingManagementQuery.setTeacherMergeClassThirdId(teacherMergeClassThirdId);
teachingManagementQuery.setTeacherMergeClassThirdStatusPlural("1,2");//需要根据实际情况来
List<TeachingManagement> list = teachingManagementDao.getValuesByQuery(teachingManagementQuery);
if(null != list && list.size()>0){
if (null != list && list.size() > 0) {
return list.get(0);
}else{
} else {
return null;
}
}
public TeachingManagement getInfo (TeachingManagementQuery teachingManagementQuery){
public TeachingManagement getInfo(TeachingManagementQuery teachingManagementQuery) {
List<TeachingManagement> list = teachingManagementDao.getValuesByQuery(teachingManagementQuery);
if(null != list && list.size()>0){
if (null != list && list.size() > 0) {
return list.get(0);
}else{
} else {
return null;
}
}
public JsonResult importTemplate(List<FileEntity> fileEntityList,List<Long>list,CoreUser coreUser){
List<String[]>errMsg = new ArrayList<>();
String msg ="";
public JsonResult importTemplate(List<FileEntity> fileEntityList, List<Long> list, CoreUser coreUser) {
List<String[]> errMsg = new ArrayList<>();
String msg = "";
int count = 0;
Date date = new Date();
for(int item=0;null != fileEntityList && item<fileEntityList.size();item++){
for (int item = 0; null != fileEntityList && item < fileEntityList.size(); item++) {
FileEntity fileEntity = fileEntityList.get(item);
if(null != fileEntity){
if (null != fileEntity) {
File file = new File(fileEntity.getAbsoluteUrl());
if(file.exists() && file.isFile() && file.canRead() && ToolUtils.findInSet("xls,xlsx",fileEntity.getFormat())){
if (file.exists() && file.isFile() && file.canRead() && ToolUtils.findInSet("xls,xlsx", fileEntity.getFormat())) {
Workbook wb = null;
InputStream is = null;
try {
is = new FileInputStream(fileEntity.getAbsoluteUrl());
if("xls".equals(fileEntity.getFormat())){
if ("xls".equals(fileEntity.getFormat())) {
wb = new HSSFWorkbook(is);
}else if("xlsx".equals(fileEntity.getFormat())){
} else if ("xlsx".equals(fileEntity.getFormat())) {
wb = new XSSFWorkbook(is);
}
} catch (FileNotFoundException e) {
@ -187,13 +266,13 @@ public class TeachingManagementService extends CoreBaseService<TeachingManagemen
e.printStackTrace();
}
try {
if(null != is){
is.close();
}
}catch (Exception e){
if (null != is) {
is.close();
}
} catch (Exception e) {
e.printStackTrace();
}
if(wb != null){
if (wb != null) {
//获取Sheet1
Sheet sheet = wb.getSheet("Sheet1");
//获取最大行数
@ -204,45 +283,45 @@ public class TeachingManagementService extends CoreBaseService<TeachingManagemen
int colNum = firstRow.getPhysicalNumberOfCells();
String columns[] = {
"院系信息",
"专业信息",
"教师信息",
"班级信息,多个逗号隔开",
"创建时间",
"状态 1正常 2删除",
"院系信息",
"专业信息",
"教师信息",
"班级信息,多个逗号隔开",
"创建时间",
"状态 1正常 2删除",
};
Map<String,Integer> map = new HashMap<>();//获取需要的表头的列
Map<String, Integer> map = new HashMap<>();//获取需要的表头的列
//从第一列找到需要的表头
for (int i=0; i<colNum; i++){
for (int i = 0; i < colNum; i++) {
String cellData = getCellFormatValue(firstRow.getCell(i));
for(int j=0;j<columns.length;j++){
if(columns[j].equals(cellData)){
map.put(columns[j],i);
for (int j = 0; j < columns.length; j++) {
if (columns[j].equals(cellData)) {
map.put(columns[j], i);
}
}
}
//验证所需要的表头是否全
Integer flag = 0;
for(int i=0;i<columns.length;i++){
if(null != map.get(columns[i])){
flag ++;
for (int i = 0; i < columns.length; i++) {
if (null != map.get(columns[i])) {
flag++;
}
}
if(flag != columns.length){
if (flag != columns.length) {
String str = " ";
for(int i=0;i<columns.length;i++){
str += "\""+columns[i]+"\""+(i == columns.length-1?"":", ");
for (int i = 0; i < columns.length; i++) {
str += "\"" + columns[i] + "\"" + (i == columns.length - 1 ? "" : ", ");
}
return JsonResult.failMessage("导入失败,表格表头应包含"+str);
return JsonResult.failMessage("导入失败,表格表头应包含" + str);
}
for (int i = 1; i<rowNum; i++) {
for (int i = 1; i < rowNum; i++) {
Row row = sheet.getRow(i);
if(null == row){
errMsg.add(new String[]{"第"+(i+1)+"数据为空"});
if (null == row) {
errMsg.add(new String[]{"第" + (i + 1) + "数据为空"});
continue;
}
@ -253,43 +332,37 @@ public class TeachingManagementService extends CoreBaseService<TeachingManagemen
String teacherMergeClassThirdAddTime = getCellFormatValue(row.getCell(map.get(columns[4])));
String teacherMergeClassThirdStatus = getCellFormatValue(row.getCell(map.get(columns[5])));
//TODO 判断(如重复等复杂判断要额外写)
if(StringUtils.isBlank(universityFacultyInfo)){
errMsg.add(new String[]{"第"+ToolUtils.numberToLetter(map.get(columns[0])+1)+"列,第"+(i+1)+"行院系信息为空"});
if (StringUtils.isBlank(universityFacultyInfo)) {
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[0]) + 1) + "列,第" + (i + 1) + "行院系信息为空"});
continue;
}else
if(StringUtils.isBlank(universitySystemInfo)){
errMsg.add(new String[]{"第"+ToolUtils.numberToLetter(map.get(columns[1])+1)+"列,第"+(i+1)+"行专业信息为空"});
} else if (StringUtils.isBlank(universitySystemInfo)) {
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[1]) + 1) + "列,第" + (i + 1) + "行专业信息为空"});
continue;
}else
if(StringUtils.isBlank(teacherInfo)){
errMsg.add(new String[]{"第"+ToolUtils.numberToLetter(map.get(columns[2])+1)+"列,第"+(i+1)+"行教师信息为空"});
} else if (StringUtils.isBlank(teacherInfo)) {
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[2]) + 1) + "列,第" + (i + 1) + "行教师信息为空"});
continue;
}else
if(StringUtils.isBlank(schoolClassInfo)){
errMsg.add(new String[]{"第"+ToolUtils.numberToLetter(map.get(columns[3])+1)+"列,第"+(i+1)+"行班级信息,多个逗号隔开为空"});
} else if (StringUtils.isBlank(schoolClassInfo)) {
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[3]) + 1) + "列,第" + (i + 1) + "行班级信息,多个逗号隔开为空"});
continue;
}else
if(StringUtils.isBlank(teacherMergeClassThirdAddTime)){
errMsg.add(new String[]{"第"+ToolUtils.numberToLetter(map.get(columns[4])+1)+"列,第"+(i+1)+"行创建时间为空"});
} else if (StringUtils.isBlank(teacherMergeClassThirdAddTime)) {
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[4]) + 1) + "列,第" + (i + 1) + "行创建时间为空"});
continue;
}else
if(StringUtils.isBlank(teacherMergeClassThirdStatus)){
errMsg.add(new String[]{"第"+ToolUtils.numberToLetter(map.get(columns[5])+1)+"列,第"+(i+1)+"行状态 1正常 2删除为空"});
} else if (StringUtils.isBlank(teacherMergeClassThirdStatus)) {
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[5]) + 1) + "列,第" + (i + 1) + "行状态 1正常 2删除为空"});
continue;
}else
{
//TODO 保存
TeachingManagement teachingManagement = new TeachingManagement();
teachingManagement.setUniversityFacultyInfo(universityFacultyInfo);
teachingManagement.setUniversitySystemInfo(universitySystemInfo);
teachingManagement.setTeacherInfo(teacherInfo);
teachingManagement.setSchoolClassInfo(schoolClassInfo);
teachingManagement.setTeacherMergeClassThirdAddTime(TimeTool.getTime(teacherMergeClassThirdAddTime));
teachingManagement.setTeacherMergeClassThirdStatus(Integer.parseInt(teacherMergeClassThirdStatus));
teachingManagement.setUserId(coreUser.getId());
teachingManagement.setOrgId(coreUser.getOrgId());
count++;
} else {
//TODO 保存
TeachingManagement teachingManagement = new TeachingManagement();
teachingManagement.setUniversityFacultyInfo(universityFacultyInfo);
teachingManagement.setUniversitySystemInfo(universitySystemInfo);
teachingManagement.setTeacherInfo(teacherInfo);
teachingManagement.setSchoolClassInfo(schoolClassInfo);
teachingManagement.setTeacherMergeClassThirdAddTime(TimeTool.getTime(teacherMergeClassThirdAddTime));
teachingManagement.setTeacherMergeClassThirdStatus(Integer.parseInt(teacherMergeClassThirdStatus));
teachingManagement.setUserId(coreUser.getId());
teachingManagement.setOrgId(coreUser.getOrgId());
count++;
}
}
}
@ -297,13 +370,13 @@ public class TeachingManagementService extends CoreBaseService<TeachingManagemen
}
}
JsonResult jsonResult = new JsonResult();
jsonResult.setCode(count>0?JsonReturnCode.SUCCESS.getCode():JsonReturnCode.FAIL.getCode());
jsonResult.setCode(count > 0 ? JsonReturnCode.SUCCESS.getCode() : JsonReturnCode.FAIL.getCode());
jsonResult.setData(errMsg);
jsonResult.setMsg((count>0?"导入成功,共导入"+count+"条":"导入失败")+(StringUtils.isNotBlank(msg)?"<br>"+msg:""));
jsonResult.setMsg((count > 0 ? "导入成功,共导入" + count + "条" : "导入失败") + (StringUtils.isNotBlank(msg) ? "<br>" + msg : ""));
return jsonResult;
}
public List<Map<String,Object>> getExcelValues (TeachingManagementQuery teachingManagementQuery){
public List<Map<String, Object>> getExcelValues(TeachingManagementQuery teachingManagementQuery) {
return teachingManagementDao.getExcelValues(teachingManagementQuery);
}

@ -50,6 +50,8 @@ public class TeachingManagementQuery extends PageParam {
private String _given;//指定更新的特定字段,多个逗号隔开
private String teacherBoundClass;
public Long getTeacherMergeClassThirdId(){
return teacherMergeClassThirdId;
}
@ -157,4 +159,12 @@ public class TeachingManagementQuery extends PageParam {
public void setTeacherMergeClassThirdStatusPlural(String teacherMergeClassThirdStatusPlural) {
this.teacherMergeClassThirdStatusPlural = teacherMergeClassThirdStatusPlural;
}
public String getTeacherBoundClass() {
return teacherBoundClass;
}
public void setTeacherBoundClass(String teacherBoundClass) {
this.teacherBoundClass = teacherBoundClass;
}
}

@ -4,9 +4,17 @@ queryByCondition
select
@pageTag(){
t.*
t.*,
la.university_faculty_name AS universityFacultyName,
lb.university_system_name AS universitySystemName,
GROUP_CONCAT(lc.class_name) AS className,
ld.teacher_name AS teacherName
@}
from teaching_management t
LEFT JOIN university_faculty la ON la.university_faculty_id = t.university_faculty_info
LEFT JOIN university_system lb ON lb.university_system_id = t.university_system_info
LEFT JOIN school_class lc ON FIND_IN_SET(lc.class_id,t.school_class_info)
LEFT JOIN teacher ld ON ld.teacher_id = t.teacher_info
where 1=1
@//数据权限该sql语句功能点,如果不考虑数据权限,可以删除此行
and #function("teachingManagement.query")#
@ -23,7 +31,7 @@ queryByCondition
and t.university_system_info =#universitySystemInfo#
@}
@if(!isEmpty(teacherInfo)){
and t.teacher_info =#teacherInfo#
and ld.teacher_name =#teacherInfo#
@}
@if(!isEmpty(schoolClassInfo)){
and t.school_class_info =#schoolClassInfo#
@ -52,7 +60,10 @@ queryByCondition
@if(!isEmpty(orgIdPlural)){
and find_in_set(t.org_id,#orgIdPlural#)
@}
@pageIgnoreTag(){
GROUP BY
t.teacher_merge_class_third_id
@}
queryByConditionQuery
===

Loading…
Cancel
Save