Commit bbc23668 by xuwenhao

新增实验室模块

parent 3b47933a
package yangtz.cs.liu.campus.controller.schoolLab; package yangtz.cs.liu.campus.controller.schoolLab;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.List; import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -12,14 +20,24 @@ import com.ruoyi.common.annotation.Log; ...@@ -12,14 +20,24 @@ import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import org.springframework.web.multipart.MultipartFile;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolExperimentPlan; import yangtz.cs.liu.campus.domain.schoolLab.SchoolExperimentPlan;
import yangtz.cs.liu.campus.domain.schoolgrade.SchoolGrade; import yangtz.cs.liu.campus.domain.schoolgrade.SchoolGrade;
import yangtz.cs.liu.campus.domain.schoolgrade.SchoolGradeMentor;
import yangtz.cs.liu.campus.mapper.schoolLab.SchoolExperimentPlanMapper;
import yangtz.cs.liu.campus.mapper.schoolgrade.SchoolGradeMapper;
import yangtz.cs.liu.campus.mapper.schoolgrade.SchoolGradeMentorMapper;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolExperimentPlanService; import yangtz.cs.liu.campus.service.schoolLab.ISchoolExperimentPlanService;
import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolTeacherLabApplyService;
import yangtz.cs.liu.campus.service.schoolgrade.ISchoolGradeMentorService;
import yangtz.cs.liu.campus.service.schoolgrade.ISchoolGradeService; import yangtz.cs.liu.campus.service.schoolgrade.ISchoolGradeService;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolExperimentPlanMbVo;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolExperimentPlanVo; import yangtz.cs.liu.campus.vo.schoolLab.SchoolExperimentPlanVo;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolTeacherLabApplyVo;
import yangtz.cs.liu.campus.vo.schoolgrade.GradeTreeSelect; import yangtz.cs.liu.campus.vo.schoolgrade.GradeTreeSelect;
import yangtz.cs.liu.campus.vo.student.SchoolStudentVO;
import static yangtz.cs.liu.campus.constant.GradeConstant.NEWTERM; import static yangtz.cs.liu.campus.constant.GradeConstant.NEWTERM;
import static yangtz.cs.liu.campus.constant.GradeConstant.UNNEW; import static yangtz.cs.liu.campus.constant.GradeConstant.UNNEW;
...@@ -36,6 +54,14 @@ public class SchoolExperimentPlanController extends BaseController ...@@ -36,6 +54,14 @@ public class SchoolExperimentPlanController extends BaseController
{ {
@Autowired @Autowired
private ISchoolExperimentPlanService schoolExperimentPlanService; private ISchoolExperimentPlanService schoolExperimentPlanService;
@Autowired
private ISchoolGradeService schoolGradeService;
@Autowired
private ISchoolTeacherLabApplyService schoolTeacherLabApplyService;
@Autowired
private ISchoolGradeService gradeService;
@Autowired
private ISchoolGradeMentorService schoolGradeMentorService;
/** /**
* 查询实验计划列表 * 查询实验计划列表
...@@ -43,8 +69,83 @@ public class SchoolExperimentPlanController extends BaseController ...@@ -43,8 +69,83 @@ public class SchoolExperimentPlanController extends BaseController
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(SchoolExperimentPlanVo schoolExperimentPlanVo) public TableDataInfo list(SchoolExperimentPlanVo schoolExperimentPlanVo)
{ {
SysUser user = SecurityUtils.getLoginUser().getUser();
//如果是管理员,查询全部列表
if (user.isAdmin()){
startPage(); startPage();
List<SchoolExperimentPlanVo> list = schoolExperimentPlanService.selectSchoolExperimentPlanList(schoolExperimentPlanVo); List<SchoolExperimentPlanVo> list = schoolExperimentPlanService.selectSchoolExperimentPlanList(schoolExperimentPlanVo);
list.forEach(list1 -> {
String semester = "";
if (list1.getSemester().equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
list1.setSchoolYearSemester(list1.getSchoolYear() + semester);
list1.setPlannedTime(list1.getPlannedStartTime() + "至" + list1.getPlannedEndTime());
});
return getDataTable(list);
}
//获取最新学年
int schoolYear = gradeService.isNewSchoolYear();
//教师级部
List<Map<String, Object>> gradeList = schoolExperimentPlanService.getGrade(schoolYear,user.getUserId());
if (StringUtils.isNull(gradeList) || gradeList.size() == 0) {
throw new ServiceException("没有您所在的级部信息");
}
//级部id集合
List<Long> gradeIds = new ArrayList<>();
gradeList.forEach(gradeList1 -> {
Object id = gradeList1.get("id");
Long gradeId = Long.valueOf(String.valueOf(id));
gradeIds.add(gradeId);
});
//查询级部成员信息
LambdaQueryWrapper<SchoolGradeMentor> wrapper = new LambdaQueryWrapper<>();
wrapper.in(SchoolGradeMentor::getGradeId,gradeIds)
.eq(SchoolGradeMentor::getTeacherId,user.getUserId());
List<SchoolGradeMentor> schoolGradeMentors = schoolGradeMentorService.list(wrapper);
schoolExperimentPlanVo.setGradeIds(gradeIds);
startPage();
List<SchoolExperimentPlanVo> list = schoolExperimentPlanService.selectSchoolExperimentPlanList(schoolExperimentPlanVo);
List<SchoolExperimentPlanVo> listNew = new ArrayList<>();
//去除用户所在级部和所在学科组不匹配的数据
if (StringUtils.isNotNull(schoolGradeMentors)){
for (SchoolExperimentPlanVo experimentPlanVo : list) {
for (SchoolGradeMentor schoolGradeMentor : schoolGradeMentors) {
if (schoolGradeMentor.getGradeId().equals(experimentPlanVo.getGradeId())){
if (StringUtils.isNotBlank(schoolGradeMentor.getSubGroup())){
if (!(schoolGradeMentor.getSubGroup().equals(experimentPlanVo.getSub()))){
listNew.add(experimentPlanVo);
}
}
}
}
}
}
if (listNew.size() > 0){
for (SchoolExperimentPlanVo experimentPlanVo : listNew) {
list.remove(experimentPlanVo);
}
}
list.forEach(list1 -> {
String semester = "";
if (list1.getSemester().equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
list1.setSchoolYearSemester(list1.getSchoolYear() + semester);
list1.setPlannedTime(list1.getPlannedStartTime() + "至" + list1.getPlannedEndTime());
});
return getDataTable(list); return getDataTable(list);
} }
...@@ -66,7 +167,16 @@ public class SchoolExperimentPlanController extends BaseController ...@@ -66,7 +167,16 @@ public class SchoolExperimentPlanController extends BaseController
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) public AjaxResult getInfo(@PathVariable("id") Long id)
{ {
return AjaxResult.success(schoolExperimentPlanService.selectSchoolExperimentPlanById(id)); SchoolExperimentPlanVo schoolExperimentPlanVo = schoolExperimentPlanService.selectSchoolExperimentPlanById(id);
String semester = "";
if (schoolExperimentPlanVo.getSemester().equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
schoolExperimentPlanVo.setSchoolYearSemester(schoolExperimentPlanVo.getSchoolYear() + semester);
schoolExperimentPlanVo.setPlannedTime(schoolExperimentPlanVo.getPlannedStartTime() + "至" + schoolExperimentPlanVo.getPlannedEndTime());
return AjaxResult.success(schoolExperimentPlanVo);
} }
/** /**
...@@ -104,7 +214,7 @@ public class SchoolExperimentPlanController extends BaseController ...@@ -104,7 +214,7 @@ public class SchoolExperimentPlanController extends BaseController
*/ */
@GetMapping("/getGrade/{schoolYear}") @GetMapping("/getGrade/{schoolYear}")
public AjaxResult getGrade(@PathVariable("schoolYear") int schoolYear){ public AjaxResult getGrade(@PathVariable("schoolYear") int schoolYear){
return AjaxResult.success(schoolExperimentPlanService.getGrade(schoolYear)); return AjaxResult.success(schoolExperimentPlanService.getGrade(schoolYear,null));
} }
/** /**
...@@ -116,14 +226,13 @@ public class SchoolExperimentPlanController extends BaseController ...@@ -116,14 +226,13 @@ public class SchoolExperimentPlanController extends BaseController
} }
/** /**
* 获取当前学期 * 获取当前学年+学
*/ */
@GetMapping("/getSemester") @GetMapping("/getSemester")
public AjaxResult getSemester(){ public AjaxResult getSemester(){
AjaxResult ajaxResult = AjaxResult.success(); AjaxResult ajaxResult = AjaxResult.success();
Calendar cal = Calendar.getInstance(); Calendar cal = Calendar.getInstance();
//获取当前年月 //获取当前年月
int nowYear = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) + 1; int month = cal.get(Calendar.MONTH) + 1;
//设置当前学期 //设置当前学期
String term = "1"; String term = "1";
...@@ -132,7 +241,289 @@ public class SchoolExperimentPlanController extends BaseController ...@@ -132,7 +241,289 @@ public class SchoolExperimentPlanController extends BaseController
if (month >= 2 && month < 8) { if (month >= 2 && month < 8) {
term = "2"; term = "2";
} }
int schoolYear = schoolGradeService.isNewSchoolYear();
ajaxResult.put("semester",term); ajaxResult.put("semester",term);
ajaxResult.put("schoolYear",schoolYear);
return ajaxResult; return ajaxResult;
} }
/**
* 级部-获取学科下拉框
*/
@GetMapping("/getSub/{gradeId}")
public AjaxResult getSub(@PathVariable("gradeId") Long gradeId){
return AjaxResult.success(schoolExperimentPlanService.getSub(gradeId));
}
/**
* 实验室管理-级部实验计划查看列表
*/
@GetMapping("/getExperimentList")
public TableDataInfo getExperimentList(SchoolExperimentPlanVo schoolExperimentPlanVo){
startPage();
return getDataTable(schoolExperimentPlanService.getExperimentList(schoolExperimentPlanVo));
}
/**
* 领导-查看实验室完成情况列表
*/
@GetMapping("/countExperiment")
public TableDataInfo countExperiment(SchoolExperimentPlanVo schoolExperimentPlanVo){
startPage();
return getDataTable(schoolExperimentPlanService.countExperiment(schoolExperimentPlanVo));
}
/**
* 查看班级完成详情
*/
@GetMapping("/getClassDetails")
public TableDataInfo getClassDetails(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo){
return getDataTable(schoolTeacherLabApplyService.getClassDetails(schoolTeacherLabApplyVo));
}
/**
* 教师实验统计
*/
@GetMapping("/getCountTeacher")
public TableDataInfo getCountTeacher(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo){
startPage();
return getDataTable(schoolTeacherLabApplyService.getCountTeacher(schoolTeacherLabApplyVo));
}
/**
* 实验室管理-查看实验室完成情况列表
*/
@GetMapping("/countExperimentLabAdmin")
public TableDataInfo countExperimentAdmin(SchoolExperimentPlanVo schoolExperimentPlanVo){
startPage();
return getDataTable(schoolExperimentPlanService.countExperimentAdmin(schoolExperimentPlanVo));
}
/**
* 实验室管理员-实验记录列表
*/
@GetMapping("/getExperimentRecord")
public TableDataInfo getExperimentRecord(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo){
schoolTeacherLabApplyVo.setApplyState("1");
startPage();
return getDataTable(schoolTeacherLabApplyService.getTeacherLabApplyList(schoolTeacherLabApplyVo));
}
/**
* 级部-实验室完成情况明细
*/
@GetMapping("/gradeCountExperiment")
public TableDataInfo gradeCountExperiment(SchoolExperimentPlanVo schoolExperimentPlanVo){
//获取登录用户
SysUser user = SecurityUtils.getLoginUser().getUser();
//管理员角色返回全部数据
if (user.isAdmin()){
startPage();
List<Map<String, Object>> list = schoolExperimentPlanService.gradeCountExperiment(schoolExperimentPlanVo);
list.forEach(list1 -> {
//总班级数
int totalClass = Integer.parseInt(list1.get("totalClass").toString());
//已完成班级数
int completeClass = Integer.parseInt(list1.get("completeClass").toString());
//计算完成比例
if (totalClass == 0){
list1.put("ratio","0%");
}else {
//计算完成比例
double totalClass1 = totalClass * 100.0;
double completeClass2 = completeClass * 100.0;
NumberFormat percentInstance = NumberFormat.getPercentInstance();
// 设置保留几位小数,这里设置的是保留两位小数
percentInstance.setMinimumFractionDigits(0);
String percent = percentInstance.format(completeClass2 / totalClass1);
list1.put("ratio",percent);
}
String semester = "";
if (list1.get("semester").equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
list1.put("schoolYearSemester",list1.get("schoolYear") + semester);
});
return getDataTable(list);
}
//获取最新学年
int schoolYear = gradeService.isNewSchoolYear();
//教师级部
List<Map<String, Object>> gradeList = schoolExperimentPlanService.getGrade(schoolYear,user.getUserId());
if (StringUtils.isNull(gradeList) || gradeList.size() == 0) {
throw new ServiceException("没有您所在的级部信息");
}
//级部id集合
List<Long> gradeIds = new ArrayList<>();
gradeList.forEach(gradeList1 -> {
Object id = gradeList1.get("id");
Long gradeId = Long.valueOf(String.valueOf(id));
gradeIds.add(gradeId);
});
//查询级部成员信息
LambdaQueryWrapper<SchoolGradeMentor> wrapper = new LambdaQueryWrapper<>();
wrapper.in(SchoolGradeMentor::getGradeId,gradeIds)
.eq(SchoolGradeMentor::getTeacherId,user.getUserId());
List<SchoolGradeMentor> schoolGradeMentors = schoolGradeMentorService.list(wrapper);
schoolExperimentPlanVo.setGradeIds(gradeIds);
startPage();
List<Map<String, Object>> list = schoolExperimentPlanService.gradeCountExperiment(schoolExperimentPlanVo);
List<Map<String, Object>> listNew = new ArrayList<>();
//去除用户所在级部和所在学科组不匹配的数据
if (StringUtils.isNotNull(schoolGradeMentors)){
for (Map<String, Object> map : list) {
for (SchoolGradeMentor schoolGradeMentor : schoolGradeMentors) {
if (schoolGradeMentor.getGradeId().equals(map.get("gradeId"))){
if (StringUtils.isNotBlank(schoolGradeMentor.getSubGroup())){
if (!(schoolGradeMentor.getSubGroup().equals(map.get("sub")))){
listNew.add(map);
}
}
}
}
}
}
if (listNew.size() > 0){
for (Map<String, Object> map : listNew) {
list.remove(map);
}
}
list.forEach(list1 -> {
//总班级数
int totalClass = Integer.parseInt(list1.get("totalClass").toString());
//已完成班级数
int completeClass = Integer.parseInt(list1.get("completeClass").toString());
//计算完成比例
if (totalClass == 0){
list1.put("ratio","0%");
}else {
//计算完成比例
double totalClass1 = totalClass * 100.0;
double completeClass2 = completeClass * 100.0;
NumberFormat percentInstance = NumberFormat.getPercentInstance();
// 设置保留几位小数,这里设置的是保留两位小数
percentInstance.setMinimumFractionDigits(0);
String percent = percentInstance.format(completeClass2 / totalClass1);
list1.put("ratio",percent);
}
String semester = "";
if (list1.get("semester").equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
list1.put("schoolYearSemester",list1.get("schoolYear") + semester);
});
return getDataTable(list);
}
/**
* 级部-班级完成情况明细
*/
@GetMapping("/gradeCountClass")
public TableDataInfo gradeCountClass(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo){
//获取登录用户
SysUser user = SecurityUtils.getLoginUser().getUser();
//管理员角色返回全部数据
if (user.isAdmin()){
startPage();
List<Map<String, Object>> list = schoolTeacherLabApplyService.gradeCountClass(schoolTeacherLabApplyVo);
list.forEach(list1 -> {
//计划实验数
int jhsys = Integer.parseInt(list1.get("jhsys").toString());
//已完成实验数
int ywcsys = Integer.parseInt(list1.get("ywcsys").toString());
//计算完成比例
if (jhsys == 0){
list1.put("ratio","0%");
}else {
double jhsys1 = jhsys * 100.0;
double ywcsys1 = ywcsys * 100.0;
NumberFormat percentInstance = NumberFormat.getPercentInstance();
// 设置保留几位小数,这里设置的是保留两位小数
percentInstance.setMinimumFractionDigits(0);
String percent = percentInstance.format(ywcsys1 / jhsys1);
list1.put("ratio",percent);
}
String semester = "";
if (list1.get("semester").equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
list1.put("schoolYearSemester",list1.get("schoolYear") + semester);
});
return getDataTable(list);
}
//获取最新学年
int schoolYear = gradeService.isNewSchoolYear();
//教师级部
List<Map<String, Object>> gradeList = schoolExperimentPlanService.getGrade(schoolYear,user.getUserId());
if (StringUtils.isNull(gradeList) || gradeList.size() == 0) {
throw new ServiceException("没有您所在的级部信息");
}
//级部id集合
List<Long> gradeIds = new ArrayList<>();
gradeList.forEach(gradeList1 -> {
Object id = gradeList1.get("id");
Long gradeId = Long.valueOf(String.valueOf(id));
gradeIds.add(gradeId);
});
//查询级部成员信息
LambdaQueryWrapper<SchoolGradeMentor> wrapper = new LambdaQueryWrapper<>();
wrapper.in(SchoolGradeMentor::getGradeId,gradeIds)
.eq(SchoolGradeMentor::getTeacherId,user.getUserId());
List<SchoolGradeMentor> schoolGradeMentors = schoolGradeMentorService.list(wrapper);
schoolTeacherLabApplyVo.setGradeIds(gradeIds);
startPage();
List<Map<String, Object>> list = schoolTeacherLabApplyService.gradeCountClass(schoolTeacherLabApplyVo);
list.forEach(list1 -> {
//计划实验数
int jhsys = Integer.parseInt(list1.get("jhsys").toString());
//已完成实验数
int ywcsys = Integer.parseInt(list1.get("ywcsys").toString());
//计算完成比例
if (jhsys == 0){
list1.put("ratio","0%");
}else {
double jhsys1 = jhsys * 100.0;
double ywcsys1 = ywcsys * 100.0;
NumberFormat percentInstance = NumberFormat.getPercentInstance();
// 设置保留几位小数,这里设置的是保留两位小数
percentInstance.setMinimumFractionDigits(0);
String percent = percentInstance.format(ywcsys1 / jhsys1);
list1.put("ratio",percent);
}
String semester = "";
if (list1.get("semester").equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
list1.put("schoolYearSemester",list1.get("schoolYear") + semester);
});
return getDataTable(list);
}
/**
* 级部-班级完成情况明细-查看班级完成情况详情
*/
@GetMapping("/getGradeClassDetails")
public TableDataInfo getGradeClassDetails(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo){
return getDataTable(schoolTeacherLabApplyService.getGradeClassDetails(schoolTeacherLabApplyVo));
}
} }
package yangtz.cs.liu.campus.controller.schoolLab; package yangtz.cs.liu.campus.controller.schoolLab;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
...@@ -15,10 +24,24 @@ import com.ruoyi.common.annotation.Log; ...@@ -15,10 +24,24 @@ import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import yangtz.cs.liu.campus.domain.schoolClass.SchoolClassMentor;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolExperimentPlan;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear; import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYearRelation;
import yangtz.cs.liu.campus.domain.schoolgrade.SchoolGradeMentor;
import yangtz.cs.liu.campus.mapper.schoolLab.SchoolLabClassYearRelationMapper;
import yangtz.cs.liu.campus.service.schoolClass.ISchoolClassMentorService;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolExperimentPlanService;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabClassYearRelationService;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabClassYearService; import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabClassYearService;
import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabService;
import yangtz.cs.liu.campus.service.schoolgrade.ISchoolGradeMentorService;
import yangtz.cs.liu.campus.service.schoolgrade.ISchoolGradeService;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolExperimentPlanVo;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolLabClassYearVo;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolLabVo;
/** /**
* 年级实验室预约Controller * 年级实验室预约Controller
...@@ -33,15 +56,109 @@ public class SchoolLabClassYearController extends BaseController ...@@ -33,15 +56,109 @@ public class SchoolLabClassYearController extends BaseController
@Autowired @Autowired
private ISchoolLabClassYearService schoolLabClassYearService; private ISchoolLabClassYearService schoolLabClassYearService;
@Autowired
private ISchoolExperimentPlanService schoolExperimentPlanService;
@Autowired
private ISchoolLabClassYearRelationService schoolLabClassYearRelationService;
@Autowired
private ISchoolGradeService gradeService;
@Autowired
private ISchoolGradeMentorService mentorService;
@Autowired
private ISchoolClassMentorService classMentorService;
/** /**
* 查询年级实验室预约列表 * 查询年级实验室预约列表
*/ */
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(SchoolLabClassYear schoolLabClassYear) public TableDataInfo list(SchoolLabClassYearVo schoolLabClassYearVo)
{ {
SysUser user = SecurityUtils.getLoginUser().getUser();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
//如果是管理员返回全部数据
if (user.isAdmin()){
startPage(); startPage();
List<SchoolLabClassYear> list = schoolLabClassYearService.selectSchoolLabClassYearList(schoolLabClassYear); List<SchoolLabClassYearVo> list = schoolLabClassYearService.selectSchoolLabClassYearList(schoolLabClassYearVo);
list.forEach(list1 -> {
String semester = "";
if (list1.getSemester().equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
list1.setSchoolYearSemester(list1.getSchoolYear() + semester);
list1.setPlannedTime(format.format(list1.getPlannedStartTime()) + "至" + format.format(list1.getPlannedEndTime()));
if (list1.getDeclareState().equals("3")){
LambdaQueryWrapper<SchoolLabClassYearRelation> lqw = new LambdaQueryWrapper<>();
lqw.eq(SchoolLabClassYearRelation::getLabClassYearId,list1.getId());
List<SchoolLabClassYearRelation> relations = schoolLabClassYearRelationService.list(lqw);
list1.setSchoolLabClassYearRelationList(relations);
}
});
return getDataTable(list);
}
//获取最新学年
int schoolYear = gradeService.isNewSchoolYear();
//教师级部
List<Map<String, Object>> gradeList = schoolExperimentPlanService.getGrade(schoolYear,user.getUserId());
if (StringUtils.isNull(gradeList) || gradeList.size() == 0) {
throw new ServiceException("没有您所在的级部信息");
}
//级部id集合
List<Long> gradeIds = new ArrayList<>();
gradeList.forEach(gradeList1 -> {
Long gradeId = Long.valueOf(String.valueOf(gradeList1.get("id")));
gradeIds.add(gradeId);
});
//查询级部成员信息
LambdaQueryWrapper<SchoolGradeMentor> wrapper = new LambdaQueryWrapper<>();
wrapper.in(SchoolGradeMentor::getGradeId,gradeIds)
.eq(SchoolGradeMentor::getTeacherId,user.getUserId());
List<SchoolGradeMentor> schoolGradeMentors = mentorService.list(wrapper);
schoolLabClassYearVo.setGradeIds(gradeIds);
startPage();
List<SchoolLabClassYearVo> list = schoolLabClassYearService.selectSchoolLabClassYearList(schoolLabClassYearVo);
List<SchoolLabClassYearVo> listNew = new ArrayList<>();
//去除用户所在级部和所在学科组不匹配的数据
if (StringUtils.isNotNull(schoolGradeMentors)){
for (SchoolLabClassYearVo labClassYearVo : list) {
for (SchoolGradeMentor schoolGradeMentor : schoolGradeMentors) {
if (schoolGradeMentor.getGradeId().equals(labClassYearVo.getGradeId())){
if (StringUtils.isNotBlank(schoolGradeMentor.getSubGroup())){
if (!(schoolGradeMentor.getSubGroup().equals(labClassYearVo.getSub()))){
listNew.add(labClassYearVo);
}
}
}
}
}
}
if (listNew.size() > 0){
for (SchoolLabClassYearVo labClassYearVo : listNew) {
list.remove(labClassYearVo);
}
}
list.forEach(list1 -> {
String semester = "";
if (list1.getSemester().equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
list1.setSchoolYearSemester(list1.getSchoolYear() + semester);
list1.setPlannedTime(format.format(list1.getPlannedStartTime()) + "至" + format.format(list1.getPlannedEndTime()));
if (list1.getDeclareState().equals("3")){
LambdaQueryWrapper<SchoolLabClassYearRelation> lqw = new LambdaQueryWrapper<>();
lqw.eq(SchoolLabClassYearRelation::getLabClassYearId,list1.getId());
List<SchoolLabClassYearRelation> relations = schoolLabClassYearRelationService.list(lqw);
list1.setSchoolLabClassYearRelationList(relations);
}
});
return getDataTable(list); return getDataTable(list);
} }
...@@ -50,10 +167,10 @@ public class SchoolLabClassYearController extends BaseController ...@@ -50,10 +167,10 @@ public class SchoolLabClassYearController extends BaseController
*/ */
@Log(title = "年级实验室预约", businessType = BusinessType.EXPORT) @Log(title = "年级实验室预约", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
public void export(HttpServletResponse response, SchoolLabClassYear schoolLabClassYear) public void export(HttpServletResponse response, SchoolLabClassYearVo schoolLabClassYearVo)
{ {
List<SchoolLabClassYear> list = schoolLabClassYearService.selectSchoolLabClassYearList(schoolLabClassYear); List<SchoolLabClassYearVo> list = schoolLabClassYearService.selectSchoolLabClassYearList(schoolLabClassYearVo);
ExcelUtil<SchoolLabClassYear> util = new ExcelUtil<SchoolLabClassYear>(SchoolLabClassYear.class); ExcelUtil<SchoolLabClassYearVo> util = new ExcelUtil<SchoolLabClassYearVo>(SchoolLabClassYearVo.class);
util.exportExcel(response, list, "年级实验室预约数据"); util.exportExcel(response, list, "年级实验室预约数据");
} }
...@@ -63,7 +180,23 @@ public class SchoolLabClassYearController extends BaseController ...@@ -63,7 +180,23 @@ public class SchoolLabClassYearController extends BaseController
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) public AjaxResult getInfo(@PathVariable("id") Long id)
{ {
return AjaxResult.success(schoolLabClassYearService.selectSchoolLabClassYearById(id)); SchoolLabClassYearVo schoolLabClassYearVo = schoolLabClassYearService.selectSchoolLabClassYearById(id);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String semester = "";
if (schoolLabClassYearVo.getSemester().equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
schoolLabClassYearVo.setSchoolYearSemester(schoolLabClassYearVo.getSchoolYear() + semester);
schoolLabClassYearVo.setPlannedTime(format.format(schoolLabClassYearVo.getPlannedStartTime()) + "至" + format.format(schoolLabClassYearVo.getPlannedEndTime()));
if (schoolLabClassYearVo.getDeclareState().equals("3")){
LambdaQueryWrapper<SchoolLabClassYearRelation> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SchoolLabClassYearRelation::getLabClassYearId,id);
List<SchoolLabClassYearRelation> schoolLabClassYearRelations = schoolLabClassYearRelationService.list(wrapper);
schoolLabClassYearVo.setSchoolLabClassYearRelationList(schoolLabClassYearRelations);
}
return AjaxResult.success();
} }
/** /**
...@@ -73,7 +206,7 @@ public class SchoolLabClassYearController extends BaseController ...@@ -73,7 +206,7 @@ public class SchoolLabClassYearController extends BaseController
@PostMapping("/add") @PostMapping("/add")
public AjaxResult add(@RequestBody SchoolLabClassYear schoolLabClassYear) public AjaxResult add(@RequestBody SchoolLabClassYear schoolLabClassYear)
{ {
return toAjax(schoolLabClassYearService.insertSchoolLabClassYear(schoolLabClassYear)); return toAjax(schoolLabClassYearService.insertSchoolLabClassYearVo(schoolLabClassYear));
} }
/** /**
...@@ -83,7 +216,7 @@ public class SchoolLabClassYearController extends BaseController ...@@ -83,7 +216,7 @@ public class SchoolLabClassYearController extends BaseController
@PutMapping("/edit") @PutMapping("/edit")
public AjaxResult edit(@RequestBody SchoolLabClassYear schoolLabClassYear) public AjaxResult edit(@RequestBody SchoolLabClassYear schoolLabClassYear)
{ {
return toAjax(schoolLabClassYearService.updateSchoolLabClassYear(schoolLabClassYear)); return toAjax(schoolLabClassYearService.updateSchoolLabClassYearVo(schoolLabClassYear));
} }
/** /**
...@@ -96,4 +229,115 @@ public class SchoolLabClassYearController extends BaseController ...@@ -96,4 +229,115 @@ public class SchoolLabClassYearController extends BaseController
return toAjax(schoolLabClassYearService.deleteSchoolLabClassYearByIds(ids)); return toAjax(schoolLabClassYearService.deleteSchoolLabClassYearByIds(ids));
} }
/**
* 获取实验名称下拉框
*/
@GetMapping("/getLab")
public AjaxResult getLab(SchoolExperimentPlanVo schoolExperimentPlanVo){
schoolExperimentPlanVo.setIsAppointment("0");
return AjaxResult.success(schoolExperimentPlanService.selectSchoolExperimentPlanList(schoolExperimentPlanVo));
}
/**
* 实验室管理-年级实验室预约列表
*/
@GetMapping("/getLabClassYear")
public TableDataInfo getLabClassYear(SchoolLabClassYearVo schoolLabClassYearVo){
startPage();
return getDataTable(schoolLabClassYearService.getLabClassYear(schoolLabClassYearVo));
}
/**
* 实验室管理-年级实验室预约查看详情
*/
@GetMapping("/getLabClassYear/{id}")
public AjaxResult getLabClassYearById(@PathVariable("id") Long id){
return AjaxResult.success(schoolLabClassYearService.getLabClassYearById(id));
}
/**
* 实验室管理-年级实验室-分配实验室
*/
@PostMapping("/allocationLab")
public AjaxResult allocationLab(@RequestBody SchoolLabClassYearVo schoolLabClassYearVo){
return toAjax(schoolLabClassYearService.updateLabClassYear(schoolLabClassYearVo));
}
/**
* 获取实验室
*/
@GetMapping("/getLabList")
public AjaxResult getLabList(SchoolLabClassYearVo schoolLabClassYearVo){
return AjaxResult.success(schoolLabClassYearService.getLabList(schoolLabClassYearVo));
}
/**
* 教师-实验室安排列表
*/
@GetMapping("/getTeacherLabList")
public TableDataInfo getTeacherLabList(SchoolLabClassYearVo schoolLabClassYearVo){
SysUser user = SecurityUtils.getLoginUser().getUser();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
//如果是管理员返回全部数据
if (user.isAdmin()){
startPage();
List<SchoolLabClassYearVo> list = schoolLabClassYearService.selectSchoolLabClassYearList(schoolLabClassYearVo);
list.forEach(list1 -> {
String semester = "";
if (list1.getSemester().equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
list1.setSchoolYearSemester(list1.getSchoolYear() + semester);
list1.setPlannedTime(format.format(list1.getPlannedStartTime()) + "至" + format.format(list1.getPlannedEndTime()));
if (list1.getDeclareState().equals("3") || list1.getDeclareState().equals("2")){
LambdaQueryWrapper<SchoolLabClassYearRelation> lqw = new LambdaQueryWrapper<>();
lqw.eq(SchoolLabClassYearRelation::getLabClassYearId,list1.getId());
List<SchoolLabClassYearRelation> relations = schoolLabClassYearRelationService.list(lqw);
list1.setSchoolLabClassYearRelationList(relations);
}
});
return getDataTable(list);
}
//学科集合
List<String> subs = new ArrayList<>();
// 查询该教师属于哪个班级,教哪门课
LambdaQueryWrapper<SchoolClassMentor> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SchoolClassMentor::getTeacherId,user.getUserId())
.in(SchoolClassMentor::getCourseId,6,8,9);
List<SchoolClassMentor> schoolClassMentors = classMentorService.list(wrapper);
if (StringUtils.isNotNull(schoolClassMentors)){
for (SchoolClassMentor schoolClassMentor : schoolClassMentors) {
switch (schoolClassMentor.getCourseName()){
case "物理" : subs.add("1");break;
case "化学" : subs.add("2");break;
case "生物" : subs.add("3");break;
default:break;
}
}
}
schoolLabClassYearVo.setApplyId(user.getUserId());
schoolLabClassYearVo.setSubs(subs);
startPage();
List<SchoolLabClassYearVo> list = schoolLabClassYearService.getTeacherLabList(schoolLabClassYearVo);
list.forEach(list1 -> {
String semester = "";
if (list1.getSemester().equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
list1.setSchoolYearSemester(list1.getSchoolYear() + semester);
list1.setPlannedTime(format.format(list1.getPlannedStartTime()) + "至" + format.format(list1.getPlannedEndTime()));
if (list1.getDeclareState().equals("3") || list1.getDeclareState().equals("2")){
LambdaQueryWrapper<SchoolLabClassYearRelation> lqw = new LambdaQueryWrapper<>();
lqw.eq(SchoolLabClassYearRelation::getLabClassYearId,list1.getId());
List<SchoolLabClassYearRelation> relations = schoolLabClassYearRelationService.list(lqw);
list1.setSchoolLabClassYearRelationList(relations);
}
});
return getDataTable(list);
}
} }
...@@ -19,6 +19,7 @@ import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabCompetition; ...@@ -19,6 +19,7 @@ import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabCompetition;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabCompetitionService; import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabCompetitionService;
import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolLabCompetitionVo;
/** /**
* 实验室竞赛Controller * 实验室竞赛Controller
...@@ -37,10 +38,10 @@ public class SchoolLabCompetitionController extends BaseController ...@@ -37,10 +38,10 @@ public class SchoolLabCompetitionController extends BaseController
* 查询实验室竞赛列表 * 查询实验室竞赛列表
*/ */
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(SchoolLabCompetition schoolLabCompetition) public TableDataInfo list(SchoolLabCompetitionVo schoolLabCompetitionVo)
{ {
startPage(); startPage();
List<SchoolLabCompetition> list = schoolLabCompetitionService.selectSchoolLabCompetitionList(schoolLabCompetition); List<SchoolLabCompetitionVo> list = schoolLabCompetitionService.selectSchoolLabCompetitionList(schoolLabCompetitionVo);
return getDataTable(list); return getDataTable(list);
} }
...@@ -49,10 +50,10 @@ public class SchoolLabCompetitionController extends BaseController ...@@ -49,10 +50,10 @@ public class SchoolLabCompetitionController extends BaseController
*/ */
@Log(title = "实验室竞赛", businessType = BusinessType.EXPORT) @Log(title = "实验室竞赛", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
public void export(HttpServletResponse response, SchoolLabCompetition schoolLabCompetition) public void export(HttpServletResponse response, SchoolLabCompetitionVo schoolLabCompetitionVo)
{ {
List<SchoolLabCompetition> list = schoolLabCompetitionService.selectSchoolLabCompetitionList(schoolLabCompetition); List<SchoolLabCompetitionVo> list = schoolLabCompetitionService.selectSchoolLabCompetitionList(schoolLabCompetitionVo);
ExcelUtil<SchoolLabCompetition> util = new ExcelUtil<SchoolLabCompetition>(SchoolLabCompetition.class); ExcelUtil<SchoolLabCompetitionVo> util = new ExcelUtil<SchoolLabCompetitionVo>(SchoolLabCompetitionVo.class);
util.exportExcel(response, list, "实验室竞赛数据"); util.exportExcel(response, list, "实验室竞赛数据");
} }
...@@ -70,9 +71,9 @@ public class SchoolLabCompetitionController extends BaseController ...@@ -70,9 +71,9 @@ public class SchoolLabCompetitionController extends BaseController
*/ */
@Log(title = "实验室竞赛", businessType = BusinessType.INSERT) @Log(title = "实验室竞赛", businessType = BusinessType.INSERT)
@PostMapping("/add") @PostMapping("/add")
public AjaxResult add(@RequestBody SchoolLabCompetition schoolLabCompetition) public AjaxResult add(@RequestBody SchoolLabCompetitionVo schoolLabCompetitionVo)
{ {
return toAjax(schoolLabCompetitionService.insertSchoolLabCompetition(schoolLabCompetition)); return toAjax(schoolLabCompetitionService.insertSchoolLabCompetition(schoolLabCompetitionVo));
} }
/** /**
...@@ -80,9 +81,9 @@ public class SchoolLabCompetitionController extends BaseController ...@@ -80,9 +81,9 @@ public class SchoolLabCompetitionController extends BaseController
*/ */
@Log(title = "实验室竞赛", businessType = BusinessType.UPDATE) @Log(title = "实验室竞赛", businessType = BusinessType.UPDATE)
@PutMapping("/edit") @PutMapping("/edit")
public AjaxResult edit(@RequestBody SchoolLabCompetition schoolLabCompetition) public AjaxResult edit(@RequestBody SchoolLabCompetitionVo schoolLabCompetitionVo)
{ {
return toAjax(schoolLabCompetitionService.updateSchoolLabCompetition(schoolLabCompetition)); return toAjax(schoolLabCompetitionService.updateSchoolLabCompetition(schoolLabCompetitionVo));
} }
/** /**
......
...@@ -10,6 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -10,6 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLab; import yangtz.cs.liu.campus.domain.schoolLab.SchoolLab;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabService; import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabService;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolLabVo;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.List; import java.util.List;
...@@ -32,10 +33,10 @@ public class SchoolLabController extends BaseController ...@@ -32,10 +33,10 @@ public class SchoolLabController extends BaseController
* 查询实验室列表 * 查询实验室列表
*/ */
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(SchoolLab schoolLab) public TableDataInfo list(SchoolLabVo schoolLabVo)
{ {
startPage(); startPage();
List<SchoolLab> list = schoolLabService.selectSchoolLabList(schoolLab); List<SchoolLabVo> list = schoolLabService.selectSchoolLabList(schoolLabVo);
return getDataTable(list); return getDataTable(list);
} }
...@@ -44,10 +45,10 @@ public class SchoolLabController extends BaseController ...@@ -44,10 +45,10 @@ public class SchoolLabController extends BaseController
*/ */
@Log(title = "实验室", businessType = BusinessType.EXPORT) @Log(title = "实验室", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
public void export(HttpServletResponse response, SchoolLab schoolLab) public void export(HttpServletResponse response, SchoolLabVo schoolLabVo)
{ {
List<SchoolLab> list = schoolLabService.selectSchoolLabList(schoolLab); List<SchoolLabVo> list = schoolLabService.selectSchoolLabList(schoolLabVo);
ExcelUtil<SchoolLab> util = new ExcelUtil<SchoolLab>(SchoolLab.class); ExcelUtil<SchoolLabVo> util = new ExcelUtil<SchoolLabVo>(SchoolLabVo.class);
util.exportExcel(response, list, "实验室数据"); util.exportExcel(response, list, "实验室数据");
} }
...@@ -100,7 +101,7 @@ public class SchoolLabController extends BaseController ...@@ -100,7 +101,7 @@ public class SchoolLabController extends BaseController
} }
/** /**
* 获取学科下拉框 * 实验室管理员-获取学科下拉框
* @return * @return
*/ */
@GetMapping("/getSub") @GetMapping("/getSub")
......
package yangtz.cs.liu.campus.controller.schoolLab; package yangtz.cs.liu.campus.controller.schoolLab;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
...@@ -15,10 +22,15 @@ import com.ruoyi.common.annotation.Log; ...@@ -15,10 +22,15 @@ import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYearRelation;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherExperimentApply; import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherExperimentApply;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherExperimentApplyLabs;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolTeacherExperimentApplyService; import yangtz.cs.liu.campus.service.schoolLab.ISchoolTeacherExperimentApplyService;
import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import yangtz.cs.liu.campus.service.schoolLab.ISchoollTeacherExperimentApplyLabsService;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolLabClassYearVo;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolTeacherExperimentApplyVo;
/** /**
* 教师个人实验申请Controller * 教师个人实验申请Controller
...@@ -33,28 +45,59 @@ public class SchoolTeacherExperimentApplyController extends BaseController ...@@ -33,28 +45,59 @@ public class SchoolTeacherExperimentApplyController extends BaseController
@Autowired @Autowired
private ISchoolTeacherExperimentApplyService schoolTeacherExperimentApplyService; private ISchoolTeacherExperimentApplyService schoolTeacherExperimentApplyService;
@Autowired
private ISchoollTeacherExperimentApplyLabsService schoollTeacherExperimentApplyLabsService;
/** /**
* 查询教师个人实验申请列表 * 查询教师个人实验申请列表
*/ */
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(SchoolTeacherExperimentApply schoolTeacherExperimentApply) public TableDataInfo list(SchoolTeacherExperimentApplyVo schoolTeacherExperimentApplyVo)
{ {
SysUser user = SecurityUtils.getLoginUser().getUser();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
//管理员返回全部
if (user.isAdmin()){
startPage(); startPage();
List<SchoolTeacherExperimentApply> list = schoolTeacherExperimentApplyService.selectSchoolTeacherExperimentApplyList(schoolTeacherExperimentApply); List<SchoolTeacherExperimentApplyVo> list = schoolTeacherExperimentApplyService.selectSchoolTeacherExperimentApplyList(schoolTeacherExperimentApplyVo);
list.forEach(list1 ->{
String semester = "";
if (list1.getSemester().equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
list1.setSchoolYearSemester(list1.getSchoolYear() + semester);
list1.setPlannedTime(format.format(list1.getPlannedStartTime()) + "至" + format.format(list1.getPlannedEndTime()));
if (list1.getDeclareState().equals("3")){
LambdaQueryWrapper<SchoolTeacherExperimentApplyLabs> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SchoolTeacherExperimentApplyLabs::getTeacherExperimentApplyId,list1.getId());
List<SchoolTeacherExperimentApplyLabs> schoolTeacherExperimentApplyLabs = schoollTeacherExperimentApplyLabsService.list(wrapper);
list1.setSchoolTeacherExperimentApplyLabsList(schoolTeacherExperimentApplyLabs);
}
});
return getDataTable(list); return getDataTable(list);
} }
schoolTeacherExperimentApplyVo.setApplyId(user.getUserId());
/** startPage();
* 导出教师个人实验申请列表 List<SchoolTeacherExperimentApplyVo> list = schoolTeacherExperimentApplyService.selectSchoolTeacherExperimentApplyList(schoolTeacherExperimentApplyVo);
*/ list.forEach(list1 ->{
@Log(title = "教师个人实验申请", businessType = BusinessType.EXPORT) String semester = "";
@PostMapping("/export") if (list1.getSemester().equals("1")){
public void export(HttpServletResponse response, SchoolTeacherExperimentApply schoolTeacherExperimentApply) semester = "上学期";
{ }else {
List<SchoolTeacherExperimentApply> list = schoolTeacherExperimentApplyService.selectSchoolTeacherExperimentApplyList(schoolTeacherExperimentApply); semester = "下学期";
ExcelUtil<SchoolTeacherExperimentApply> util = new ExcelUtil<SchoolTeacherExperimentApply>(SchoolTeacherExperimentApply.class); }
util.exportExcel(response, list, "教师个人实验申请数据"); list1.setSchoolYearSemester(list1.getSchoolYear() + semester);
list1.setPlannedTime(format.format(list1.getPlannedStartTime()) + "至" + format.format(list1.getPlannedEndTime()));
if (list1.getDeclareState().equals("3")){
LambdaQueryWrapper<SchoolTeacherExperimentApplyLabs> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SchoolTeacherExperimentApplyLabs::getTeacherExperimentApplyId,list1.getId());
List<SchoolTeacherExperimentApplyLabs> schoolTeacherExperimentApplyLabs = schoollTeacherExperimentApplyLabsService.list(wrapper);
list1.setSchoolTeacherExperimentApplyLabsList(schoolTeacherExperimentApplyLabs);
}
});
return getDataTable(list);
} }
/** /**
...@@ -63,7 +106,23 @@ public class SchoolTeacherExperimentApplyController extends BaseController ...@@ -63,7 +106,23 @@ public class SchoolTeacherExperimentApplyController extends BaseController
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) public AjaxResult getInfo(@PathVariable("id") Long id)
{ {
return AjaxResult.success(schoolTeacherExperimentApplyService.selectSchoolTeacherExperimentApplyById(id)); SchoolTeacherExperimentApplyVo schoolTeacherExperimentApplyVo = schoolTeacherExperimentApplyService.selectSchoolTeacherExperimentApplyById(id);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String semester = "";
if (schoolTeacherExperimentApplyVo.getSemester().equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
schoolTeacherExperimentApplyVo.setSchoolYearSemester(schoolTeacherExperimentApplyVo.getSchoolYear() + semester);
schoolTeacherExperimentApplyVo.setPlannedTime(format.format(schoolTeacherExperimentApplyVo.getPlannedStartTime()) + "至" + format.format(schoolTeacherExperimentApplyVo.getPlannedEndTime()));
if (schoolTeacherExperimentApplyVo.getDeclareState().equals("3")){
LambdaQueryWrapper<SchoolTeacherExperimentApplyLabs> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SchoolTeacherExperimentApplyLabs::getTeacherExperimentApplyId,id);
List<SchoolTeacherExperimentApplyLabs> schoolTeacherExperimentApplyLabs = schoollTeacherExperimentApplyLabsService.list(wrapper);
schoolTeacherExperimentApplyVo.setSchoolTeacherExperimentApplyLabsList(schoolTeacherExperimentApplyLabs);
}
return AjaxResult.success(schoolTeacherExperimentApplyVo);
} }
/** /**
...@@ -71,9 +130,9 @@ public class SchoolTeacherExperimentApplyController extends BaseController ...@@ -71,9 +130,9 @@ public class SchoolTeacherExperimentApplyController extends BaseController
*/ */
@Log(title = "教师个人实验申请", businessType = BusinessType.INSERT) @Log(title = "教师个人实验申请", businessType = BusinessType.INSERT)
@PostMapping("/add") @PostMapping("/add")
public AjaxResult add(@RequestBody SchoolTeacherExperimentApply schoolTeacherExperimentApply) public AjaxResult add(@RequestBody SchoolTeacherExperimentApplyVo schoolTeacherExperimentApplyVo)
{ {
return toAjax(schoolTeacherExperimentApplyService.insertSchoolTeacherExperimentApply(schoolTeacherExperimentApply)); return toAjax(schoolTeacherExperimentApplyService.insertSchoolTeacherExperimentApply(schoolTeacherExperimentApplyVo));
} }
/** /**
...@@ -81,9 +140,9 @@ public class SchoolTeacherExperimentApplyController extends BaseController ...@@ -81,9 +140,9 @@ public class SchoolTeacherExperimentApplyController extends BaseController
*/ */
@Log(title = "教师个人实验申请", businessType = BusinessType.UPDATE) @Log(title = "教师个人实验申请", businessType = BusinessType.UPDATE)
@PutMapping("/edit") @PutMapping("/edit")
public AjaxResult edit(@RequestBody SchoolTeacherExperimentApply schoolTeacherExperimentApply) public AjaxResult edit(@RequestBody SchoolTeacherExperimentApplyVo schoolTeacherExperimentApplyVo)
{ {
return toAjax(schoolTeacherExperimentApplyService.updateSchoolTeacherExperimentApply(schoolTeacherExperimentApply)); return toAjax(schoolTeacherExperimentApplyService.updateSchoolTeacherExperimentApply(schoolTeacherExperimentApplyVo));
} }
/** /**
...@@ -95,4 +154,100 @@ public class SchoolTeacherExperimentApplyController extends BaseController ...@@ -95,4 +154,100 @@ public class SchoolTeacherExperimentApplyController extends BaseController
{ {
return toAjax(schoolTeacherExperimentApplyService.deleteSchoolTeacherExperimentApplyByIds(ids)); return toAjax(schoolTeacherExperimentApplyService.deleteSchoolTeacherExperimentApplyByIds(ids));
} }
/**
* 实验室管理-教师个人演示实验审批
*/
@GetMapping("/getTeacherList")
public TableDataInfo getTeacherList(SchoolTeacherExperimentApplyVo schoolTeacherExperimentApplyVo){
schoolTeacherExperimentApplyVo.setDeclareState("1");
SysUser user = SecurityUtils.getLoginUser().getUser();
List<SysRole> roles = user.getRoles();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
//管理员返回全部
if (user.isAdmin()){
startPage();
List<SchoolTeacherExperimentApplyVo> list = schoolTeacherExperimentApplyService.selectSchoolTeacherExperimentApplyList(schoolTeacherExperimentApplyVo);
list.forEach(list1 ->{
String semester = "";
if (list1.getSemester().equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
list1.setSchoolYearSemester(list1.getSchoolYear() + semester);
list1.setPlannedTime(format.format(list1.getPlannedStartTime()) + "至" + format.format(list1.getPlannedEndTime()));
LambdaQueryWrapper<SchoolTeacherExperimentApplyLabs> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SchoolTeacherExperimentApplyLabs::getTeacherExperimentApplyId,list1.getId());
List<SchoolTeacherExperimentApplyLabs> schoolTeacherExperimentApplyLabs = schoollTeacherExperimentApplyLabsService.list(wrapper);
list1.setSchoolTeacherExperimentApplyLabsList(schoolTeacherExperimentApplyLabs);
});
return getDataTable(list);
}
//实验室管理员通道
List<String> labSubs = new ArrayList<>();
for (SysRole role : roles) {
if (role.getRoleKey().equals("admin")){
startPage();
List<SchoolTeacherExperimentApplyVo> list = schoolTeacherExperimentApplyService.selectSchoolTeacherExperimentApplyList(schoolTeacherExperimentApplyVo);
list.forEach(list1 -> {
String semester = "";
if (list1.getSemester().equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
list1.setSchoolYearSemester(list1.getSchoolYear() + semester);
list1.setPlannedTime(format.format(list1.getPlannedStartTime()) + "至" + format.format(list1.getPlannedEndTime()));
LambdaQueryWrapper<SchoolTeacherExperimentApplyLabs> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SchoolTeacherExperimentApplyLabs::getTeacherExperimentApplyId,list1.getId());
List<SchoolTeacherExperimentApplyLabs> schoolTeacherExperimentApplyLabs = schoollTeacherExperimentApplyLabsService.list(wrapper);
list1.setSchoolTeacherExperimentApplyLabsList(schoolTeacherExperimentApplyLabs);
});
return getDataTable(list);
}
switch (role.getRoleKey()){
case "phy_lab_admin":
labSubs.add("1");
break;
case "che_lab_admin":
labSubs.add("2");
break;
case "bio_lab_admin":
labSubs.add("3");
break;
default:break;
}
}
schoolTeacherExperimentApplyVo.setSubs(labSubs);
startPage();
List<SchoolTeacherExperimentApplyVo> list = schoolTeacherExperimentApplyService.selectSchoolTeacherExperimentApplyList(schoolTeacherExperimentApplyVo);
list.forEach(list1 -> {
String semester = "";
if (list1.getSemester().equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
list1.setSchoolYearSemester(list1.getSchoolYear() + semester);
list1.setPlannedTime(format.format(list1.getPlannedStartTime()) + "至" + format.format(list1.getPlannedEndTime()));
if (list1.getDeclareState().equals("3") || list1.getDeclareState().equals("2")){
LambdaQueryWrapper<SchoolTeacherExperimentApplyLabs> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SchoolTeacherExperimentApplyLabs::getTeacherExperimentApplyId,list1.getId());
List<SchoolTeacherExperimentApplyLabs> schoolTeacherExperimentApplyLabs = schoollTeacherExperimentApplyLabsService.list(wrapper);
list1.setSchoolTeacherExperimentApplyLabsList(schoolTeacherExperimentApplyLabs);
}
});
return getDataTable(list);
}
/**
* 实验室管理-教师个人演示实验审批-分配实验室
*/
@PostMapping("/teacherExperimentLabs")
public AjaxResult teacherExperimentLabs(@RequestBody SchoolTeacherExperimentApplyVo schoolTeacherExperimentApplyVo){
return toAjax(schoolTeacherExperimentApplyService.teacherExperimentLabs(schoolTeacherExperimentApplyVo));
}
} }
...@@ -2,6 +2,10 @@ package yangtz.cs.liu.campus.controller.schoolLab; ...@@ -2,6 +2,10 @@ package yangtz.cs.liu.campus.controller.schoolLab;
import java.util.List; import java.util.List;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
...@@ -15,10 +19,13 @@ import com.ruoyi.common.annotation.Log; ...@@ -15,10 +19,13 @@ import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import yangtz.cs.liu.campus.domain.accessory.SchoolAccessory;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherLabApply; import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherLabApply;
import yangtz.cs.liu.campus.service.accessory.IAccessoryService;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolTeacherLabApplyService; import yangtz.cs.liu.campus.service.schoolLab.ISchoolTeacherLabApplyService;
import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolTeacherLabApplyVo;
/** /**
* 教师实验室申请Controller * 教师实验室申请Controller
...@@ -32,16 +39,59 @@ public class SchoolTeacherLabApplyController extends BaseController ...@@ -32,16 +39,59 @@ public class SchoolTeacherLabApplyController extends BaseController
{ {
@Autowired @Autowired
private ISchoolTeacherLabApplyService schoolTeacherLabApplyService; private ISchoolTeacherLabApplyService schoolTeacherLabApplyService;
@Autowired
private IAccessoryService accessoryService;
/** /**
* 查询教师实验室申请列表 * 查询教师实验室申请列表
*/ */
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(SchoolTeacherLabApply schoolTeacherLabApply) public TableDataInfo list(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo)
{ {
//获取登录用户
SysUser user = SecurityUtils.getLoginUser().getUser();
if (user.isAdmin()){
startPage(); startPage();
List<SchoolTeacherLabApply> list = schoolTeacherLabApplyService.selectSchoolTeacherLabApplyList(schoolTeacherLabApply); List<SchoolTeacherLabApplyVo> schoolTeacherLabApplyVos = schoolTeacherLabApplyService.selectSchoolTeacherLabApplyList(schoolTeacherLabApplyVo);
return getDataTable(list); for (SchoolTeacherLabApplyVo teacherLabApplyVo : schoolTeacherLabApplyVos) {
LambdaQueryWrapper<SchoolAccessory> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SchoolAccessory::getBusinessId,teacherLabApplyVo.getId())
.eq(SchoolAccessory::getAccessoryType,"教师实验室附件");
List<SchoolAccessory> schoolAccessories = accessoryService.list(wrapper);
if (schoolAccessories.size() > 0){
teacherLabApplyVo.setSchoolAccessoryList(schoolAccessories);
}
String semester = "";
if (teacherLabApplyVo.getSemester().equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
teacherLabApplyVo.setSchoolYearSemester(teacherLabApplyVo.getSchoolYear() + semester);
}
return getDataTable(schoolTeacherLabApplyVos);
}
//普通教师通道
schoolTeacherLabApplyVo.setApplyId(user.getUserId());
startPage();
List<SchoolTeacherLabApplyVo> schoolTeacherLabApplyVos = schoolTeacherLabApplyService.selectSchoolTeacherLabApplyList(schoolTeacherLabApplyVo);
for (SchoolTeacherLabApplyVo teacherLabApplyVo : schoolTeacherLabApplyVos) {
LambdaQueryWrapper<SchoolAccessory> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SchoolAccessory::getBusinessId,teacherLabApplyVo.getId())
.eq(SchoolAccessory::getAccessoryType,"教师实验室附件");
List<SchoolAccessory> schoolAccessories = accessoryService.list(wrapper);
if (schoolAccessories.size() > 0){
teacherLabApplyVo.setSchoolAccessoryList(schoolAccessories);
}
String semester = "";
if (teacherLabApplyVo.getSemester().equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
teacherLabApplyVo.setSchoolYearSemester(teacherLabApplyVo.getSchoolYear() + semester);
}
return getDataTable(schoolTeacherLabApplyVos);
} }
/** /**
...@@ -49,10 +99,10 @@ public class SchoolTeacherLabApplyController extends BaseController ...@@ -49,10 +99,10 @@ public class SchoolTeacherLabApplyController extends BaseController
*/ */
@Log(title = "教师实验室申请", businessType = BusinessType.EXPORT) @Log(title = "教师实验室申请", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
public void export(HttpServletResponse response, SchoolTeacherLabApply schoolTeacherLabApply) public void export(HttpServletResponse response, SchoolTeacherLabApplyVo schoolTeacherLabApplyVo)
{ {
List<SchoolTeacherLabApply> list = schoolTeacherLabApplyService.selectSchoolTeacherLabApplyList(schoolTeacherLabApply); List<SchoolTeacherLabApplyVo> list = schoolTeacherLabApplyService.selectSchoolTeacherLabApplyList(schoolTeacherLabApplyVo);
ExcelUtil<SchoolTeacherLabApply> util = new ExcelUtil<SchoolTeacherLabApply>(SchoolTeacherLabApply.class); ExcelUtil<SchoolTeacherLabApplyVo> util = new ExcelUtil<SchoolTeacherLabApplyVo>(SchoolTeacherLabApplyVo.class);
util.exportExcel(response, list, "教师实验室申请数据"); util.exportExcel(response, list, "教师实验室申请数据");
} }
...@@ -62,7 +112,22 @@ public class SchoolTeacherLabApplyController extends BaseController ...@@ -62,7 +112,22 @@ public class SchoolTeacherLabApplyController extends BaseController
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) public AjaxResult getInfo(@PathVariable("id") Long id)
{ {
return AjaxResult.success(schoolTeacherLabApplyService.selectSchoolTeacherLabApplyById(id)); SchoolTeacherLabApplyVo schoolTeacherLabApplyVo = schoolTeacherLabApplyService.selectSchoolTeacherLabApplyById(id);
LambdaQueryWrapper<SchoolAccessory> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SchoolAccessory::getBusinessId,id)
.eq(SchoolAccessory::getAccessoryType,"教师实验室附件");
List<SchoolAccessory> schoolAccessories = accessoryService.list(wrapper);
if (schoolAccessories.size() > 0){
schoolTeacherLabApplyVo.setSchoolAccessoryList(schoolAccessories);
}
String semester = "";
if (schoolTeacherLabApplyVo.getSemester().equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
schoolTeacherLabApplyVo.setSchoolYearSemester(schoolTeacherLabApplyVo.getSchoolYear() + semester);
return AjaxResult.success(schoolTeacherLabApplyVo);
} }
/** /**
...@@ -70,9 +135,9 @@ public class SchoolTeacherLabApplyController extends BaseController ...@@ -70,9 +135,9 @@ public class SchoolTeacherLabApplyController extends BaseController
*/ */
@Log(title = "教师实验室申请", businessType = BusinessType.INSERT) @Log(title = "教师实验室申请", businessType = BusinessType.INSERT)
@PostMapping("/add") @PostMapping("/add")
public AjaxResult add(@RequestBody SchoolTeacherLabApply schoolTeacherLabApply) public AjaxResult add(@RequestBody SchoolTeacherLabApplyVo schoolTeacherLabApplyVo)
{ {
return toAjax(schoolTeacherLabApplyService.insertSchoolTeacherLabApply(schoolTeacherLabApply)); return toAjax(schoolTeacherLabApplyService.insertSchoolTeacherLabApplyVo(schoolTeacherLabApplyVo));
} }
/** /**
...@@ -80,9 +145,9 @@ public class SchoolTeacherLabApplyController extends BaseController ...@@ -80,9 +145,9 @@ public class SchoolTeacherLabApplyController extends BaseController
*/ */
@Log(title = "教师实验室申请", businessType = BusinessType.UPDATE) @Log(title = "教师实验室申请", businessType = BusinessType.UPDATE)
@PutMapping("/edit") @PutMapping("/edit")
public AjaxResult edit(@RequestBody SchoolTeacherLabApply schoolTeacherLabApply) public AjaxResult edit(@RequestBody SchoolTeacherLabApplyVo schoolTeacherLabApplyVo)
{ {
return toAjax(schoolTeacherLabApplyService.updateSchoolTeacherLabApply(schoolTeacherLabApply)); return toAjax(schoolTeacherLabApplyService.updateSchoolTeacherLabApplyVo(schoolTeacherLabApplyVo));
} }
/** /**
...@@ -94,4 +159,47 @@ public class SchoolTeacherLabApplyController extends BaseController ...@@ -94,4 +159,47 @@ public class SchoolTeacherLabApplyController extends BaseController
{ {
return toAjax(schoolTeacherLabApplyService.deleteSchoolTeacherLabApplyByIds(ids)); return toAjax(schoolTeacherLabApplyService.deleteSchoolTeacherLabApplyByIds(ids));
} }
/**
* 获取实验室使用状态
* @return
*/
@GetMapping("/getTeacherLab")
public AjaxResult getTeacherLab(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo){
return AjaxResult.success(schoolTeacherLabApplyService.getTeacherLab(schoolTeacherLabApplyVo));
}
/**
* 获取班级
*/
@GetMapping("/getTeacherClass")
public AjaxResult getTeacherClass(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo){
return AjaxResult.success(schoolTeacherLabApplyService.getTeacherClass(schoolTeacherLabApplyVo));
}
/**
* 上传附件
*/
@PutMapping("/attachment")
public AjaxResult attachment(@RequestBody SchoolTeacherLabApplyVo schoolTeacherLabApplyVo){
return toAjax(schoolTeacherLabApplyService.updateTeacherLab(schoolTeacherLabApplyVo));
}
/**
* 实验室管理-教师申请列表
*/
@GetMapping("/getTeacherLabApplyList")
public TableDataInfo getTeacherLabApplyList(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo){
startPage();
List<SchoolTeacherLabApplyVo> list = schoolTeacherLabApplyService.getTeacherLabApplyList(schoolTeacherLabApplyVo);
return getDataTable(list);
}
/**
* 实验室管理-教师申请审批确认
*/
@PutMapping("/updateState")
public AjaxResult updateState(@RequestBody SchoolTeacherLabApply schoolTeacherLabApply){
return toAjax(schoolTeacherLabApplyService.updateState(schoolTeacherLabApply));
}
} }
package yangtz.cs.liu.campus.domain.accessory; package yangtz.cs.liu.campus.domain.accessory;
import com.core.domain.OurBaseEntity;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.annotation.Excel;
import java.util.Date;
/** /**
* 附件对象 accessory * 附件对象 accessory
* *
* @author ruoyi * @author ruoyi
* @date 2023-07-24 * @date 2023-07-24
*/ */
public class SchoolAccessory @Data
public class SchoolAccessory extends OurBaseEntity
{ {
/** 附件主键id */
private Long id;
/** 业务id */ /** 业务id */
@Excel(name = "业务id") @Excel(name = "业务id")
private Long businessId; private Long businessId;
...@@ -35,71 +37,4 @@ public class SchoolAccessory ...@@ -35,71 +37,4 @@ public class SchoolAccessory
/** 附件名称 */ /** 附件名称 */
@Excel(name = "附件名称") @Excel(name = "附件名称")
private String accessoryName; private String accessoryName;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setBusinessId(Long businessId)
{
this.businessId = businessId;
}
public Long getBusinessId()
{
return businessId;
}
public void setModuleName(String moduleName)
{
this.moduleName = moduleName;
}
public String getModuleName()
{
return moduleName;
}
public void setAccessoryType(String accessoryType)
{
this.accessoryType = accessoryType;
}
public String getAccessoryType()
{
return accessoryType;
}
public void setAccessoryUrl(String accessoryUrl)
{
this.accessoryUrl = accessoryUrl;
}
public String getAccessoryUrl()
{
return accessoryUrl;
}
public void setAccessoryName(String accessoryName)
{
this.accessoryName = accessoryName;
}
public String getAccessoryName()
{
return accessoryName;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("businessId", getBusinessId())
.append("moduleName", getModuleName())
.append("accessoryType", getAccessoryType())
.append("accessoryUrl", getAccessoryUrl())
.append("accessoryName", getAccessoryName())
.toString();
}
} }
...@@ -19,17 +19,18 @@ public class SchoolLabClassYear extends OurBaseEntity ...@@ -19,17 +19,18 @@ public class SchoolLabClassYear extends OurBaseEntity
{ {
/** 实验计划id */ /** 实验计划id */
private String experimentPlanId; private Long experimentPlanId;
/** 实验名称 */
private String experimentName;
/** 级部id */
private Long gradeId;
/** 级部 */ /** 级部 */
@Excel(name = "级部") @Excel(name = "级部")
private String grade; private String grade;
/**
* 级部id
*/
private Integer gradeId;
/** 学年 */ /** 学年 */
@Excel(name = "学年") @Excel(name = "学年")
private String schoolYear; private String schoolYear;
......
...@@ -24,6 +24,9 @@ public class SchoolLabClassYearRelation ...@@ -24,6 +24,9 @@ public class SchoolLabClassYearRelation
/** 实验室id */ /** 实验室id */
private Long labId; private Long labId;
/** 实验室名称 */
private String labName;
/** 删除状态 */ /** 删除状态 */
private String delFlag; private String delFlag;
} }
...@@ -37,9 +37,13 @@ public class SchoolTeacherExperimentApply extends OurBaseEntity ...@@ -37,9 +37,13 @@ public class SchoolTeacherExperimentApply extends OurBaseEntity
@Excel(name = "学期") @Excel(name = "学期")
private String semester; private String semester;
/** 规划时间 */ /** 规划开始时间 */
@Excel(name = "规划时间") @Excel(name = "规划开始时间")
private String plannedTime; private String plannedStartTime;
/** 规划结束时间 */
@Excel(name = "规划结束时间")
private String plannedEndTime;
/** 实验名称 */ /** 实验名称 */
@Excel(name = "实验名称") @Excel(name = "实验名称")
...@@ -53,14 +57,6 @@ public class SchoolTeacherExperimentApply extends OurBaseEntity ...@@ -53,14 +57,6 @@ public class SchoolTeacherExperimentApply extends OurBaseEntity
@Excel(name = "实验用品") @Excel(name = "实验用品")
private String experimentUseGoods; private String experimentUseGoods;
/** 实验室id */
@Excel(name = "实验室id")
private String labId;
/** 实验室名称 */
@Excel(name = "实验室名称")
private String labName;
/** 申报状态(0未申报,1已申报,2已阅读,3已分配) */ /** 申报状态(0未申报,1已申报,2已阅读,3已分配) */
@Excel(name = "申报状态", readConverterExp = "0=未申报,1=已申报,2=已阅读,3=已分配") @Excel(name = "申报状态", readConverterExp = "0=未申报,1=已申报,2=已阅读,3=已分配")
private String declareState; private String declareState;
......
package yangtz.cs.liu.campus.domain.schoolLab;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
@Data
public class SchoolTeacherExperimentApplyLabs {
/** 主键id */
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/** 教师个人实验申请主键id */
private Long teacherExperimentApplyId;
/** 实验室id */
private Long labId;
/** 实验室名称 */
private String labName;
/** 删除状态 */
private String delFlag;
}
...@@ -25,10 +25,19 @@ public class SchoolTeacherLabApply extends OurBaseEntity ...@@ -25,10 +25,19 @@ public class SchoolTeacherLabApply extends OurBaseEntity
@Excel(name = "实验分类", readConverterExp = "1=分组实验,2=演示实验,3=探究实验") @Excel(name = "实验分类", readConverterExp = "1=分组实验,2=演示实验,3=探究实验")
private String experimentClassify; private String experimentClassify;
/** 实验计划id */
private Long experimentPlanId;
/** 实验名称 */
private String experimentName;
/** 学科(1物理,2化学,3生物) */ /** 学科(1物理,2化学,3生物) */
@Excel(name = "学科", readConverterExp = "1=物理,2=化学,3=生物") @Excel(name = "学科", readConverterExp = "1=物理,2=化学,3=生物")
private String sub; private String sub;
/** 级部id */
private Long gradeId;
/** 级部 */ /** 级部 */
@Excel(name = "级部") @Excel(name = "级部")
private String grade; private String grade;
...@@ -87,13 +96,6 @@ public class SchoolTeacherLabApply extends OurBaseEntity ...@@ -87,13 +96,6 @@ public class SchoolTeacherLabApply extends OurBaseEntity
@Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd") @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date applyTime; private Date applyTime;
/** /** 实验室是否使用完成 (0未完成,1完成) */
* 实验室是否使用完成 (0未完成,1完成)
*/
private String state; private String state;
/**
* 备注
*/
private String remark;
} }
...@@ -32,4 +32,7 @@ public class SchoolGradeMentor extends OurBaseEntity { ...@@ -32,4 +32,7 @@ public class SchoolGradeMentor extends OurBaseEntity {
/** 职务 */ /** 职务 */
@NotBlank(message = "职务不能为空") @NotBlank(message = "职务不能为空")
private String teacherPost; private String teacherPost;
/** 学科组(1物理学科组,2化学学科组,3生物学科组) */
private String subGroup;
} }
...@@ -37,13 +37,6 @@ public interface SchoolClassMapper extends BaseMapper<SchoolClass> { ...@@ -37,13 +37,6 @@ public interface SchoolClassMapper extends BaseMapper<SchoolClass> {
SchoolClass getUserClassByParent(Long studentId); SchoolClass getUserClassByParent(Long studentId);
/** /**
* 跟进classid获取班级名称
* @param studentId
* @return
*/
String getClassName(Long classId);
/**
* 微信公众号(老师查看班级) * 微信公众号(老师查看班级)
* *
* @param teacherId * @param teacherId
......
...@@ -37,10 +37,10 @@ public interface SchoolExperimentPlanMapper extends BaseMapper<SchoolExperimentP ...@@ -37,10 +37,10 @@ public interface SchoolExperimentPlanMapper extends BaseMapper<SchoolExperimentP
/** /**
* 新增实验计划 * 新增实验计划
* *
* @param schoolExperimentPlan 实验计划 * @param schoolExperimentPlanVo 实验计划
* @return 结果 * @return 结果
*/ */
public int insertSchoolExperimentPlan(SchoolExperimentPlan schoolExperimentPlan); public int insertSchoolExperimentPlan(SchoolExperimentPlanVo schoolExperimentPlanVo);
/** /**
* 修改实验计划 * 修改实验计划
...@@ -96,12 +96,26 @@ public interface SchoolExperimentPlanMapper extends BaseMapper<SchoolExperimentP ...@@ -96,12 +96,26 @@ public interface SchoolExperimentPlanMapper extends BaseMapper<SchoolExperimentP
* @param schoolYear * @param schoolYear
* @return * @return
*/ */
List<Map<String, String>> getGrade(@Param("schoolYear") int schoolYear,@Param("userId") Long userId); List<Map<String, Object>> getGrade(@Param("schoolYear") int schoolYear,@Param("userId") Long userId);
/** /**
* 根据级部查询对应班级 * 根据级部查询对应班级
* @param gradeId * @param gradeId
* @return * @return
*/ */
List<Map<String, String>> getSchoolClass(@Param("gradeId") Long gradeId); List<Map<String, Object>> getSchoolClass(@Param("gradeId") Long gradeId);
/**
* 实验室管理-级部实验计划查看列表
* @param schoolExperimentPlanVo
* @return
*/
List<SchoolExperimentPlanVo> getExperimentList(SchoolExperimentPlanVo schoolExperimentPlanVo);
/**
* 领导-查看实验室完成情况列表
* @param schoolExperimentPlanVo
* @return
*/
List<Map<String, Object>> countExperiment(SchoolExperimentPlanVo schoolExperimentPlanVo);
} }
package yangtz.cs.liu.campus.mapper.schoolLab; package yangtz.cs.liu.campus.mapper.schoolLab;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import io.lettuce.core.dynamic.annotation.Param; import org.apache.ibatis.annotations.Param;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear; import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYearRelation; import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYearRelation;
import yangtz.cs.liu.campus.vo.schoolLab.ClassSituationVo;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolLabClassYearVo;
import java.util.List; import java.util.List;
import yangtz.cs.liu.campus.vo.schoolLab.ClassSituationVo;
/** /**
* 年级实验室预约Mapper接口 * 年级实验室预约Mapper接口
...@@ -23,24 +24,15 @@ public interface SchoolLabClassYearMapper extends BaseMapper<SchoolLabClassYear> ...@@ -23,24 +24,15 @@ public interface SchoolLabClassYearMapper extends BaseMapper<SchoolLabClassYear>
* @param id 年级实验室预约主键 * @param id 年级实验室预约主键
* @return 年级实验室预约 * @return 年级实验室预约
*/ */
public SchoolLabClassYear selectSchoolLabClassYearById(Long id); public SchoolLabClassYearVo selectSchoolLabClassYearById(Long id);
/** /**
* 查询年级实验室预约列表 * 查询年级实验室预约列表
* *
* @param schoolLabClassYear 年级实验室预约 * @param schoolLabClassYearVo 年级实验室预约
* @return 年级实验室预约集合 * @return 年级实验室预约集合
*/ */
public List<SchoolLabClassYear> selectSchoolLabClassYearList(SchoolLabClassYear schoolLabClassYear); public List<SchoolLabClassYearVo> selectSchoolLabClassYearList(SchoolLabClassYearVo schoolLabClassYearVo);
/**
* 获取年级 班级完成情况信息
* @param
* @return
*/
public List<ClassSituationVo> classSituation(ClassSituationVo classSituationVo);
public List<ClassSituationVo> getexperimentList(ClassSituationVo classSituationVo);
/** /**
* 新增年级实验室预约 * 新增年级实验室预约
...@@ -98,4 +90,41 @@ public interface SchoolLabClassYearMapper extends BaseMapper<SchoolLabClassYear> ...@@ -98,4 +90,41 @@ public interface SchoolLabClassYearMapper extends BaseMapper<SchoolLabClassYear>
* @return 结果 * @return 结果
*/ */
public int deleteSchoolLabClassYearRelationByLabClassYearId(Long id); public int deleteSchoolLabClassYearRelationByLabClassYearId(Long id);
/**
* 实验室管理-年级实验室预约列表
* @param schoolLabClassYearVo
* @return
*/
List<SchoolLabClassYearVo> getLabClassYear(SchoolLabClassYearVo schoolLabClassYearVo);
/**
* 获取实验室id
* @param labClassYearIds
* @return
*/
List<Long> seletLabId(@Param("labClassYearIds") List<Long> labClassYearIds);
/**
* 实验室管理-年级实验室预约查看详情
* @param id
* @return
*/
SchoolLabClassYearVo getLabClassYearById(Long id);
/**
* 教师-实验室安排列表
* @param schoolLabClassYearVo
* @return
*/
List<SchoolLabClassYearVo> getTeacherLabList(SchoolLabClassYearVo schoolLabClassYearVo);
/**
* 获取年级 班级完成情况信息
* @param
* @return
*/
public List<ClassSituationVo> classSituation(ClassSituationVo classSituationVo);
public List<ClassSituationVo> getexperimentList(ClassSituationVo classSituationVo);
} }
package yangtz.cs.liu.campus.mapper.schoolLab;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYearRelation;
public interface SchoolLabClassYearRelationMapper extends BaseMapper<SchoolLabClassYearRelation> {
}
package yangtz.cs.liu.campus.mapper.schoolLab; package yangtz.cs.liu.campus.mapper.schoolLab;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import yangtz.cs.liu.campus.domain.accessory.SchoolAccessory;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabCompetition; import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabCompetition;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolLabCompetitionVo;
import java.util.List; import java.util.List;
...@@ -20,31 +22,31 @@ public interface SchoolLabCompetitionMapper extends BaseMapper<SchoolLabCompetit ...@@ -20,31 +22,31 @@ public interface SchoolLabCompetitionMapper extends BaseMapper<SchoolLabCompetit
* @param id 实验室竞赛主键 * @param id 实验室竞赛主键
* @return 实验室竞赛 * @return 实验室竞赛
*/ */
public SchoolLabCompetition selectSchoolLabCompetitionById(Long id); public SchoolLabCompetitionVo selectSchoolLabCompetitionById(Long id);
/** /**
* 查询实验室竞赛列表 * 查询实验室竞赛列表
* *
* @param schoolLabCompetition 实验室竞赛 * @param schoolLabCompetitionVo 实验室竞赛
* @return 实验室竞赛集合 * @return 实验室竞赛集合
*/ */
public List<SchoolLabCompetition> selectSchoolLabCompetitionList(SchoolLabCompetition schoolLabCompetition); public List<SchoolLabCompetitionVo> selectSchoolLabCompetitionList(SchoolLabCompetitionVo schoolLabCompetitionVo);
/** /**
* 新增实验室竞赛 * 新增实验室竞赛
* *
* @param schoolLabCompetition 实验室竞赛 * @param schoolLabCompetitionVo 实验室竞赛
* @return 结果 * @return 结果
*/ */
public int insertSchoolLabCompetition(SchoolLabCompetition schoolLabCompetition); public int insertSchoolLabCompetition(SchoolLabCompetitionVo schoolLabCompetitionVo);
/** /**
* 修改实验室竞赛 * 修改实验室竞赛
* *
* @param schoolLabCompetition 实验室竞赛 * @param schoolLabCompetitionVo 实验室竞赛
* @return 结果 * @return 结果
*/ */
public int updateSchoolLabCompetition(SchoolLabCompetition schoolLabCompetition); public int updateSchoolLabCompetition(SchoolLabCompetitionVo schoolLabCompetitionVo);
/** /**
* 删除实验室竞赛 * 删除实验室竞赛
...@@ -61,4 +63,25 @@ public interface SchoolLabCompetitionMapper extends BaseMapper<SchoolLabCompetit ...@@ -61,4 +63,25 @@ public interface SchoolLabCompetitionMapper extends BaseMapper<SchoolLabCompetit
* @return 结果 * @return 结果
*/ */
public int deleteSchoolLabCompetitionByIds(Long[] ids); public int deleteSchoolLabCompetitionByIds(Long[] ids);
/**
* 新增证书照片
* @param list
* @return
*/
int batchSchoolAccessory(List<SchoolAccessory> list);
/**
* 批量删除证书照片
* @param ids
* @return
*/
int deleteSchoolAccessoryByBusinessIds(Long[] ids);
/**
* 删除证书照片
* @param id
* @return
*/
int deleteSchoolAccessoryByBusinessId(Long id);
} }
...@@ -3,6 +3,7 @@ package yangtz.cs.liu.campus.mapper.schoolLab; ...@@ -3,6 +3,7 @@ package yangtz.cs.liu.campus.mapper.schoolLab;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLab; import yangtz.cs.liu.campus.domain.schoolLab.SchoolLab;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolLabVo;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -22,15 +23,15 @@ public interface SchoolLabMapper extends BaseMapper<SchoolLab> ...@@ -22,15 +23,15 @@ public interface SchoolLabMapper extends BaseMapper<SchoolLab>
* @param id 实验室主键 * @param id 实验室主键
* @return 实验室 * @return 实验室
*/ */
public SchoolLab selectSchoolLabById(Long id); public SchoolLabVo selectSchoolLabById(Long id);
/** /**
* 查询实验室列表 * 查询实验室列表
* *
* @param schoolLab 实验室 * @param schoolLabVo 实验室
* @return 实验室集合 * @return 实验室集合
*/ */
public List<SchoolLab> selectSchoolLabList(SchoolLab schoolLab); public List<SchoolLabVo> selectSchoolLabList(SchoolLabVo schoolLabVo);
/** /**
* 新增实验室 * 新增实验室
......
...@@ -2,6 +2,8 @@ package yangtz.cs.liu.campus.mapper.schoolLab; ...@@ -2,6 +2,8 @@ package yangtz.cs.liu.campus.mapper.schoolLab;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherExperimentApply; import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherExperimentApply;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherExperimentApplyLabs;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolTeacherExperimentApplyVo;
import java.util.List; import java.util.List;
...@@ -20,31 +22,31 @@ public interface SchoolTeacherExperimentApplyMapper extends BaseMapper<SchoolTea ...@@ -20,31 +22,31 @@ public interface SchoolTeacherExperimentApplyMapper extends BaseMapper<SchoolTea
* @param id 教师个人实验申请主键 * @param id 教师个人实验申请主键
* @return 教师个人实验申请 * @return 教师个人实验申请
*/ */
public SchoolTeacherExperimentApply selectSchoolTeacherExperimentApplyById(Long id); public SchoolTeacherExperimentApplyVo selectSchoolTeacherExperimentApplyById(Long id);
/** /**
* 查询教师个人实验申请列表 * 查询教师个人实验申请列表
* *
* @param schoolTeacherExperimentApply 教师个人实验申请 * @param schoolTeacherExperimentApplyVo 教师个人实验申请
* @return 教师个人实验申请集合 * @return 教师个人实验申请集合
*/ */
public List<SchoolTeacherExperimentApply> selectSchoolTeacherExperimentApplyList(SchoolTeacherExperimentApply schoolTeacherExperimentApply); public List<SchoolTeacherExperimentApplyVo> selectSchoolTeacherExperimentApplyList(SchoolTeacherExperimentApplyVo schoolTeacherExperimentApplyVo);
/** /**
* 新增教师个人实验申请 * 新增教师个人实验申请
* *
* @param schoolTeacherExperimentApply 教师个人实验申请 * @param schoolTeacherExperimentApplyVo 教师个人实验申请
* @return 结果 * @return 结果
*/ */
public int insertSchoolTeacherExperimentApply(SchoolTeacherExperimentApply schoolTeacherExperimentApply); public int insertSchoolTeacherExperimentApply(SchoolTeacherExperimentApplyVo schoolTeacherExperimentApplyVo);
/** /**
* 修改教师个人实验申请 * 修改教师个人实验申请
* *
* @param schoolTeacherExperimentApply 教师个人实验申请 * @param schoolTeacherExperimentApplyVo 教师个人实验申请
* @return 结果 * @return 结果
*/ */
public int updateSchoolTeacherExperimentApply(SchoolTeacherExperimentApply schoolTeacherExperimentApply); public int updateSchoolTeacherExperimentApply(SchoolTeacherExperimentApplyVo schoolTeacherExperimentApplyVo);
/** /**
* 删除教师个人实验申请 * 删除教师个人实验申请
...@@ -61,4 +63,19 @@ public interface SchoolTeacherExperimentApplyMapper extends BaseMapper<SchoolTea ...@@ -61,4 +63,19 @@ public interface SchoolTeacherExperimentApplyMapper extends BaseMapper<SchoolTea
* @return 结果 * @return 结果
*/ */
public int deleteSchoolTeacherExperimentApplyByIds(Long[] ids); public int deleteSchoolTeacherExperimentApplyByIds(Long[] ids);
/**
* 批量新增教师个人实验申请实验室
*/
public int batchSchoolTeacherExperimentApplyLabs(List<SchoolTeacherExperimentApplyLabs> schoolTeacherExperimentApplyLabsList);
/**
* 批量删除教师个人实验申请实验室
*/
public int deleteSchoolTeacherExperimentApplyLabsIds(Long[] ids);
/**
* 删除教师个人实验申请实验室
*/
public int deleteSchoolTeacherExperimentApplyLabsId(Long id);
} }
package yangtz.cs.liu.campus.mapper.schoolLab; package yangtz.cs.liu.campus.mapper.schoolLab;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.Map; import yangtz.cs.liu.campus.domain.accessory.SchoolAccessory;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherLabApply; import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherLabApply;
import yangtz.cs.liu.campus.vo.schoolLab.ClassSituationVo;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolTeacherLabApplyVo;
import java.util.List; import java.util.List;
import yangtz.cs.liu.campus.vo.schoolLab.ClassSituationVo; import java.util.Map;
/** /**
* 教师实验室申请Mapper接口 * 教师实验室申请Mapper接口
...@@ -21,38 +23,31 @@ public interface SchoolTeacherLabApplyMapper extends BaseMapper<SchoolTeacherLab ...@@ -21,38 +23,31 @@ public interface SchoolTeacherLabApplyMapper extends BaseMapper<SchoolTeacherLab
* @param id 教师实验室申请主键 * @param id 教师实验室申请主键
* @return 教师实验室申请 * @return 教师实验室申请
*/ */
public SchoolTeacherLabApply selectSchoolTeacherLabApplyById(Long id); public SchoolTeacherLabApplyVo selectSchoolTeacherLabApplyById(Long id);
/** /**
* 查询教师实验室申请列表 * 查询教师实验室申请列表
* *
* @param schoolTeacherLabApply 教师实验室申请 * @param schoolTeacherLabApplyVo 教师实验室申请
* @return 教师实验室申请集合 * @return 教师实验室申请集合
*/ */
public List<SchoolTeacherLabApply> selectSchoolTeacherLabApplyList(SchoolTeacherLabApply schoolTeacherLabApply); public List<SchoolTeacherLabApplyVo> selectSchoolTeacherLabApplyList(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo);
/** /**
* 新增教师实验室申请 * 新增教师实验室申请
* *
* @param schoolTeacherLabApply 教师实验室申请 * @param schoolTeacherLabApplyVo 教师实验室申请
* @return 结果 * @return 结果
*/ */
public int insertSchoolTeacherLabApply(SchoolTeacherLabApply schoolTeacherLabApply); public int insertSchoolTeacherLabApply(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo);
/**
* 计算本学年学期完成多少数量
*/
public Integer selectCompletedQuantity(ClassSituationVo classSituationVo);
public List<Map<String, String>> selectTeacherList(SchoolTeacherLabApply schoolTeacherLabApply);
/** /**
* 修改教师实验室申请 * 修改教师实验室申请
* *
* @param schoolTeacherLabApply 教师实验室申请 * @param schoolTeacherLabApplyVo 教师实验室申请
* @return 结果 * @return 结果
*/ */
public int updateSchoolTeacherLabApply(SchoolTeacherLabApply schoolTeacherLabApply); public int updateSchoolTeacherLabApply(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo);
/** /**
* 删除教师实验室申请 * 删除教师实验室申请
...@@ -69,4 +64,74 @@ public interface SchoolTeacherLabApplyMapper extends BaseMapper<SchoolTeacherLab ...@@ -69,4 +64,74 @@ public interface SchoolTeacherLabApplyMapper extends BaseMapper<SchoolTeacherLab
* @return 结果 * @return 结果
*/ */
public int deleteSchoolTeacherLabApplyByIds(Long[] ids); public int deleteSchoolTeacherLabApplyByIds(Long[] ids);
/**
* 获取老师在班级
* @param schoolTeacherLabApplyVo
* @return
*/
List<Map<String, Object>> getTeacherClass(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo);
/**
* 获取全部班级
* @param schoolTeacherLabApplyVo
* @return
*/
List<Map<String, Object>> getTeacherClassAll(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo);
/**
* 新增附件信息
* @param list
* @return
*/
int batchSchoolAccessory(List<SchoolAccessory> list);
/**
* 删除附件信息
* @param id
* @return
*/
int deleteSchoolAccessoryByBusinessId(Long id);
/**
* 批量删除附件信息
* @param ids
* @return
*/
int deleteSchoolAccessoryByBusinessIds(Long[] ids);
/**
* 查看班级完成详情
* @param schoolTeacherLabApplyVo
* @return
*/
List<Map<String, Object>> getClassDetails(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo);
/**
* 教师实验统计
* @param schoolTeacherLabApplyVo
* @return
*/
List<Map<String, Object>> getCountTeacher(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo);
/**
* 级部-班级完成情况明细
* @param schoolTeacherLabApplyVo
* @return
*/
List<Map<String, Object>> gradeCountClass(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo);
/**
* 级部-班级完成情况明细-查看班级完成情况详情
* @param schoolTeacherLabApplyVo
* @return
*/
List<SchoolTeacherLabApplyVo> getGradeClassDetails(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo);
/**
* 计算本学年学期完成多少数量
*/
public Integer selectCompletedQuantity(ClassSituationVo classSituationVo);
public List<Map<String, String>> selectTeacherList(SchoolTeacherLabApply schoolTeacherLabApply);
} }
package yangtz.cs.liu.campus.mapper.schoolLab;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherExperimentApplyLabs;
public interface SchoollTeacherExperimentApplyLabsMapper extends BaseMapper<SchoolTeacherExperimentApplyLabs> {
}
package yangtz.cs.liu.campus.service.impl.schoolLab; package yangtz.cs.liu.campus.service.impl.schoolLab;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.List; import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
...@@ -16,12 +19,20 @@ import java.util.Map; ...@@ -16,12 +19,20 @@ import java.util.Map;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import yangtz.cs.liu.campus.domain.schoolClass.SchoolClass;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolExperimentPlanClass; import yangtz.cs.liu.campus.domain.schoolLab.SchoolExperimentPlanClass;
import yangtz.cs.liu.campus.domain.schoolgrade.SchoolGrade;
import yangtz.cs.liu.campus.domain.schoolgrade.SchoolGradeMentor;
import yangtz.cs.liu.campus.mapper.schoolClass.SchoolClassMapper;
import yangtz.cs.liu.campus.mapper.schoolLab.SchoolExperimentPlanMapper; import yangtz.cs.liu.campus.mapper.schoolLab.SchoolExperimentPlanMapper;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolExperimentPlan; import yangtz.cs.liu.campus.domain.schoolLab.SchoolExperimentPlan;
import yangtz.cs.liu.campus.mapper.schoolLab.SchoolLabMapper;
import yangtz.cs.liu.campus.mapper.schoolgrade.SchoolGradeMapper; import yangtz.cs.liu.campus.mapper.schoolgrade.SchoolGradeMapper;
import yangtz.cs.liu.campus.mapper.schoolgrade.SchoolGradeMentorMapper;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolExperimentPlanService; import yangtz.cs.liu.campus.service.schoolLab.ISchoolExperimentPlanService;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolExperimentPlanMbVo;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolExperimentPlanVo; import yangtz.cs.liu.campus.vo.schoolLab.SchoolExperimentPlanVo;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolLabClassYearVo;
/** /**
* 实验计划Service业务层处理 * 实验计划Service业务层处理
...@@ -35,7 +46,9 @@ public class SchoolExperimentPlanServiceImpl extends ServiceImpl<SchoolExperimen ...@@ -35,7 +46,9 @@ public class SchoolExperimentPlanServiceImpl extends ServiceImpl<SchoolExperimen
@Autowired @Autowired
private SchoolExperimentPlanMapper schoolExperimentPlanMapper; private SchoolExperimentPlanMapper schoolExperimentPlanMapper;
@Autowired @Autowired
private SchoolGradeMapper gradeMapper; private SchoolLabMapper schoolLabMapper;
@Autowired
private SchoolGradeMentorMapper schoolGradeMentorMapper;
/** /**
* 查询实验计划 * 查询实验计划
...@@ -46,16 +59,7 @@ public class SchoolExperimentPlanServiceImpl extends ServiceImpl<SchoolExperimen ...@@ -46,16 +59,7 @@ public class SchoolExperimentPlanServiceImpl extends ServiceImpl<SchoolExperimen
@Override @Override
public SchoolExperimentPlanVo selectSchoolExperimentPlanById(Long id) public SchoolExperimentPlanVo selectSchoolExperimentPlanById(Long id)
{ {
SchoolExperimentPlanVo schoolExperimentPlanVo = schoolExperimentPlanMapper.selectSchoolExperimentPlanById(id); return schoolExperimentPlanMapper.selectSchoolExperimentPlanById(id);
String semester = "";
if (schoolExperimentPlanVo.getSemester().equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
schoolExperimentPlanVo.setSchoolYearSemester(schoolExperimentPlanVo.getSchoolYear() + semester);
schoolExperimentPlanVo.setPlannedTime(schoolExperimentPlanVo.getPlannedStartTime() + "至" + schoolExperimentPlanVo.getPlannedEndTime());
return schoolExperimentPlanVo;
} }
/** /**
...@@ -67,47 +71,7 @@ public class SchoolExperimentPlanServiceImpl extends ServiceImpl<SchoolExperimen ...@@ -67,47 +71,7 @@ public class SchoolExperimentPlanServiceImpl extends ServiceImpl<SchoolExperimen
@Override @Override
public List<SchoolExperimentPlanVo> selectSchoolExperimentPlanList(SchoolExperimentPlanVo schoolExperimentPlanVo) public List<SchoolExperimentPlanVo> selectSchoolExperimentPlanList(SchoolExperimentPlanVo schoolExperimentPlanVo)
{ {
SysUser user = SecurityUtils.getLoginUser().getUser(); return schoolExperimentPlanMapper.selectSchoolExperimentPlanList(schoolExperimentPlanVo);
if (user.isAdmin()){
List<SchoolExperimentPlanVo> list = schoolExperimentPlanMapper.selectSchoolExperimentPlanList(schoolExperimentPlanVo);
list.forEach(list1 -> {
String semester = "";
if (list1.getSemester().equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
list1.setSchoolYearSemester(list1.getSchoolYear() + semester);
list1.setPlannedTime(list1.getPlannedStartTime() + "至" + list1.getPlannedEndTime());
});
return list;
}
//获取最新学年
int schoolYear = gradeMapper.isNewSchoolYear();
//教师级部
List<Map<String, String>> gradeList = schoolExperimentPlanMapper.getGrade(schoolYear,user.getUserId());
if (StringUtils.isNull(gradeList) || gradeList.size() == 0) {
throw new ServiceException("没有您所在的级部信息");
}
//级部id集合
List<Long> gradeIds = new ArrayList<>();
gradeList.forEach(gradeList1 -> {
long gradeId = Long.parseLong(gradeList1.get("id"));
gradeIds.add(gradeId);
});
schoolExperimentPlanVo.setGradeIds(gradeIds);
List<SchoolExperimentPlanVo> list = schoolExperimentPlanMapper.selectSchoolExperimentPlanList(schoolExperimentPlanVo);
list.forEach(list1 -> {
String semester = "";
if (list1.getSemester().equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
list1.setSchoolYearSemester(list1.getSchoolYear() + semester);
list1.setPlannedTime(list1.getPlannedStartTime() + "至" + list1.getPlannedEndTime());
});
return list;
} }
/** /**
...@@ -125,10 +89,7 @@ public class SchoolExperimentPlanServiceImpl extends ServiceImpl<SchoolExperimen ...@@ -125,10 +89,7 @@ public class SchoolExperimentPlanServiceImpl extends ServiceImpl<SchoolExperimen
} }
schoolExperimentPlanVo.setCreateBy(SecurityUtils.getLoginUser().getUser().getUserName()); schoolExperimentPlanVo.setCreateBy(SecurityUtils.getLoginUser().getUser().getUserName());
schoolExperimentPlanVo.setCreateTime(DateUtils.getNowDate()); schoolExperimentPlanVo.setCreateTime(DateUtils.getNowDate());
SchoolExperimentPlan schoolExperimentPlan = new SchoolExperimentPlan(); int rows = schoolExperimentPlanMapper.insertSchoolExperimentPlan(schoolExperimentPlanVo);
BeanUtils.copyProperties(schoolExperimentPlanVo,schoolExperimentPlan);
// int rows = schoolExperimentPlanMapper.insert(schoolExperimentPlan);
int rows = schoolExperimentPlanMapper.insertSchoolExperimentPlan(schoolExperimentPlan);
insertSchoolExperimentPlanClass(schoolExperimentPlanVo); insertSchoolExperimentPlanClass(schoolExperimentPlanVo);
return rows; return rows;
} }
...@@ -219,20 +180,20 @@ public class SchoolExperimentPlanServiceImpl extends ServiceImpl<SchoolExperimen ...@@ -219,20 +180,20 @@ public class SchoolExperimentPlanServiceImpl extends ServiceImpl<SchoolExperimen
* @return * @return
*/ */
@Override @Override
public List<Map<String, String>> getGrade(int schoolYear) { public List<Map<String, Object>> getGrade(int schoolYear,Long userId) {
//获取当前登录用户 //获取当前登录用户
SysUser user = SecurityUtils.getLoginUser().getUser(); SysUser user = SecurityUtils.getLoginUser().getUser();
//管理员级部 //管理员级部
if(1L == user.getUserId()){ if(1L == user.getUserId()){
List<Map<String, String>> gradeList = schoolExperimentPlanMapper.getGrade(schoolYear,null); List<Map<String, Object>> gradeList = schoolExperimentPlanMapper.getGrade(schoolYear,null);
if(StringUtils.isNull(gradeList) || gradeList.size() == 0){ if(StringUtils.isNull(gradeList) || gradeList.size() == 0){
throw new ServiceException("当前学年为" + schoolYear + "学年,该学年没有级部信息"); throw new ServiceException("当前学年为" + schoolYear + "学年,该学年没有级部信息");
} }
return gradeList; return gradeList;
} }
//教师级部 //教师级部
List<Map<String, String>> gradeList = schoolExperimentPlanMapper.getGrade(schoolYear,user.getUserId()); List<Map<String, Object>> gradeList = schoolExperimentPlanMapper.getGrade(schoolYear,user.getUserId());
if (StringUtils.isNull(gradeList) || gradeList.size() == 0) { if (StringUtils.isNull(gradeList) || gradeList.size() == 0) {
throw new ServiceException("当前学年为" + schoolYear + "学年,该学年没有您所在的级部信息"); throw new ServiceException("当前学年为" + schoolYear + "学年,该学年没有您所在的级部信息");
} }
...@@ -245,11 +206,275 @@ public class SchoolExperimentPlanServiceImpl extends ServiceImpl<SchoolExperimen ...@@ -245,11 +206,275 @@ public class SchoolExperimentPlanServiceImpl extends ServiceImpl<SchoolExperimen
* @return * @return
*/ */
@Override @Override
public List<Map<String, String>> getSchoolClass(Long gradeId) { public List<Map<String, Object>> getSchoolClass(Long gradeId) {
List<Map<String, String>> schoolClass = schoolExperimentPlanMapper.getSchoolClass(gradeId); List<Map<String, Object>> schoolClass = schoolExperimentPlanMapper.getSchoolClass(gradeId);
if (StringUtils.isNull(schoolClass) || schoolClass.size() == 0) { if (StringUtils.isNull(schoolClass) || schoolClass.size() == 0) {
throw new ServiceException("该级部还未有班级"); throw new ServiceException("该级部还未有班级");
} }
return schoolClass; return schoolClass;
} }
/**
* 级部-获取学科下拉框
* @return
*/
@Override
public List<Map<String, String>> getSub(Long gradeId) {
List<Map<String, String>> list = new ArrayList<>();
//获取当前登录用户
SysUser user = SecurityUtils.getLoginUser().getUser();
if(user.isAdmin()){
return schoolLabMapper.getSubAll();
}
LambdaQueryWrapper<SchoolGradeMentor> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SchoolGradeMentor::getGradeId,gradeId)
.eq(SchoolGradeMentor::getTeacherId,user.getUserId());
SchoolGradeMentor schoolGradeMentor = schoolGradeMentorMapper.selectOne(wrapper);
if (StringUtils.isBlank(schoolGradeMentor.getSubGroup())){
return schoolLabMapper.getSubAll();
}
if (schoolGradeMentor.getSubGroup().equals("1")){
list.add(schoolLabMapper.getSub("1"));
}else if (schoolGradeMentor.getSubGroup().equals("2")){
list.add(schoolLabMapper.getSub("2"));
}else if (schoolGradeMentor.getSubGroup().equals("3")){
list.add(schoolLabMapper.getSub("3"));
}
return list;
}
/**
* 实验室管理-级部实验计划查看列表
* @param schoolExperimentPlanVo
* @return
*/
@Override
public List<SchoolExperimentPlanVo> getExperimentList(SchoolExperimentPlanVo schoolExperimentPlanVo) {
//获取当前登录用户
SysUser user = SecurityUtils.getLoginUser().getUser();
//获取用户角色集合
List<SysRole> roles = user.getRoles();
if (user.isAdmin()){
List<SchoolExperimentPlanVo> list = schoolExperimentPlanMapper.getExperimentList(schoolExperimentPlanVo);
list.forEach(list1 -> {
String semester = "";
if (list1.getSemester().equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
list1.setSchoolYearSemester(list1.getSchoolYear() + semester);
list1.setPlannedTime(list1.getPlannedStartTime() + "至" + list1.getPlannedEndTime());
});
return list;
}
List<String> labSubs = new ArrayList<>();
for (SysRole role : roles) {
if (role.getRoleKey().equals("admin")){
List<SchoolExperimentPlanVo> list = schoolExperimentPlanMapper.getExperimentList(schoolExperimentPlanVo);
list.forEach(list1 -> {
String semester = "";
if (list1.getSemester().equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
list1.setSchoolYearSemester(list1.getSchoolYear() + semester);
list1.setPlannedTime(list1.getPlannedStartTime() + "至" + list1.getPlannedEndTime());
});
return list;
}
switch (role.getRoleKey()){
case "phy_lab_admin":
labSubs.add("1");
break;
case "che_lab_admin":
labSubs.add("2");
break;
case "bio_lab_admin":
labSubs.add("3");
break;
default:break;
}
}
schoolExperimentPlanVo.setSubs(labSubs);
List<SchoolExperimentPlanVo> list = schoolExperimentPlanMapper.getExperimentList(schoolExperimentPlanVo);
list.forEach(list1 -> {
String semester = "";
if (list1.getSemester().equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
list1.setSchoolYearSemester(list1.getSchoolYear() + semester);
list1.setPlannedTime(list1.getPlannedStartTime() + "至" + list1.getPlannedEndTime());
});
return list;
}
/**
* 领导-查看实验室完成情况列表
* @param schoolExperimentPlanVo
* @return
*/
@Override
public List<Map<String, Object>> countExperiment(SchoolExperimentPlanVo schoolExperimentPlanVo) {
List<Map<String, Object>> list = schoolExperimentPlanMapper.countExperiment(schoolExperimentPlanVo);
list.forEach(list1 -> {
//总班级数
int totalClass = Integer.parseInt(list1.get("totalClass").toString());
//已完成班级数
int completeClass = Integer.parseInt(list1.get("completeClass").toString());
if (totalClass == 0){
list1.put("ratio","0%");
}else {
//计算完成比例
double totalClass1 = totalClass * 100.0;
double completeClass2 = completeClass * 100.0;
NumberFormat percentInstance = NumberFormat.getPercentInstance();
// 设置保留几位小数,这里设置的是保留两位小数
percentInstance.setMinimumFractionDigits(0);
String percent = percentInstance.format(completeClass2 / totalClass1);
list1.put("ratio",percent);
}
String semester = "";
if (list1.get("semester").equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
list1.put("schoolYearSemester",list1.get("schoolYear") + semester);
});
return list;
}
/**
* 实验室管理-查看实验室完成情况列表
* @param schoolExperimentPlanVo
* @return
*/
@Override
public List<Map<String, Object>> countExperimentAdmin(SchoolExperimentPlanVo schoolExperimentPlanVo) {
//获取登录用户
SysUser user = SecurityUtils.getLoginUser().getUser();
//获取用户角色集合
List<SysRole> roles = user.getRoles();
//管理员角色返回全部数据
if (user.isAdmin()){
List<Map<String, Object>> list = schoolExperimentPlanMapper.countExperiment(schoolExperimentPlanVo);
list.forEach(list1 -> {
//总班级数
int totalClass = Integer.parseInt(list1.get("totalClass").toString());
//已完成班级数
int completeClass = Integer.parseInt(list1.get("completeClass").toString());
//计算完成比例
if (totalClass == 0){
list1.put("ratio","0%");
}else {
//计算完成比例
double totalClass1 = totalClass * 100.0;
double completeClass2 = completeClass * 100.0;
NumberFormat percentInstance = NumberFormat.getPercentInstance();
// 设置保留几位小数,这里设置的是保留两位小数
percentInstance.setMinimumFractionDigits(0);
String percent = percentInstance.format(completeClass2 / totalClass1);
list1.put("ratio",percent);
}
String semester = "";
if (list1.get("semester").equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
list1.put("schoolYearSemester",list1.get("schoolYear") + semester);
});
return list;
}
List<String> labSubs = new ArrayList<>();
//根据用户角色返回对应数据
for (SysRole role : roles) {
if (role.getRoleKey().equals("admin")){
List<Map<String, Object>> list = schoolExperimentPlanMapper.countExperiment(schoolExperimentPlanVo);
list.forEach(list1 -> {
//总班级数
int totalClass = Integer.parseInt(list1.get("totalClass").toString());
//已完成班级数
int completeClass = Integer.parseInt(list1.get("completeClass").toString());
//计算完成比例
if (totalClass == 0){
list1.put("ratio","0%");
}else {
//计算完成比例
double totalClass1 = totalClass * 100.0;
double completeClass2 = completeClass * 100.0;
NumberFormat percentInstance = NumberFormat.getPercentInstance();
// 设置保留几位小数,这里设置的是保留两位小数
percentInstance.setMinimumFractionDigits(0);
String percent = percentInstance.format(completeClass2 / totalClass1);
list1.put("ratio",percent);
}
String semester = "";
if (list1.get("semester").equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
list1.put("schoolYearSemester",list1.get("schoolYear") + semester);
});
return list;
}
switch (role.getRoleKey()){
case "phy_lab_admin":
labSubs.add("1");
break;
case "che_lab_admin":
labSubs.add("2");
break;
case "bio_lab_admin":
labSubs.add("3");
break;
default:break;
}
}
schoolExperimentPlanVo.setSubs(labSubs);
List<Map<String, Object>> list = schoolExperimentPlanMapper.countExperiment(schoolExperimentPlanVo);
list.forEach(list1 -> {
//总班级数
int totalClass = Integer.parseInt(list1.get("totalClass").toString());
//已完成班级数
int completeClass = Integer.parseInt(list1.get("completeClass").toString());
//计算完成比例
if (totalClass == 0){
list1.put("ratio","0%");
}else {
//计算完成比例
double totalClass1 = totalClass * 100.0;
double completeClass2 = completeClass * 100.0;
NumberFormat percentInstance = NumberFormat.getPercentInstance();
// 设置保留几位小数,这里设置的是保留两位小数
percentInstance.setMinimumFractionDigits(0);
String percent = percentInstance.format(completeClass2 / totalClass1);
list1.put("ratio",percent);
}
String semester = "";
if (list1.get("semester").equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
list1.put("schoolYearSemester",list1.get("schoolYear") + semester);
});
return list;
}
/**
* 级部-实验室完成情况明细
* @param schoolExperimentPlanVo
* @return
*/
@Override
public List<Map<String, Object>> gradeCountExperiment(SchoolExperimentPlanVo schoolExperimentPlanVo) {
return schoolExperimentPlanMapper.countExperiment(schoolExperimentPlanVo);
}
} }
package yangtz.cs.liu.campus.service.impl.schoolLab;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYearRelation;
import yangtz.cs.liu.campus.mapper.schoolLab.SchoolLabClassYearRelationMapper;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabClassYearRelationService;
@Service
public class SchoolLabClassYearRelationServiceImpl extends ServiceImpl<SchoolLabClassYearRelationMapper, SchoolLabClassYearRelation> implements ISchoolLabClassYearRelationService {
}
package yangtz.cs.liu.campus.service.impl.schoolLab; package yangtz.cs.liu.campus.service.impl.schoolLab;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import java.text.SimpleDateFormat;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import java.util.*;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import yangtz.cs.liu.campus.domain.schoolClass.SchoolClass; import yangtz.cs.liu.campus.domain.schoolClass.SchoolClass;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolExperimentPlan; import yangtz.cs.liu.campus.domain.schoolLab.SchoolExperimentPlan;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLab;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYearRelation; import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYearRelation;
import yangtz.cs.liu.campus.mapper.schoolClass.SchoolClassMapper; import yangtz.cs.liu.campus.mapper.schoolClass.SchoolClassMapper;
import yangtz.cs.liu.campus.mapper.schoolLab.SchoolLabClassYearMapper; import yangtz.cs.liu.campus.mapper.schoolLab.*;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear; import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear;
import yangtz.cs.liu.campus.mapper.schoolLab.SchoolTeacherLabApplyMapper;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolExperimentPlanService; import yangtz.cs.liu.campus.service.schoolLab.ISchoolExperimentPlanService;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabClassYearService; import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabClassYearService;
import yangtz.cs.liu.campus.vo.schoolLab.ClassSituationVo; import yangtz.cs.liu.campus.vo.schoolLab.ClassSituationVo;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolExperimentPlanVo;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolLabClassYearVo;
/** /**
* 年级实验室预约Service业务层处理 * 年级实验室预约Service业务层处理
...@@ -35,14 +40,20 @@ public class SchoolLabClassYearServiceImpl extends ServiceImpl<SchoolLabClassYea ...@@ -35,14 +40,20 @@ public class SchoolLabClassYearServiceImpl extends ServiceImpl<SchoolLabClassYea
@Autowired @Autowired
private SchoolLabClassYearMapper schoolLabClassYearMapper; private SchoolLabClassYearMapper schoolLabClassYearMapper;
@Autowired
private ISchoolExperimentPlanService schoolExperimentPlanService;
@Autowired
private SchoolExperimentPlanMapper schoolExperimentPlanMapper;
@Autowired
private SchoolLabMapper schoolLabMapper;
@Autowired
private SchoolLabClassYearRelationMapper relationMapper;
@Autowired @Autowired
private SchoolClassMapper schoolClassMapper; private SchoolClassMapper schoolClassMapper;
@Autowired @Autowired
private SchoolTeacherLabApplyMapper schoolTeacherLabApplyMapper; private SchoolTeacherLabApplyMapper schoolTeacherLabApplyMapper;
/** /**
* 查询年级实验室预约 * 查询年级实验室预约
* *
...@@ -50,7 +61,7 @@ public class SchoolLabClassYearServiceImpl extends ServiceImpl<SchoolLabClassYea ...@@ -50,7 +61,7 @@ public class SchoolLabClassYearServiceImpl extends ServiceImpl<SchoolLabClassYea
* @return 年级实验室预约 * @return 年级实验室预约
*/ */
@Override @Override
public SchoolLabClassYear selectSchoolLabClassYearById(Long id) public SchoolLabClassYearVo selectSchoolLabClassYearById(Long id)
{ {
return schoolLabClassYearMapper.selectSchoolLabClassYearById(id); return schoolLabClassYearMapper.selectSchoolLabClassYearById(id);
} }
...@@ -58,13 +69,13 @@ public class SchoolLabClassYearServiceImpl extends ServiceImpl<SchoolLabClassYea ...@@ -58,13 +69,13 @@ public class SchoolLabClassYearServiceImpl extends ServiceImpl<SchoolLabClassYea
/** /**
* 查询年级实验室预约列表 * 查询年级实验室预约列表
* *
* @param schoolLabClassYear 年级实验室预约 * @param schoolLabClassYearVo 年级实验室预约
* @return 年级实验室预约 * @return 年级实验室预约
*/ */
@Override @Override
public List<SchoolLabClassYear> selectSchoolLabClassYearList(SchoolLabClassYear schoolLabClassYear) public List<SchoolLabClassYearVo> selectSchoolLabClassYearList(SchoolLabClassYearVo schoolLabClassYearVo)
{ {
return schoolLabClassYearMapper.selectSchoolLabClassYearList(schoolLabClassYear); return schoolLabClassYearMapper.selectSchoolLabClassYearList(schoolLabClassYearVo);
} }
/** /**
...@@ -84,6 +95,30 @@ public class SchoolLabClassYearServiceImpl extends ServiceImpl<SchoolLabClassYea ...@@ -84,6 +95,30 @@ public class SchoolLabClassYearServiceImpl extends ServiceImpl<SchoolLabClassYea
} }
/** /**
* 新增年级实验室预约和实验室关系信息
*
* @param schoolLabClassYear 年级实验室预约对象
*/
public void insertSchoolLabClassYearRelation(SchoolLabClassYear schoolLabClassYear)
{
List<SchoolLabClassYearRelation> schoolLabClassYearRelationList = schoolLabClassYear.getSchoolLabClassYearRelationList();
Long id = schoolLabClassYear.getId();
if (StringUtils.isNotNull(schoolLabClassYearRelationList))
{
List<SchoolLabClassYearRelation> list = new ArrayList<SchoolLabClassYearRelation>();
for (SchoolLabClassYearRelation schoolLabClassYearRelation : schoolLabClassYearRelationList)
{
schoolLabClassYearRelation.setLabClassYearId(id);
list.add(schoolLabClassYearRelation);
}
if (list.size() > 0)
{
schoolLabClassYearMapper.batchSchoolLabClassYearRelation(list);
}
}
}
/**
* 修改年级实验室预约 * 修改年级实验室预约
* *
* @param schoolLabClassYear 年级实验室预约 * @param schoolLabClassYear 年级实验室预约
...@@ -93,6 +128,7 @@ public class SchoolLabClassYearServiceImpl extends ServiceImpl<SchoolLabClassYea ...@@ -93,6 +128,7 @@ public class SchoolLabClassYearServiceImpl extends ServiceImpl<SchoolLabClassYea
@Override @Override
public int updateSchoolLabClassYear(SchoolLabClassYear schoolLabClassYear) public int updateSchoolLabClassYear(SchoolLabClassYear schoolLabClassYear)
{ {
schoolLabClassYear.setUpdateBy(SecurityUtils.getLoginUser().getUser().getUserName());
schoolLabClassYear.setUpdateTime(DateUtils.getNowDate()); schoolLabClassYear.setUpdateTime(DateUtils.getNowDate());
schoolLabClassYearMapper.deleteSchoolLabClassYearRelationByLabClassYearId(schoolLabClassYear.getId()); schoolLabClassYearMapper.deleteSchoolLabClassYearRelationByLabClassYearId(schoolLabClassYear.getId());
insertSchoolLabClassYearRelation(schoolLabClassYear); insertSchoolLabClassYearRelation(schoolLabClassYear);
...@@ -109,7 +145,6 @@ public class SchoolLabClassYearServiceImpl extends ServiceImpl<SchoolLabClassYea ...@@ -109,7 +145,6 @@ public class SchoolLabClassYearServiceImpl extends ServiceImpl<SchoolLabClassYea
@Override @Override
public int deleteSchoolLabClassYearByIds(Long[] ids) public int deleteSchoolLabClassYearByIds(Long[] ids)
{ {
schoolLabClassYearMapper.deleteSchoolLabClassYearRelationByLabClassYearIds(ids);
return schoolLabClassYearMapper.deleteSchoolLabClassYearByIds(ids); return schoolLabClassYearMapper.deleteSchoolLabClassYearByIds(ids);
} }
...@@ -123,21 +158,110 @@ public class SchoolLabClassYearServiceImpl extends ServiceImpl<SchoolLabClassYea ...@@ -123,21 +158,110 @@ public class SchoolLabClassYearServiceImpl extends ServiceImpl<SchoolLabClassYea
@Override @Override
public int deleteSchoolLabClassYearById(Long id) public int deleteSchoolLabClassYearById(Long id)
{ {
schoolLabClassYearMapper.deleteSchoolLabClassYearRelationByLabClassYearId(id);
return schoolLabClassYearMapper.deleteSchoolLabClassYearById(id); return schoolLabClassYearMapper.deleteSchoolLabClassYearById(id);
} }
/** /**
* 新增年级实验室预约和实验室关系信息 * 实验室管理-年级实验室预约列表
* * @param schoolLabClassYearVo
* @param schoolLabClassYear 年级实验室预约对象 * @return
*/ */
public void insertSchoolLabClassYearRelation(SchoolLabClassYear schoolLabClassYear) @Override
{ public List<SchoolLabClassYearVo> getLabClassYear(SchoolLabClassYearVo schoolLabClassYearVo) {
List<SchoolLabClassYearRelation> schoolLabClassYearRelationList = schoolLabClassYear.getSchoolLabClassYearRelationList(); //获取当前登录用户
Long id = schoolLabClassYear.getId(); SysUser user = SecurityUtils.getLoginUser().getUser();
if (StringUtils.isNotNull(schoolLabClassYearRelationList)) SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
{ //获取用户角色集合
List<SysRole> roles = user.getRoles();
if (user.isAdmin()){
List<SchoolLabClassYearVo> labClassYear = schoolLabClassYearMapper.getLabClassYear(schoolLabClassYearVo);
labClassYear.forEach(list1 -> {
String semester = "";
if (list1.getSemester().equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
list1.setSchoolYearSemester(list1.getSchoolYear() + semester);
list1.setPlannedTime(format.format(list1.getPlannedStartTime()) + "至" + format.format(list1.getPlannedEndTime()));
if (list1.getDeclareState().equals("3") || list1.getDeclareState().equals("2")){
LambdaQueryWrapper<SchoolLabClassYearRelation> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SchoolLabClassYearRelation::getLabClassYearId,list1.getId());
List<SchoolLabClassYearRelation> relations = relationMapper.selectList(wrapper);
list1.setSchoolLabClassYearRelationList(relations);
}
});
return labClassYear;
}
List<String> labSubs = new ArrayList<>();
for (SysRole role : roles) {
if (role.getRoleKey().equals("admin")){
List<SchoolLabClassYearVo> labClassYear = schoolLabClassYearMapper.getLabClassYear(schoolLabClassYearVo);
labClassYear.forEach(list1 -> {
String semester = "";
if (list1.getSemester().equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
list1.setSchoolYearSemester(list1.getSchoolYear() + semester);
list1.setPlannedTime(format.format(list1.getPlannedStartTime()) + "至" + format.format(list1.getPlannedEndTime()));
if (list1.getDeclareState().equals("3") || list1.getDeclareState().equals("2")){
LambdaQueryWrapper<SchoolLabClassYearRelation> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SchoolLabClassYearRelation::getLabClassYearId,list1.getId());
List<SchoolLabClassYearRelation> relations = relationMapper.selectList(wrapper);
list1.setSchoolLabClassYearRelationList(relations);
}
});
return labClassYear;
}
switch (role.getRoleKey()){
case "phy_lab_admin":
labSubs.add("1");
break;
case "che_lab_admin":
labSubs.add("2");
break;
case "bio_lab_admin":
labSubs.add("3");
break;
default:break;
}
}
schoolLabClassYearVo.setSubs(labSubs);
List<SchoolLabClassYearVo> labClassYear = schoolLabClassYearMapper.getLabClassYear(schoolLabClassYearVo);
labClassYear.forEach(list1 -> {
String semester = "";
if (list1.getSemester().equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
list1.setSchoolYearSemester(list1.getSchoolYear() + semester);
list1.setPlannedTime(format.format(list1.getPlannedStartTime()) + "至" + format.format(list1.getPlannedEndTime()));
if (list1.getDeclareState().equals("3") || list1.getDeclareState().equals("2")){
LambdaQueryWrapper<SchoolLabClassYearRelation> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SchoolLabClassYearRelation::getLabClassYearId,list1.getId());
List<SchoolLabClassYearRelation> relations = relationMapper.selectList(wrapper);
list1.setSchoolLabClassYearRelationList(relations);
}
});
return labClassYear;
}
/**
* 实验室管理-年级实验室-分配实验室
* @param schoolLabClassYearVo
* @return
*/
@Override
@Transactional
public int updateLabClassYear(SchoolLabClassYearVo schoolLabClassYearVo) {
List<SchoolLabClassYearRelation> schoolLabClassYearRelationList = schoolLabClassYearVo.getSchoolLabClassYearRelationList();
Long id = schoolLabClassYearVo.getId();
if (StringUtils.isNull(schoolLabClassYearRelationList)){
throw new ServiceException("您未选择实验室");
}
List<SchoolLabClassYearRelation> list = new ArrayList<SchoolLabClassYearRelation>(); List<SchoolLabClassYearRelation> list = new ArrayList<SchoolLabClassYearRelation>();
for (SchoolLabClassYearRelation schoolLabClassYearRelation : schoolLabClassYearRelationList) for (SchoolLabClassYearRelation schoolLabClassYearRelation : schoolLabClassYearRelationList)
{ {
...@@ -146,9 +270,179 @@ public class SchoolLabClassYearServiceImpl extends ServiceImpl<SchoolLabClassYea ...@@ -146,9 +270,179 @@ public class SchoolLabClassYearServiceImpl extends ServiceImpl<SchoolLabClassYea
} }
if (list.size() > 0) if (list.size() > 0)
{ {
schoolLabClassYearMapper.deleteSchoolLabClassYearRelationByLabClassYearId(id);
schoolLabClassYearMapper.batchSchoolLabClassYearRelation(list); schoolLabClassYearMapper.batchSchoolLabClassYearRelation(list);
} }
SchoolLabClassYear schoolLabClassYear = new SchoolLabClassYear();
BeanUtils.copyProperties(schoolLabClassYearVo,schoolLabClassYear);
return schoolLabClassYearMapper.updateById(schoolLabClassYear);
}
/**
* 获取实验室
* @return
*/
@Override
public List<Map<String, Object>> getLabList(SchoolLabClassYearVo schoolLabClassYearVo) {
//计划开始时间
Date plannedStartTime = schoolLabClassYearVo.getPlannedStartTime();
//计划结束时间
Date plannedEndTime = schoolLabClassYearVo.getPlannedEndTime();
List<Map<String, Object>> list = new ArrayList<>();
//查询所有实验室
LambdaQueryWrapper<SchoolLab> wrapper = new LambdaQueryWrapper<>();
List<SchoolLab> schoolLabs = schoolLabMapper.selectList(wrapper);
//查询所有已分配实验室的年级实验室预约
LambdaQueryWrapper<SchoolLabClassYear> lqw = new LambdaQueryWrapper<>();
lqw.eq(SchoolLabClassYear::getDeclareState,"3");
List<SchoolLabClassYear> schoolLabClassYears = schoolLabClassYearMapper.selectList(lqw);
//在时间范围内的年级实验室预约id集合
List<Long> labClassYearIds = new ArrayList<>();
//筛选在计划时间范围内的年级实验室预约
for (SchoolLabClassYear schoolLabClassYear : schoolLabClassYears) {
//开始时间
Date startTime = schoolLabClassYear.getPlannedStartTime();
//结束时间
Date endTime = schoolLabClassYear.getPlannedEndTime();
if ((startTime.after(plannedStartTime) && startTime.before(plannedEndTime)) || (endTime.after(plannedStartTime) && endTime.before(plannedEndTime))){
labClassYearIds.add(schoolLabClassYear.getId());
}
} }
if (labClassYearIds.size() > 0){
//根据年级实验室预约主键id查询实验室id
List<Long> labIds = schoolLabClassYearMapper.seletLabId(labClassYearIds);
for (SchoolLab schoolLab : schoolLabs) {
Map<String, Object> map = new HashMap<>();
map.put("labId",schoolLab.getId());
map.put("labName",schoolLab.getLabName());
for (Long labId : labIds) {
if (schoolLab.getId().equals(labId)){
map.put("useState","使用中");
break;
}else {
map.put("useState","空闲");
}
}
list.add(map);
}
return list;
}
for (SchoolLab schoolLab : schoolLabs) {
Map<String, Object> map = new HashMap<>();
map.put("labId",schoolLab.getId());
map.put("labName",schoolLab.getLabName());
map.put("useState","空闲");
list.add(map);
}
return list;
}
/**
* 实验室管理-年级实验室预约查看详情
* @param id
* @return
*/
@Override
public SchoolLabClassYearVo getLabClassYearById(Long id) {
return schoolLabClassYearMapper.getLabClassYearById(id);
}
/**
* 教师-实验室安排列表
* @param schoolLabClassYearVo
* @return
*/
@Override
public List<SchoolLabClassYearVo> getTeacherLabList(SchoolLabClassYearVo schoolLabClassYearVo) {
return schoolLabClassYearMapper.getTeacherLabList(schoolLabClassYearVo);
}
/**
* xwh-新增年级预约
* @param schoolLabClassYear
* @return
*/
@Override
@Transactional
public int insertSchoolLabClassYearVo(SchoolLabClassYear schoolLabClassYear) {
int rows = 0;
//判断计划时间在不在选择的实验计划的时间范围内
Long experimentPlanId = schoolLabClassYear.getExperimentPlanId();
SchoolExperimentPlanVo schoolExperimentPlanVo = schoolExperimentPlanService.selectSchoolExperimentPlanById(experimentPlanId);
//实验计划开始时间
String plannedStartTime = schoolExperimentPlanVo.getPlannedStartTime();
//实验计划结束时间
String plannedEndTime = schoolExperimentPlanVo.getPlannedEndTime();
//年级实验室预约计划开始时间
String startTime = DateUtils.formatDate(schoolLabClassYear.getPlannedStartTime());
//年级实验室预约计划结束时间
String endTime = DateUtils.formatDate(schoolLabClassYear.getPlannedEndTime());
int plannedStartMonth = Integer.parseInt(plannedStartTime.substring(5));
int plannedEndMonth = Integer.parseInt(plannedEndTime.substring(5));
int startMonth = Integer.parseInt(startTime.substring(5,7));
int endMonth = Integer.parseInt(endTime.substring(5,7));
if ((startMonth >= plannedStartMonth && startMonth <= plannedEndMonth) && (endMonth >= plannedStartMonth && endMonth <= plannedEndMonth)){
SysUser user = SecurityUtils.getLoginUser().getUser();
schoolLabClassYear.setApplyId(user.getUserId());
schoolLabClassYear.setApplyName(user.getUserName());
schoolLabClassYear.setApplyTime(DateUtils.getNowDate());
schoolLabClassYear.setCreateBy(user.getUserName());
schoolLabClassYear.setCreateTime(DateUtils.getNowDate());
rows = schoolLabClassYearMapper.insertSchoolLabClassYear(schoolLabClassYear);
}else {
throw new ServiceException("请选择实验计划范围内的时间");
}
//修改对应实验计划,预约状态改为已预约
SchoolExperimentPlan schoolExperimentPlan = new SchoolExperimentPlan();
schoolExperimentPlan.setId(experimentPlanId);
schoolExperimentPlan.setIsAppointment("1");
schoolExperimentPlanMapper.updateById(schoolExperimentPlan);
return rows;
}
/**
* xwh-修改年级预约
* @param schoolLabClassYear
* @return
*/
@Override
@Transactional
public int updateSchoolLabClassYearVo(SchoolLabClassYear schoolLabClassYear) {
int rows = 0;
//判断计划时间在不在选择的实验计划的时间范围内
Long experimentPlanId = schoolLabClassYear.getExperimentPlanId();
SchoolExperimentPlanVo schoolExperimentPlanVo = schoolExperimentPlanService.selectSchoolExperimentPlanById(experimentPlanId);
//实验计划开始时间
String plannedStartTime = schoolExperimentPlanVo.getPlannedStartTime();
//实验计划结束时间
String plannedEndTime = schoolExperimentPlanVo.getPlannedEndTime();
//年级实验室预约计划开始时间
String startTime = DateUtils.formatDate(schoolLabClassYear.getPlannedStartTime());
//年级实验室预约计划结束时间
String endTime = DateUtils.formatDate(schoolLabClassYear.getPlannedEndTime());
int plannedStartMonth = Integer.parseInt(plannedStartTime.substring(5));
int plannedEndMonth = Integer.parseInt(plannedEndTime.substring(5));
int startMonth = Integer.parseInt(startTime.substring(5,7));
int endMonth = Integer.parseInt(endTime.substring(5,7));
if ((startMonth >= plannedStartMonth && startMonth <= plannedEndMonth) && (endMonth >= plannedStartMonth && endMonth <= plannedEndMonth)){
schoolLabClassYear.setUpdateBy(SecurityUtils.getLoginUser().getUser().getUserName());
schoolLabClassYear.setUpdateTime(DateUtils.getNowDate());
rows = schoolLabClassYearMapper.updateSchoolLabClassYear(schoolLabClassYear);
}else {
throw new ServiceException("请选择实验计划范围内的时间");
}
return rows;
} }
/** /**
...@@ -190,10 +484,10 @@ public class SchoolLabClassYearServiceImpl extends ServiceImpl<SchoolLabClassYea ...@@ -190,10 +484,10 @@ public class SchoolLabClassYearServiceImpl extends ServiceImpl<SchoolLabClassYea
//1.获取列表获取本级部今年所有的计划 //1.获取列表获取本级部今年所有的计划
List<ClassSituationVo> schoolLab = schoolLabClassYearMapper.getexperimentList(classSituationVo); List<ClassSituationVo> schoolLab = schoolLabClassYearMapper.getexperimentList(classSituationVo);
for (ClassSituationVo date :schoolLab){ for (ClassSituationVo date :schoolLab){
SchoolLabClassYear schoolLabClassYears = new SchoolLabClassYear(); SchoolLabClassYearVo schoolLabClassYearsVo = new SchoolLabClassYearVo();
schoolLabClassYears.setExperimentPlanId(date.getId().toString()); schoolLabClassYearsVo.setExperimentPlanId(date.getId());
List<SchoolLabClassYear> schoolLabClassYear = schoolLabClassYearMapper.selectSchoolLabClassYearList( List<SchoolLabClassYearVo> schoolLabClassYear = schoolLabClassYearMapper.selectSchoolLabClassYearList(
schoolLabClassYears); schoolLabClassYearsVo);
if (schoolLabClassYear.isEmpty()){ if (schoolLabClassYear.isEmpty()){
//未申请计划完成为0 //未申请计划完成为0
date.setComplete(0); date.setComplete(0);
......
package yangtz.cs.liu.campus.service.impl.schoolLab; package yangtz.cs.liu.campus.service.impl.schoolLab;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import yangtz.cs.liu.campus.domain.accessory.SchoolAccessory;
import yangtz.cs.liu.campus.domain.award.Award;
import yangtz.cs.liu.campus.mapper.accessory.AccessoryMapper;
import yangtz.cs.liu.campus.mapper.schoolLab.SchoolLabCompetitionMapper; import yangtz.cs.liu.campus.mapper.schoolLab.SchoolLabCompetitionMapper;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabCompetition; import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabCompetition;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabCompetitionService; import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabCompetitionService;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolLabCompetitionVo;
/** /**
* 实验室竞赛Service业务层处理 * 实验室竞赛Service业务层处理
...@@ -21,6 +30,8 @@ public class SchoolLabCompetitionServiceImpl extends ServiceImpl<SchoolLabCompet ...@@ -21,6 +30,8 @@ public class SchoolLabCompetitionServiceImpl extends ServiceImpl<SchoolLabCompet
{ {
@Autowired @Autowired
private SchoolLabCompetitionMapper schoolLabCompetitionMapper; private SchoolLabCompetitionMapper schoolLabCompetitionMapper;
@Autowired
private AccessoryMapper accessoryMapper;
/** /**
* 查询实验室竞赛 * 查询实验室竞赛
...@@ -29,47 +40,73 @@ public class SchoolLabCompetitionServiceImpl extends ServiceImpl<SchoolLabCompet ...@@ -29,47 +40,73 @@ public class SchoolLabCompetitionServiceImpl extends ServiceImpl<SchoolLabCompet
* @return 实验室竞赛 * @return 实验室竞赛
*/ */
@Override @Override
public SchoolLabCompetition selectSchoolLabCompetitionById(Long id) public SchoolLabCompetitionVo selectSchoolLabCompetitionById(Long id)
{ {
return schoolLabCompetitionMapper.selectSchoolLabCompetitionById(id); SchoolLabCompetitionVo schoolLabCompetitionVo = schoolLabCompetitionMapper.selectSchoolLabCompetitionById(id);
LambdaQueryWrapper<SchoolAccessory> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SchoolAccessory::getBusinessId,schoolLabCompetitionVo.getId())
.eq(SchoolAccessory::getAccessoryType,"证书照片");
List<SchoolAccessory> schoolAccessories = accessoryMapper.selectList(wrapper);
if (schoolAccessories.size() > 0){
schoolLabCompetitionVo.setSchoolAccessoryList(schoolAccessories);
}
return schoolLabCompetitionVo;
} }
/** /**
* 查询实验室竞赛列表 * 查询实验室竞赛列表
* *
* @param schoolLabCompetition 实验室竞赛 * @param schoolLabCompetitionVo 实验室竞赛
* @return 实验室竞赛 * @return 实验室竞赛
*/ */
@Override @Override
public List<SchoolLabCompetition> selectSchoolLabCompetitionList(SchoolLabCompetition schoolLabCompetition) public List<SchoolLabCompetitionVo> selectSchoolLabCompetitionList(SchoolLabCompetitionVo schoolLabCompetitionVo)
{ {
return schoolLabCompetitionMapper.selectSchoolLabCompetitionList(schoolLabCompetition); List<SchoolLabCompetitionVo> schoolLabCompetitionVos = schoolLabCompetitionMapper.selectSchoolLabCompetitionList(schoolLabCompetitionVo);
for (SchoolLabCompetitionVo labCompetitionVo : schoolLabCompetitionVos) {
LambdaQueryWrapper<SchoolAccessory> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SchoolAccessory::getBusinessId,labCompetitionVo.getId())
.eq(SchoolAccessory::getAccessoryType,"证书照片");
List<SchoolAccessory> schoolAccessories = accessoryMapper.selectList(wrapper);
if (schoolAccessories.size() > 0){
labCompetitionVo.setSchoolAccessoryList(schoolAccessories);
}
}
return schoolLabCompetitionVos;
} }
/** /**
* 新增实验室竞赛 * 新增实验室竞赛
* *
* @param schoolLabCompetition 实验室竞赛 * @param schoolLabCompetitionVo 实验室竞赛
* @return 结果 * @return 结果
*/ */
@Override @Override
public int insertSchoolLabCompetition(SchoolLabCompetition schoolLabCompetition) @Transactional
public int insertSchoolLabCompetition(SchoolLabCompetitionVo schoolLabCompetitionVo)
{ {
schoolLabCompetition.setCreateTime(DateUtils.getNowDate()); schoolLabCompetitionVo.setCreateBy(SecurityUtils.getLoginUser().getUser().getUserName());
return schoolLabCompetitionMapper.insertSchoolLabCompetition(schoolLabCompetition); schoolLabCompetitionVo.setCreateTime(DateUtils.getNowDate());
int rows = schoolLabCompetitionMapper.insertSchoolLabCompetition(schoolLabCompetitionVo);
insertSchoolAccessory(schoolLabCompetitionVo);
return rows;
} }
/** /**
* 修改实验室竞赛 * 修改实验室竞赛
* *
* @param schoolLabCompetition 实验室竞赛 * @param schoolLabCompetitionVo 实验室竞赛
* @return 结果 * @return 结果
*/ */
@Override @Override
public int updateSchoolLabCompetition(SchoolLabCompetition schoolLabCompetition) @Transactional
public int updateSchoolLabCompetition(SchoolLabCompetitionVo schoolLabCompetitionVo)
{ {
schoolLabCompetition.setUpdateTime(DateUtils.getNowDate()); schoolLabCompetitionVo.setUpdateBy(SecurityUtils.getLoginUser().getUser().getUserName());
return schoolLabCompetitionMapper.updateSchoolLabCompetition(schoolLabCompetition); schoolLabCompetitionVo.setUpdateTime(DateUtils.getNowDate());
schoolLabCompetitionMapper.deleteSchoolAccessoryByBusinessId(schoolLabCompetitionVo.getId());
insertSchoolAccessory(schoolLabCompetitionVo);
return schoolLabCompetitionMapper.updateSchoolLabCompetition(schoolLabCompetitionVo);
} }
/** /**
...@@ -79,8 +116,10 @@ public class SchoolLabCompetitionServiceImpl extends ServiceImpl<SchoolLabCompet ...@@ -79,8 +116,10 @@ public class SchoolLabCompetitionServiceImpl extends ServiceImpl<SchoolLabCompet
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional
public int deleteSchoolLabCompetitionByIds(Long[] ids) public int deleteSchoolLabCompetitionByIds(Long[] ids)
{ {
schoolLabCompetitionMapper.deleteSchoolAccessoryByBusinessIds(ids);
return schoolLabCompetitionMapper.deleteSchoolLabCompetitionByIds(ids); return schoolLabCompetitionMapper.deleteSchoolLabCompetitionByIds(ids);
} }
...@@ -91,8 +130,37 @@ public class SchoolLabCompetitionServiceImpl extends ServiceImpl<SchoolLabCompet ...@@ -91,8 +130,37 @@ public class SchoolLabCompetitionServiceImpl extends ServiceImpl<SchoolLabCompet
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional
public int deleteSchoolLabCompetitionById(Long id) public int deleteSchoolLabCompetitionById(Long id)
{ {
schoolLabCompetitionMapper.deleteSchoolAccessoryByBusinessId(id);
return schoolLabCompetitionMapper.deleteSchoolLabCompetitionById(id); return schoolLabCompetitionMapper.deleteSchoolLabCompetitionById(id);
} }
/**
* 新增证书照片
* @param
*/
public void insertSchoolAccessory(SchoolLabCompetitionVo schoolLabCompetitionVo)
{
List<SchoolAccessory> schoolAccessoryList = schoolLabCompetitionVo.getSchoolAccessoryList();
Long id = schoolLabCompetitionVo.getId();
if (StringUtils.isNotNull(schoolAccessoryList))
{
List<SchoolAccessory> list = new ArrayList<SchoolAccessory>();
for (SchoolAccessory schoolAccessory : schoolAccessoryList)
{
schoolAccessory.setModuleName("实验室竞赛");
schoolAccessory.setAccessoryType("证书照片");
schoolAccessory.setBusinessId(id);
schoolAccessory.setCreateBy(SecurityUtils.getLoginUser().getUser().getUserName());
schoolAccessory.setCreateTime(DateUtils.getNowDate());
list.add(schoolAccessory);
}
if (list.size() > 0)
{
schoolLabCompetitionMapper.batchSchoolAccessory(list);
}
}
}
} }
...@@ -11,6 +11,7 @@ import org.springframework.stereotype.Service; ...@@ -11,6 +11,7 @@ import org.springframework.stereotype.Service;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLab; import yangtz.cs.liu.campus.domain.schoolLab.SchoolLab;
import yangtz.cs.liu.campus.mapper.schoolLab.SchoolLabMapper; import yangtz.cs.liu.campus.mapper.schoolLab.SchoolLabMapper;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabService; import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabService;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolLabVo;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -36,7 +37,7 @@ public class SchoolLabServiceImpl extends ServiceImpl<SchoolLabMapper,SchoolLab> ...@@ -36,7 +37,7 @@ public class SchoolLabServiceImpl extends ServiceImpl<SchoolLabMapper,SchoolLab>
* @return 实验室 * @return 实验室
*/ */
@Override @Override
public SchoolLab selectSchoolLabById(Long id) public SchoolLabVo selectSchoolLabById(Long id)
{ {
return schoolLabMapper.selectSchoolLabById(id); return schoolLabMapper.selectSchoolLabById(id);
} }
...@@ -44,29 +45,44 @@ public class SchoolLabServiceImpl extends ServiceImpl<SchoolLabMapper,SchoolLab> ...@@ -44,29 +45,44 @@ public class SchoolLabServiceImpl extends ServiceImpl<SchoolLabMapper,SchoolLab>
/** /**
* 查询实验室列表 * 查询实验室列表
* *
* @param schoolLab 实验室 * @param schoolLabVo 实验室
* @return 实验室 * @return 实验室
*/ */
@Override @Override
public List<SchoolLab> selectSchoolLabList(SchoolLab schoolLab) public List<SchoolLabVo> selectSchoolLabList(SchoolLabVo schoolLabVo)
{ {
List<SchoolLab> list = new ArrayList<>();
List<SchoolLabVo> list = new ArrayList<>();
//获取当前登录用户 //获取当前登录用户
SysUser user = SecurityUtils.getLoginUser().getUser(); SysUser user = SecurityUtils.getLoginUser().getUser();
//获取用户角色集合 //获取用户角色集合
List<SysRole> roles = user.getRoles(); List<SysRole> roles = user.getRoles();
List<String> labSubs = new ArrayList<>();
if (user.isAdmin()){
return schoolLabMapper.selectSchoolLabList(schoolLabVo);
}
for (SysRole role : roles) { for (SysRole role : roles) {
if (role.getRoleKey().equals("admin")){ if (role.getRoleKey().equals("admin")){
return schoolLabMapper.selectSchoolLabList(schoolLab); return schoolLabMapper.selectSchoolLabList(schoolLabVo);
}else if (role.getRoleKey().equals("phy_lab_admin") || role.getRoleKey().equals("che_lab_admin") || role.getRoleKey().equals("bio_lab_admin")){
schoolLab.setInChargeId(user.getUserId());
return schoolLabMapper.selectSchoolLabList(schoolLab);
} }
switch (role.getRoleKey()){
case "phy_lab_admin":
labSubs.add("1");
break;
case "che_lab_admin":
labSubs.add("2");
break;
case "bio_lab_admin":
labSubs.add("3");
break;
default:break;
} }
if (user.isAdmin()){
return schoolLabMapper.selectSchoolLabList(schoolLab);
} }
return list; schoolLabVo.setLabSubs(labSubs);
return schoolLabMapper.selectSchoolLabList(schoolLabVo);
} }
/** /**
...@@ -146,11 +162,15 @@ public class SchoolLabServiceImpl extends ServiceImpl<SchoolLabMapper,SchoolLab> ...@@ -146,11 +162,15 @@ public class SchoolLabServiceImpl extends ServiceImpl<SchoolLabMapper,SchoolLab>
return schoolLabMapper.getLabAdminAll(); return schoolLabMapper.getLabAdminAll();
} }
if (list.size() <= 0){ if (list.size() <= 0){
throw new ServiceException("查询到您实验室管理员信息"); throw new ServiceException("查询到您实验室管理员信息");
} }
return list; return list;
} }
/**
* 获取学科
* @return
*/
@Override @Override
public List<Map<String, String>> getSub() { public List<Map<String, String>> getSub() {
List<Map<String, String>> list = new ArrayList<>(); List<Map<String, String>> list = new ArrayList<>();
......
package yangtz.cs.liu.campus.service.impl.schoolLab; package yangtz.cs.liu.campus.service.impl.schoolLab;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherExperimentApplyLabs;
import yangtz.cs.liu.campus.mapper.schoolLab.SchoolTeacherExperimentApplyMapper; import yangtz.cs.liu.campus.mapper.schoolLab.SchoolTeacherExperimentApplyMapper;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherExperimentApply; import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherExperimentApply;
import yangtz.cs.liu.campus.mapper.schoolLab.SchoollTeacherExperimentApplyLabsMapper;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolTeacherExperimentApplyService; import yangtz.cs.liu.campus.service.schoolLab.ISchoolTeacherExperimentApplyService;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolTeacherExperimentApplyVo;
/** /**
* 教师个人实验申请Service业务层处理 * 教师个人实验申请Service业务层处理
...@@ -29,7 +40,7 @@ public class SchoolTeacherExperimentApplyServiceImpl extends ServiceImpl<SchoolT ...@@ -29,7 +40,7 @@ public class SchoolTeacherExperimentApplyServiceImpl extends ServiceImpl<SchoolT
* @return 教师个人实验申请 * @return 教师个人实验申请
*/ */
@Override @Override
public SchoolTeacherExperimentApply selectSchoolTeacherExperimentApplyById(Long id) public SchoolTeacherExperimentApplyVo selectSchoolTeacherExperimentApplyById(Long id)
{ {
return schoolTeacherExperimentApplyMapper.selectSchoolTeacherExperimentApplyById(id); return schoolTeacherExperimentApplyMapper.selectSchoolTeacherExperimentApplyById(id);
} }
...@@ -37,39 +48,47 @@ public class SchoolTeacherExperimentApplyServiceImpl extends ServiceImpl<SchoolT ...@@ -37,39 +48,47 @@ public class SchoolTeacherExperimentApplyServiceImpl extends ServiceImpl<SchoolT
/** /**
* 查询教师个人实验申请列表 * 查询教师个人实验申请列表
* *
* @param schoolTeacherExperimentApply 教师个人实验申请 * @param schoolTeacherExperimentApplyVo 教师个人实验申请
* @return 教师个人实验申请 * @return 教师个人实验申请
*/ */
@Override @Override
public List<SchoolTeacherExperimentApply> selectSchoolTeacherExperimentApplyList(SchoolTeacherExperimentApply schoolTeacherExperimentApply) public List<SchoolTeacherExperimentApplyVo> selectSchoolTeacherExperimentApplyList(SchoolTeacherExperimentApplyVo schoolTeacherExperimentApplyVo)
{ {
return schoolTeacherExperimentApplyMapper.selectSchoolTeacherExperimentApplyList(schoolTeacherExperimentApply); return schoolTeacherExperimentApplyMapper.selectSchoolTeacherExperimentApplyList(schoolTeacherExperimentApplyVo);
} }
/** /**
* 新增教师个人实验申请 * 新增教师个人实验申请
* *
* @param schoolTeacherExperimentApply 教师个人实验申请 * @param schoolTeacherExperimentApplyVo 教师个人实验申请
* @return 结果 * @return 结果
*/ */
@Override @Override
public int insertSchoolTeacherExperimentApply(SchoolTeacherExperimentApply schoolTeacherExperimentApply) public int insertSchoolTeacherExperimentApply(SchoolTeacherExperimentApplyVo schoolTeacherExperimentApplyVo)
{ {
schoolTeacherExperimentApply.setCreateTime(DateUtils.getNowDate()); SysUser user = SecurityUtils.getLoginUser().getUser();
return schoolTeacherExperimentApplyMapper.insertSchoolTeacherExperimentApply(schoolTeacherExperimentApply); schoolTeacherExperimentApplyVo.setApplyId(user.getUserId());
schoolTeacherExperimentApplyVo.setApplyName(user.getUserName());
schoolTeacherExperimentApplyVo.setApplyTime(DateUtils.getNowDate());
schoolTeacherExperimentApplyVo.setCreateBy(user.getUserName());
schoolTeacherExperimentApplyVo.setCreateTime(DateUtils.getNowDate());
int rows = schoolTeacherExperimentApplyMapper.insertSchoolTeacherExperimentApply(schoolTeacherExperimentApplyVo);
return rows;
} }
/** /**
* 修改教师个人实验申请 * 修改教师个人实验申请
* *
* @param schoolTeacherExperimentApply 教师个人实验申请 * @param schoolTeacherExperimentApplyVo 教师个人实验申请
* @return 结果 * @return 结果
*/ */
@Override @Override
public int updateSchoolTeacherExperimentApply(SchoolTeacherExperimentApply schoolTeacherExperimentApply) public int updateSchoolTeacherExperimentApply(SchoolTeacherExperimentApplyVo schoolTeacherExperimentApplyVo)
{ {
schoolTeacherExperimentApply.setUpdateTime(DateUtils.getNowDate()); SysUser user = SecurityUtils.getLoginUser().getUser();
return schoolTeacherExperimentApplyMapper.updateSchoolTeacherExperimentApply(schoolTeacherExperimentApply); schoolTeacherExperimentApplyVo.setUpdateBy(user.getUserName());
schoolTeacherExperimentApplyVo.setUpdateTime(DateUtils.getNowDate());
return schoolTeacherExperimentApplyMapper.updateSchoolTeacherExperimentApply(schoolTeacherExperimentApplyVo);
} }
/** /**
...@@ -95,4 +114,28 @@ public class SchoolTeacherExperimentApplyServiceImpl extends ServiceImpl<SchoolT ...@@ -95,4 +114,28 @@ public class SchoolTeacherExperimentApplyServiceImpl extends ServiceImpl<SchoolT
{ {
return schoolTeacherExperimentApplyMapper.deleteSchoolTeacherExperimentApplyById(id); return schoolTeacherExperimentApplyMapper.deleteSchoolTeacherExperimentApplyById(id);
} }
/**
* 实验室管理-教师个人演示实验审批-分配实验室
* @param schoolTeacherExperimentApplyVo
* @return
*/
@Override
public int teacherExperimentLabs(SchoolTeacherExperimentApplyVo schoolTeacherExperimentApplyVo) {
List<SchoolTeacherExperimentApplyLabs> schoolTeacherExperimentApplyLabsList = schoolTeacherExperimentApplyVo.getSchoolTeacherExperimentApplyLabsList();
Long id = schoolTeacherExperimentApplyVo.getId();
if (StringUtils.isNull(schoolTeacherExperimentApplyLabsList)){
throw new ServiceException("请选择实验室");
}
List<SchoolTeacherExperimentApplyLabs> list = new ArrayList<>();
for (SchoolTeacherExperimentApplyLabs schoolTeacherExperimentApplyLabs : schoolTeacherExperimentApplyLabsList) {
schoolTeacherExperimentApplyLabs.setTeacherExperimentApplyId(id);
list.add(schoolTeacherExperimentApplyLabs);
}
if (list.size() > 0){
schoolTeacherExperimentApplyMapper.deleteSchoolTeacherExperimentApplyLabsId(id);
schoolTeacherExperimentApplyMapper.batchSchoolTeacherExperimentApplyLabs(list);
}
return schoolTeacherExperimentApplyMapper.updateSchoolTeacherExperimentApply(schoolTeacherExperimentApplyVo);
}
} }
package yangtz.cs.liu.campus.service.impl.schoolLab; package yangtz.cs.liu.campus.service.impl.schoolLab;
import com.ruoyi.common.utils.StringUtils; import java.util.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import java.util.Map; import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import yangtz.cs.liu.campus.domain.schoolClass.SchoolClass; import org.springframework.transaction.annotation.Transactional;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolExperimentPlan; import yangtz.cs.liu.campus.domain.accessory.SchoolAccessory;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolExperimentPlanClass;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear; import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear;
import yangtz.cs.liu.campus.mapper.schoolClass.SchoolClassMapper; import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYearRelation;
import yangtz.cs.liu.campus.mapper.schoolLab.SchoolExperimentPlanMapper; import yangtz.cs.liu.campus.mapper.accessory.AccessoryMapper;
import yangtz.cs.liu.campus.mapper.schoolLab.SchoolLabClassYearMapper;
import yangtz.cs.liu.campus.mapper.schoolLab.SchoolLabClassYearRelationMapper;
import yangtz.cs.liu.campus.mapper.schoolLab.SchoolTeacherLabApplyMapper; import yangtz.cs.liu.campus.mapper.schoolLab.SchoolTeacherLabApplyMapper;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherLabApply; import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherLabApply;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolTeacherLabApplyService; import yangtz.cs.liu.campus.service.schoolLab.ISchoolTeacherLabApplyService;
import yangtz.cs.liu.campus.vo.schoolLab.ClassSituationVo; import yangtz.cs.liu.campus.vo.schoolLab.ClassSituationVo;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolExperimentPlanVo; import yangtz.cs.liu.campus.vo.schoolLab.SchoolTeacherLabApplyVo;
/** /**
* 教师实验室申请Service业务层处理 * 教师实验室申请Service业务层处理
...@@ -34,10 +37,11 @@ public class SchoolTeacherLabApplyServiceImpl extends ServiceImpl<SchoolTeacherL ...@@ -34,10 +37,11 @@ public class SchoolTeacherLabApplyServiceImpl extends ServiceImpl<SchoolTeacherL
@Autowired @Autowired
private SchoolTeacherLabApplyMapper schoolTeacherLabApplyMapper; private SchoolTeacherLabApplyMapper schoolTeacherLabApplyMapper;
@Autowired @Autowired
private SchoolExperimentPlanMapper schoolExperimentPlanMapper; private SchoolLabClassYearMapper schoolLabClassYearMapper;
@Autowired
private SchoolLabClassYearRelationMapper schoolLabClassYearRelationMapper;
@Autowired @Autowired
private SchoolClassMapper schoolClassMapper; private AccessoryMapper accessoryMapper;
/** /**
* 查询教师实验室申请 * 查询教师实验室申请
...@@ -46,7 +50,7 @@ public class SchoolTeacherLabApplyServiceImpl extends ServiceImpl<SchoolTeacherL ...@@ -46,7 +50,7 @@ public class SchoolTeacherLabApplyServiceImpl extends ServiceImpl<SchoolTeacherL
* @return 教师实验室申请 * @return 教师实验室申请
*/ */
@Override @Override
public SchoolTeacherLabApply selectSchoolTeacherLabApplyById(Long id) public SchoolTeacherLabApplyVo selectSchoolTeacherLabApplyById(Long id)
{ {
return schoolTeacherLabApplyMapper.selectSchoolTeacherLabApplyById(id); return schoolTeacherLabApplyMapper.selectSchoolTeacherLabApplyById(id);
} }
...@@ -54,39 +58,45 @@ public class SchoolTeacherLabApplyServiceImpl extends ServiceImpl<SchoolTeacherL ...@@ -54,39 +58,45 @@ public class SchoolTeacherLabApplyServiceImpl extends ServiceImpl<SchoolTeacherL
/** /**
* 查询教师实验室申请列表 * 查询教师实验室申请列表
* *
* @param schoolTeacherLabApply 教师实验室申请 * @param schoolTeacherLabApplyVo 教师实验室申请
* @return 教师实验室申请 * @return 教师实验室申请
*/ */
@Override @Override
public List<SchoolTeacherLabApply> selectSchoolTeacherLabApplyList(SchoolTeacherLabApply schoolTeacherLabApply) public List<SchoolTeacherLabApplyVo> selectSchoolTeacherLabApplyList(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo)
{ {
return schoolTeacherLabApplyMapper.selectSchoolTeacherLabApplyList(schoolTeacherLabApply); return schoolTeacherLabApplyMapper.selectSchoolTeacherLabApplyList(schoolTeacherLabApplyVo);
} }
/** /**
* 新增教师实验室申请 * 新增教师实验室申请
* *
* @param schoolTeacherLabApply 教师实验室申请 * @param schoolTeacherLabApplyVo 教师实验室申请
* @return 结果 * @return 结果
*/ */
@Override @Override
public int insertSchoolTeacherLabApply(SchoolTeacherLabApply schoolTeacherLabApply) public int insertSchoolTeacherLabApply(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo)
{ {
schoolTeacherLabApply.setCreateTime(DateUtils.getNowDate()); SysUser user = SecurityUtils.getLoginUser().getUser();
return schoolTeacherLabApplyMapper.insertSchoolTeacherLabApply(schoolTeacherLabApply); schoolTeacherLabApplyVo.setApplyId(user.getUserId());
schoolTeacherLabApplyVo.setApplyName(user.getUserName());
schoolTeacherLabApplyVo.setApplyTime(DateUtils.getNowDate());
schoolTeacherLabApplyVo.setCreateBy(user.getUserName());
schoolTeacherLabApplyVo.setCreateTime(DateUtils.getNowDate());
return schoolTeacherLabApplyMapper.insertSchoolTeacherLabApply(schoolTeacherLabApplyVo);
} }
/** /**
* 修改教师实验室申请 * 修改教师实验室申请
* *
* @param schoolTeacherLabApply 教师实验室申请 * @param schoolTeacherLabApplyVo 教师实验室申请
* @return 结果 * @return 结果
*/ */
@Override @Override
public int updateSchoolTeacherLabApply(SchoolTeacherLabApply schoolTeacherLabApply) public int updateSchoolTeacherLabApply(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo)
{ {
schoolTeacherLabApply.setUpdateTime(DateUtils.getNowDate()); schoolTeacherLabApplyVo.setUpdateBy(SecurityUtils.getLoginUser().getUser().getUserName());
return schoolTeacherLabApplyMapper.updateSchoolTeacherLabApply(schoolTeacherLabApply); schoolTeacherLabApplyVo.setUpdateTime(DateUtils.getNowDate());
return schoolTeacherLabApplyMapper.updateSchoolTeacherLabApply(schoolTeacherLabApplyVo);
} }
/** /**
...@@ -98,6 +108,7 @@ public class SchoolTeacherLabApplyServiceImpl extends ServiceImpl<SchoolTeacherL ...@@ -98,6 +108,7 @@ public class SchoolTeacherLabApplyServiceImpl extends ServiceImpl<SchoolTeacherL
@Override @Override
public int deleteSchoolTeacherLabApplyByIds(Long[] ids) public int deleteSchoolTeacherLabApplyByIds(Long[] ids)
{ {
schoolTeacherLabApplyMapper.deleteSchoolAccessoryByBusinessIds(ids);
return schoolTeacherLabApplyMapper.deleteSchoolTeacherLabApplyByIds(ids); return schoolTeacherLabApplyMapper.deleteSchoolTeacherLabApplyByIds(ids);
} }
...@@ -110,17 +121,357 @@ public class SchoolTeacherLabApplyServiceImpl extends ServiceImpl<SchoolTeacherL ...@@ -110,17 +121,357 @@ public class SchoolTeacherLabApplyServiceImpl extends ServiceImpl<SchoolTeacherL
@Override @Override
public int deleteSchoolTeacherLabApplyById(Long id) public int deleteSchoolTeacherLabApplyById(Long id)
{ {
schoolTeacherLabApplyMapper.deleteSchoolAccessoryByBusinessId(id);
return schoolTeacherLabApplyMapper.deleteSchoolTeacherLabApplyById(id); return schoolTeacherLabApplyMapper.deleteSchoolTeacherLabApplyById(id);
} }
/** /**
* 获取实验室使用状态
* @param schoolTeacherLabApplyVo
* @return
*/
@Override
public List<Map<String, Object>> getTeacherLab(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo) {
//判断实验时间是否在计划之间之内
LambdaQueryWrapper<SchoolLabClassYear> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SchoolLabClassYear::getId,schoolTeacherLabApplyVo.getLabClassYearId());
SchoolLabClassYear schoolLabClassYear = schoolLabClassYearMapper.selectOne(wrapper);
//计划开始时间
Date plannedStartTime = schoolLabClassYear.getPlannedStartTime();
//计划结束时间
Date plannedEndTime = schoolLabClassYear.getPlannedEndTime();
//实验时间
Date experimentTime = schoolTeacherLabApplyVo.getExperimentTime();
if (experimentTime.before(plannedStartTime) || experimentTime.after(plannedEndTime)){
throw new ServiceException("请选择计划时间内的时间");
}
//返回集合
List<Map<String, Object>> list = new ArrayList<>();
//查询该年级实验室预约中已经分配的实验室id
LambdaQueryWrapper<SchoolLabClassYearRelation> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(SchoolLabClassYearRelation::getLabClassYearId,schoolTeacherLabApplyVo.getLabClassYearId());
List<SchoolLabClassYearRelation> schoolLabClassYearRelations = schoolLabClassYearRelationMapper.selectList(wrapper1);
//根据日期和节次查询正在使用的实验室
LambdaQueryWrapper<SchoolTeacherLabApply> wrapper2 = new LambdaQueryWrapper<>();
wrapper2.eq(SchoolTeacherLabApply::getLabClassYearId,schoolTeacherLabApplyVo.getLabClassYearId())
.eq(SchoolTeacherLabApply::getExperimentTime,schoolTeacherLabApplyVo.getExperimentTime())
.eq(SchoolTeacherLabApply::getSection,schoolTeacherLabApplyVo.getSection());
List<SchoolTeacherLabApply> schoolTeacherLabApplies = schoolTeacherLabApplyMapper.selectList(wrapper2);
//判断哪些实验室在使用中
if (schoolTeacherLabApplies.size() > 0){
for (SchoolLabClassYearRelation schoolLabClassYearRelation : schoolLabClassYearRelations) {
Map<String,Object> map = new HashMap<>();
map.put("labId",schoolLabClassYearRelation.getLabId());
map.put("labName",schoolLabClassYearRelation.getLabName());
for (SchoolTeacherLabApply schoolTeacherLabApply : schoolTeacherLabApplies) {
if (schoolLabClassYearRelation.getLabId().equals(schoolTeacherLabApply.getLabId())){
map.put("useState","使用中");
break;
}else {
map.put("useState","空闲");
}
}
list.add(map);
}
return list;
}
for (SchoolLabClassYearRelation schoolLabClassYearRelation : schoolLabClassYearRelations) {
Map<String, Object> map = new HashMap<>();
map.put("labId",schoolLabClassYearRelation.getLabId());
map.put("labName",schoolLabClassYearRelation.getLabName());
map.put("useState","空闲");
list.add(map);
}
return list;
}
/**
* 获取班级
* @param schoolTeacherLabApplyVo
* @return
*/
@Override
public List<Map<String, Object>> getTeacherClass(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo) {
SysUser user = SecurityUtils.getLoginUser().getUser();
//如果是管理员,返回该实验计划所有班级
if (user.isAdmin()){
return schoolTeacherLabApplyMapper.getTeacherClassAll(schoolTeacherLabApplyVo);
}
//如果是教师,返回该教师对应的班级
schoolTeacherLabApplyVo.setTeacherId(user.getUserId());
return schoolTeacherLabApplyMapper.getTeacherClass(schoolTeacherLabApplyVo);
}
/**
* 上传附件
* @param schoolTeacherLabApplyVo
* @return
*/
@Override
public int updateTeacherLab(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo) {
//教师实验室预约id
Long id = schoolTeacherLabApplyVo.getId();
//附件信息集合
List<SchoolAccessory> schoolAccessoryList = schoolTeacherLabApplyVo.getSchoolAccessoryList();
List<SchoolAccessory> list = new ArrayList<>();
for (SchoolAccessory schoolAccessory : schoolAccessoryList) {
schoolAccessory.setBusinessId(id);
schoolAccessory.setModuleName("教师-教师实验室记录");
schoolAccessory.setAccessoryType("教师实验室附件");
schoolAccessory.setCreateBy(SecurityUtils.getLoginUser().getUser().getUserName());
schoolAccessory.setCreateTime(DateUtils.getNowDate());
list.add(schoolAccessory);
}
if (list.size() > 0){
schoolTeacherLabApplyMapper.batchSchoolAccessory(list);
}
SchoolTeacherLabApply schoolTeacherLabApply = new SchoolTeacherLabApply();
schoolTeacherLabApply.setId(id);
schoolTeacherLabApply.setState("1");
return schoolTeacherLabApplyMapper.updateById(schoolTeacherLabApply);
}
/**
* 实验室管理-教师申请列表
* @param schoolTeacherLabApplyVo
* @return
*/
@Override
public List<SchoolTeacherLabApplyVo> getTeacherLabApplyList(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo) {
//获取登录用户
SysUser user = SecurityUtils.getLoginUser().getUser();
if (user.isAdmin()){
List<SchoolTeacherLabApplyVo> schoolTeacherLabApplyVos = schoolTeacherLabApplyMapper.selectSchoolTeacherLabApplyList(schoolTeacherLabApplyVo);
for (SchoolTeacherLabApplyVo teacherLabApplyVo : schoolTeacherLabApplyVos) {
LambdaQueryWrapper<SchoolAccessory> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SchoolAccessory::getBusinessId,teacherLabApplyVo.getId())
.eq(SchoolAccessory::getAccessoryType,"教师实验室附件");
List<SchoolAccessory> schoolAccessories = accessoryMapper.selectList(wrapper);
if (schoolAccessories.size() > 0){
teacherLabApplyVo.setSchoolAccessoryList(schoolAccessories);
}
String semester = "";
if (teacherLabApplyVo.getSemester().equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
teacherLabApplyVo.setSchoolYearSemester(teacherLabApplyVo.getSchoolYear() + semester);
}
return schoolTeacherLabApplyVos;
}
//管理员通道
List<String> subs = new ArrayList<>();
List<SysRole> roles = user.getRoles();
for (SysRole role : roles) {
if (role.getRoleKey().equals("admin")) {
List<SchoolTeacherLabApplyVo> schoolTeacherLabApplyVos = schoolTeacherLabApplyMapper.selectSchoolTeacherLabApplyList(schoolTeacherLabApplyVo);
for (SchoolTeacherLabApplyVo teacherLabApplyVo : schoolTeacherLabApplyVos) {
LambdaQueryWrapper<SchoolAccessory> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SchoolAccessory::getBusinessId,teacherLabApplyVo.getId())
.eq(SchoolAccessory::getAccessoryType,"教师实验室附件");
List<SchoolAccessory> schoolAccessories = accessoryMapper.selectList(wrapper);
if (schoolAccessories.size() > 0){
teacherLabApplyVo.setSchoolAccessoryList(schoolAccessories);
}
String semester = "";
if (teacherLabApplyVo.getSemester().equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
teacherLabApplyVo.setSchoolYearSemester(teacherLabApplyVo.getSchoolYear() + semester);
}
return schoolTeacherLabApplyVos;
}
switch (role.getRoleKey()){
case "phy_lab_admin":
subs.add("1");
break;
case "che_lab_admin":
subs.add("2");
break;
case "bio_lab_admin":
subs.add("3");
break;
default:break;
}
}
schoolTeacherLabApplyVo.setSubs(subs);
List<SchoolTeacherLabApplyVo> schoolTeacherLabApplyVos = schoolTeacherLabApplyMapper.selectSchoolTeacherLabApplyList(schoolTeacherLabApplyVo);
for (SchoolTeacherLabApplyVo teacherLabApplyVo : schoolTeacherLabApplyVos) {
LambdaQueryWrapper<SchoolAccessory> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SchoolAccessory::getBusinessId,teacherLabApplyVo.getId())
.eq(SchoolAccessory::getAccessoryType,"教师实验室附件");
List<SchoolAccessory> schoolAccessories = accessoryMapper.selectList(wrapper);
if (schoolAccessories.size() > 0){
teacherLabApplyVo.setSchoolAccessoryList(schoolAccessories);
}
String semester = "";
if (teacherLabApplyVo.getSemester().equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
teacherLabApplyVo.setSchoolYearSemester(teacherLabApplyVo.getSchoolYear() + semester);
}
return schoolTeacherLabApplyVos;
}
/**
* 实验室管理-教师申请审批确认
* @param schoolTeacherLabApply
* @return
*/
@Override
public int updateState(SchoolTeacherLabApply schoolTeacherLabApply) {
return schoolTeacherLabApplyMapper.updateById(schoolTeacherLabApply);
}
/**
* 查看班级完成详情
* @param schoolTeacherLabApplyVo
* @return
*/
@Override
public List<Map<String, Object>> getClassDetails(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo) {
List<Map<String, Object>> classDetails = schoolTeacherLabApplyMapper.getClassDetails(schoolTeacherLabApplyVo);
classDetails.forEach(classDetails1 -> {
LambdaQueryWrapper<SchoolAccessory> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SchoolAccessory::getBusinessId,classDetails1.get("id"))
.eq(SchoolAccessory::getAccessoryType,"教师实验室附件");
List<SchoolAccessory> schoolAccessories = accessoryMapper.selectList(wrapper);
if (schoolAccessories.size() > 0){
classDetails1.put("schoolAccessories",schoolAccessories);
}
});
return classDetails;
}
/**
* 教师实验统计
* @param schoolTeacherLabApplyVo
* @return
*/
@Override
public List<Map<String, Object>> getCountTeacher(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo) {
return schoolTeacherLabApplyMapper.getCountTeacher(schoolTeacherLabApplyVo);
}
/**
* 级部-班级完成情况明细
* @param schoolTeacherLabApplyVo
* @return
*/
@Override
public List<Map<String, Object>> gradeCountClass(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo) {
return schoolTeacherLabApplyMapper.gradeCountClass(schoolTeacherLabApplyVo);
}
/**
* 级部-班级完成情况明细-查看班级完成情况详情
* @param schoolTeacherLabApplyVo
* @return
*/
@Override
public List<SchoolTeacherLabApplyVo> getGradeClassDetails(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo) {
List<SchoolTeacherLabApplyVo> list = schoolTeacherLabApplyMapper.getGradeClassDetails(schoolTeacherLabApplyVo);
list.forEach(list1 -> {
String semester = "";
if (list1.getSemester().equals("1")){
semester = "上学期";
}else {
semester = "下学期";
}
list1.setSchoolYearSemester(list1.getSchoolYear() + semester);
});
return list;
}
/**
* xwh-新增教师申请
* @param schoolTeacherLabApplyVo
* @return
*/
@Override
@Transactional
public int insertSchoolTeacherLabApplyVo(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo) {
//判断选择的班级是否存在此次实验
LambdaQueryWrapper<SchoolTeacherLabApply> lqw = new LambdaQueryWrapper<>();
lqw.eq(SchoolTeacherLabApply::getClassId,schoolTeacherLabApplyVo.getClassId())
.eq(SchoolTeacherLabApply::getLabClassYearId,schoolTeacherLabApplyVo.getLabClassYearId());
SchoolTeacherLabApply schoolTeacherLabApply = schoolTeacherLabApplyMapper.selectOne(lqw);
if (StringUtils.isNotNull(schoolTeacherLabApply)){
throw new ServiceException("已存在该班级此次实验申请");
}
//判断实验时间是否在计划之间之内
LambdaQueryWrapper<SchoolLabClassYear> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SchoolLabClassYear::getId,schoolTeacherLabApplyVo.getLabClassYearId());
SchoolLabClassYear schoolLabClassYear = schoolLabClassYearMapper.selectOne(wrapper);
//计划开始时间
Date plannedStartTime = schoolLabClassYear.getPlannedStartTime();
//计划结束时间
Date plannedEndTime = schoolLabClassYear.getPlannedEndTime();
//实验时间
Date experimentTime = schoolTeacherLabApplyVo.getExperimentTime();
if (experimentTime.before(plannedStartTime) || experimentTime.after(plannedEndTime)){
throw new ServiceException("请选择计划时间内的时间");
}
//判断是否选择了实验室
if (StringUtils.isNull(schoolTeacherLabApplyVo.getLabId())){
throw new ServiceException("请选择实验室");
}
SysUser user = SecurityUtils.getLoginUser().getUser();
schoolTeacherLabApplyVo.setApplyId(user.getUserId());
schoolTeacherLabApplyVo.setApplyName(user.getUserName());
schoolTeacherLabApplyVo.setApplyTime(DateUtils.getNowDate());
schoolTeacherLabApplyVo.setCreateBy(user.getUserName());
schoolTeacherLabApplyVo.setCreateTime(DateUtils.getNowDate());
return schoolTeacherLabApplyMapper.insertSchoolTeacherLabApply(schoolTeacherLabApplyVo);
}
/**
* xwh-修改教师申请
* @param schoolTeacherLabApplyVo
* @return
*/
@Override
@Transactional
public int updateSchoolTeacherLabApplyVo(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo) {
//判断实验时间是否在计划之间之内
LambdaQueryWrapper<SchoolLabClassYear> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SchoolLabClassYear::getId,schoolTeacherLabApplyVo.getLabClassYearId());
SchoolLabClassYear schoolLabClassYear = schoolLabClassYearMapper.selectOne(wrapper);
//计划开始时间
Date plannedStartTime = schoolLabClassYear.getPlannedStartTime();
//计划结束时间
Date plannedEndTime = schoolLabClassYear.getPlannedEndTime();
//实验时间
Date experimentTime = schoolTeacherLabApplyVo.getExperimentTime();
if (experimentTime.before(plannedStartTime) || experimentTime.after(plannedEndTime)){
throw new ServiceException("请选择计划时间内的时间");
}
schoolTeacherLabApplyVo.setUpdateBy(SecurityUtils.getLoginUser().getUser().getUserName());
schoolTeacherLabApplyVo.setUpdateTime(DateUtils.getNowDate());
return schoolTeacherLabApplyMapper.updateSchoolTeacherLabApply(schoolTeacherLabApplyVo);
}
/**
* 获取班级详情 * 获取班级详情
* @param one * @param one
* @return * @return
*/ */
@Override @Override
public List<SchoolTeacherLabApply> getTeacherExperimentList(ClassSituationVo one) { public List<SchoolTeacherLabApplyVo> getTeacherExperimentList(ClassSituationVo one) {
SchoolTeacherLabApply schoolTeacherLabApply = new SchoolTeacherLabApply(); SchoolTeacherLabApplyVo schoolTeacherLabApply = new SchoolTeacherLabApplyVo();
schoolTeacherLabApply.setLabClassYearId(one.getLabClassYearId().toString()); schoolTeacherLabApply.setLabClassYearId(one.getLabClassYearId().toString());
schoolTeacherLabApply.setSchoolYear(one.getSchoolYear().toString()); schoolTeacherLabApply.setSchoolYear(one.getSchoolYear().toString());
schoolTeacherLabApply.setSemester(one.getSemester()); schoolTeacherLabApply.setSemester(one.getSemester());
...@@ -128,7 +479,7 @@ public class SchoolTeacherLabApplyServiceImpl extends ServiceImpl<SchoolTeacherL ...@@ -128,7 +479,7 @@ public class SchoolTeacherLabApplyServiceImpl extends ServiceImpl<SchoolTeacherL
schoolTeacherLabApply.setState(one.getState()); schoolTeacherLabApply.setState(one.getState());
schoolTeacherLabApply.setClassName(one.getClassName()); schoolTeacherLabApply.setClassName(one.getClassName());
//1.已经进行的班级 //1.已经进行的班级
List<SchoolTeacherLabApply> schoolTeacherLabApplies = schoolTeacherLabApplyMapper.selectSchoolTeacherLabApplyList( List<SchoolTeacherLabApplyVo> schoolTeacherLabApplies = schoolTeacherLabApplyMapper.selectSchoolTeacherLabApplyList(
schoolTeacherLabApply); schoolTeacherLabApply);
return schoolTeacherLabApplies; return schoolTeacherLabApplies;
......
package yangtz.cs.liu.campus.service.impl.schoolLab;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherExperimentApplyLabs;
import yangtz.cs.liu.campus.mapper.schoolLab.SchoollTeacherExperimentApplyLabsMapper;
import yangtz.cs.liu.campus.service.schoolLab.ISchoollTeacherExperimentApplyLabsService;
@Service
public class SchoollTeacherExperimentApplyLabsServiceImpl extends ServiceImpl<SchoollTeacherExperimentApplyLabsMapper, SchoolTeacherExperimentApplyLabs> implements ISchoollTeacherExperimentApplyLabsService {
}
...@@ -2,6 +2,7 @@ package yangtz.cs.liu.campus.service.schoolLab; ...@@ -2,6 +2,7 @@ package yangtz.cs.liu.campus.service.schoolLab;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolExperimentPlan; import yangtz.cs.liu.campus.domain.schoolLab.SchoolExperimentPlan;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolExperimentPlanMbVo;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolExperimentPlanVo; import yangtz.cs.liu.campus.vo.schoolLab.SchoolExperimentPlanVo;
import java.util.List; import java.util.List;
...@@ -69,12 +70,42 @@ public interface ISchoolExperimentPlanService extends IService<SchoolExperimentP ...@@ -69,12 +70,42 @@ public interface ISchoolExperimentPlanService extends IService<SchoolExperimentP
* @param schoolYear * @param schoolYear
* @return * @return
*/ */
List<Map<String,String>> getGrade(int schoolYear); List<Map<String,Object>> getGrade(int schoolYear,Long userId);
/** /**
* 根据级部查询对应班级 * 根据级部查询对应班级
* @param gradeId * @param gradeId
* @return * @return
*/ */
List<Map<String,String>> getSchoolClass(Long gradeId); List<Map<String,Object>> getSchoolClass(Long gradeId);
List<Map<String,String>> getSub(Long gradeId);
/**
* 实验室管理-级部实验计划查看列表
* @param schoolExperimentPlanVo
* @return
*/
List<SchoolExperimentPlanVo> getExperimentList(SchoolExperimentPlanVo schoolExperimentPlanVo);
/**
* 领导-查看实验室完成情况列表
* @param schoolExperimentPlanVo
* @return
*/
List<Map<String,Object>> countExperiment(SchoolExperimentPlanVo schoolExperimentPlanVo);
/**
* 实验室管理-查看实验室完成情况列表
* @param schoolExperimentPlanVo
* @return
*/
List<Map<String,Object>> countExperimentAdmin(SchoolExperimentPlanVo schoolExperimentPlanVo);
/**
* 级部-实验室完成情况明细
* @param schoolExperimentPlanVo
* @return
*/
List<Map<String, Object>> gradeCountExperiment(SchoolExperimentPlanVo schoolExperimentPlanVo);
} }
package yangtz.cs.liu.campus.service.schoolLab;
import com.baomidou.mybatisplus.extension.service.IService;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYearRelation;
public interface ISchoolLabClassYearRelationService extends IService<SchoolLabClassYearRelation> {
}
...@@ -2,9 +2,11 @@ package yangtz.cs.liu.campus.service.schoolLab; ...@@ -2,9 +2,11 @@ package yangtz.cs.liu.campus.service.schoolLab;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear; import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear;
import yangtz.cs.liu.campus.vo.schoolLab.ClassSituationVo;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolLabClassYearVo;
import java.util.List; import java.util.List;
import yangtz.cs.liu.campus.vo.schoolLab.ClassSituationVo; import java.util.Map;
/** /**
* 年级实验室预约Service接口 * 年级实验室预约Service接口
...@@ -21,15 +23,15 @@ public interface ISchoolLabClassYearService extends IService<SchoolLabClassYear> ...@@ -21,15 +23,15 @@ public interface ISchoolLabClassYearService extends IService<SchoolLabClassYear>
* @param id 年级实验室预约主键 * @param id 年级实验室预约主键
* @return 年级实验室预约 * @return 年级实验室预约
*/ */
public SchoolLabClassYear selectSchoolLabClassYearById(Long id); public SchoolLabClassYearVo selectSchoolLabClassYearById(Long id);
/** /**
* 查询年级实验室预约列表 * 查询年级实验室预约列表
* *
* @param schoolLabClassYear 年级实验室预约 * @param schoolLabClassYearVo 年级实验室预约
* @return 年级实验室预约集合 * @return 年级实验室预约集合
*/ */
public List<SchoolLabClassYear> selectSchoolLabClassYearList(SchoolLabClassYear schoolLabClassYear); public List<SchoolLabClassYearVo> selectSchoolLabClassYearList(SchoolLabClassYearVo schoolLabClassYearVo);
/** /**
* 新增年级实验室预约 * 新增年级实验室预约
...@@ -63,8 +65,55 @@ public interface ISchoolLabClassYearService extends IService<SchoolLabClassYear> ...@@ -63,8 +65,55 @@ public interface ISchoolLabClassYearService extends IService<SchoolLabClassYear>
*/ */
public int deleteSchoolLabClassYearById(Long id); public int deleteSchoolLabClassYearById(Long id);
/**
* 实验室管理-年级实验室预约列表
* @param schoolLabClassYearVo
* @return
*/
List<SchoolLabClassYearVo> getLabClassYear(SchoolLabClassYearVo schoolLabClassYearVo);
/**
* 实验室管理-年级实验室-分配实验室
* @param schoolLabClassYearVo
* @return
*/
int updateLabClassYear(SchoolLabClassYearVo schoolLabClassYearVo);
/**
* 获取实验室
* @param schoolLabClassYearVo
* @return
*/
List<Map<String,Object>> getLabList(SchoolLabClassYearVo schoolLabClassYearVo);
/**
* 实验室管理-年级实验室预约查看详情
* @param id
* @return
*/
SchoolLabClassYearVo getLabClassYearById(Long id);
/**
* 教师-实验室安排列表
* @param schoolLabClassYearVo
* @return
*/
List<SchoolLabClassYearVo> getTeacherLabList(SchoolLabClassYearVo schoolLabClassYearVo);
/**
* xwh-新增年级预约
* @param schoolLabClassYear
* @return
*/
int insertSchoolLabClassYearVo(SchoolLabClassYear schoolLabClassYear);
/**
* xwh-修改年级预约
* @param schoolLabClassYear
* @return
*/
int updateSchoolLabClassYearVo(SchoolLabClassYear schoolLabClassYear);
public List<ClassSituationVo> classSituation(ClassSituationVo classSituationVo); public List<ClassSituationVo> classSituation(ClassSituationVo classSituationVo);
public List<ClassSituationVo> getexperimentList(ClassSituationVo classSituationVo); public List<ClassSituationVo> getexperimentList(ClassSituationVo classSituationVo);
} }
...@@ -2,6 +2,7 @@ package yangtz.cs.liu.campus.service.schoolLab; ...@@ -2,6 +2,7 @@ package yangtz.cs.liu.campus.service.schoolLab;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabCompetition; import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabCompetition;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolLabCompetitionVo;
import java.util.List; import java.util.List;
...@@ -19,31 +20,31 @@ public interface ISchoolLabCompetitionService extends IService<SchoolLabCompetit ...@@ -19,31 +20,31 @@ public interface ISchoolLabCompetitionService extends IService<SchoolLabCompetit
* @param id 实验室竞赛主键 * @param id 实验室竞赛主键
* @return 实验室竞赛 * @return 实验室竞赛
*/ */
public SchoolLabCompetition selectSchoolLabCompetitionById(Long id); public SchoolLabCompetitionVo selectSchoolLabCompetitionById(Long id);
/** /**
* 查询实验室竞赛列表 * 查询实验室竞赛列表
* *
* @param schoolLabCompetition 实验室竞赛 * @param schoolLabCompetitionVo 实验室竞赛
* @return 实验室竞赛集合 * @return 实验室竞赛集合
*/ */
public List<SchoolLabCompetition> selectSchoolLabCompetitionList(SchoolLabCompetition schoolLabCompetition); public List<SchoolLabCompetitionVo> selectSchoolLabCompetitionList(SchoolLabCompetitionVo schoolLabCompetitionVo);
/** /**
* 新增实验室竞赛 * 新增实验室竞赛
* *
* @param schoolLabCompetition 实验室竞赛 * @param schoolLabCompetitionVo 实验室竞赛
* @return 结果 * @return 结果
*/ */
public int insertSchoolLabCompetition(SchoolLabCompetition schoolLabCompetition); public int insertSchoolLabCompetition(SchoolLabCompetitionVo schoolLabCompetitionVo);
/** /**
* 修改实验室竞赛 * 修改实验室竞赛
* *
* @param schoolLabCompetition 实验室竞赛 * @param schoolLabCompetitionVo 实验室竞赛
* @return 结果 * @return 结果
*/ */
public int updateSchoolLabCompetition(SchoolLabCompetition schoolLabCompetition); public int updateSchoolLabCompetition(SchoolLabCompetitionVo schoolLabCompetitionVo);
/** /**
* 批量删除实验室竞赛 * 批量删除实验室竞赛
......
...@@ -2,6 +2,7 @@ package yangtz.cs.liu.campus.service.schoolLab; ...@@ -2,6 +2,7 @@ package yangtz.cs.liu.campus.service.schoolLab;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLab; import yangtz.cs.liu.campus.domain.schoolLab.SchoolLab;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolLabVo;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -21,15 +22,15 @@ public interface ISchoolLabService extends IService<SchoolLab> ...@@ -21,15 +22,15 @@ public interface ISchoolLabService extends IService<SchoolLab>
* @param id 实验室主键 * @param id 实验室主键
* @return 实验室 * @return 实验室
*/ */
public SchoolLab selectSchoolLabById(Long id); public SchoolLabVo selectSchoolLabById(Long id);
/** /**
* 查询实验室列表 * 查询实验室列表
* *
* @param schoolLab 实验室 * @param schoolLabVo 实验室
* @return 实验室集合 * @return 实验室集合
*/ */
public List<SchoolLab> selectSchoolLabList(SchoolLab schoolLab); public List<SchoolLabVo> selectSchoolLabList(SchoolLabVo schoolLabVo);
/** /**
* 新增实验室 * 新增实验室
......
...@@ -2,6 +2,7 @@ package yangtz.cs.liu.campus.service.schoolLab; ...@@ -2,6 +2,7 @@ package yangtz.cs.liu.campus.service.schoolLab;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherExperimentApply; import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherExperimentApply;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolTeacherExperimentApplyVo;
import java.util.List; import java.util.List;
...@@ -19,15 +20,15 @@ public interface ISchoolTeacherExperimentApplyService extends IService<SchoolTea ...@@ -19,15 +20,15 @@ public interface ISchoolTeacherExperimentApplyService extends IService<SchoolTea
* @param id 教师个人实验申请主键 * @param id 教师个人实验申请主键
* @return 教师个人实验申请 * @return 教师个人实验申请
*/ */
public SchoolTeacherExperimentApply selectSchoolTeacherExperimentApplyById(Long id); public SchoolTeacherExperimentApplyVo selectSchoolTeacherExperimentApplyById(Long id);
/** /**
* 查询教师个人实验申请列表 * 查询教师个人实验申请列表
* *
* @param schoolTeacherExperimentApply 教师个人实验申请 * @param schoolTeacherExperimentApplyVo 教师个人实验申请
* @return 教师个人实验申请集合 * @return 教师个人实验申请集合
*/ */
public List<SchoolTeacherExperimentApply> selectSchoolTeacherExperimentApplyList(SchoolTeacherExperimentApply schoolTeacherExperimentApply); public List<SchoolTeacherExperimentApplyVo> selectSchoolTeacherExperimentApplyList(SchoolTeacherExperimentApplyVo schoolTeacherExperimentApplyVo);
/** /**
* 新增教师个人实验申请 * 新增教师个人实验申请
...@@ -35,7 +36,7 @@ public interface ISchoolTeacherExperimentApplyService extends IService<SchoolTea ...@@ -35,7 +36,7 @@ public interface ISchoolTeacherExperimentApplyService extends IService<SchoolTea
* @param schoolTeacherExperimentApply 教师个人实验申请 * @param schoolTeacherExperimentApply 教师个人实验申请
* @return 结果 * @return 结果
*/ */
public int insertSchoolTeacherExperimentApply(SchoolTeacherExperimentApply schoolTeacherExperimentApply); public int insertSchoolTeacherExperimentApply(SchoolTeacherExperimentApplyVo schoolTeacherExperimentApply);
/** /**
* 修改教师个人实验申请 * 修改教师个人实验申请
...@@ -43,7 +44,7 @@ public interface ISchoolTeacherExperimentApplyService extends IService<SchoolTea ...@@ -43,7 +44,7 @@ public interface ISchoolTeacherExperimentApplyService extends IService<SchoolTea
* @param schoolTeacherExperimentApply 教师个人实验申请 * @param schoolTeacherExperimentApply 教师个人实验申请
* @return 结果 * @return 结果
*/ */
public int updateSchoolTeacherExperimentApply(SchoolTeacherExperimentApply schoolTeacherExperimentApply); public int updateSchoolTeacherExperimentApply(SchoolTeacherExperimentApplyVo schoolTeacherExperimentApply);
/** /**
* 批量删除教师个人实验申请 * 批量删除教师个人实验申请
...@@ -60,4 +61,12 @@ public interface ISchoolTeacherExperimentApplyService extends IService<SchoolTea ...@@ -60,4 +61,12 @@ public interface ISchoolTeacherExperimentApplyService extends IService<SchoolTea
* @return 结果 * @return 结果
*/ */
public int deleteSchoolTeacherExperimentApplyById(Long id); public int deleteSchoolTeacherExperimentApplyById(Long id);
/**
* 实验室管理-教师个人演示实验审批-分配实验室
* @param schoolTeacherExperimentApplyVo
* @return
*/
int teacherExperimentLabs(SchoolTeacherExperimentApplyVo schoolTeacherExperimentApplyVo);
} }
package yangtz.cs.liu.campus.service.schoolLab; package yangtz.cs.liu.campus.service.schoolLab;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Map;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherLabApply; import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherLabApply;
import yangtz.cs.liu.campus.vo.schoolLab.ClassSituationVo;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolTeacherLabApplyVo;
import java.util.List; import java.util.List;
import yangtz.cs.liu.campus.vo.schoolLab.ClassSituationVo; import java.util.Map;
/** /**
* 教师实验室申请Service接口 * 教师实验室申请Service接口
...@@ -22,31 +22,31 @@ public interface ISchoolTeacherLabApplyService extends IService<SchoolTeacherLab ...@@ -22,31 +22,31 @@ public interface ISchoolTeacherLabApplyService extends IService<SchoolTeacherLab
* @param id 教师实验室申请主键 * @param id 教师实验室申请主键
* @return 教师实验室申请 * @return 教师实验室申请
*/ */
public SchoolTeacherLabApply selectSchoolTeacherLabApplyById(Long id); public SchoolTeacherLabApplyVo selectSchoolTeacherLabApplyById(Long id);
/** /**
* 查询教师实验室申请列表 * 查询教师实验室申请列表
* *
* @param schoolTeacherLabApply 教师实验室申请 * @param schoolTeacherLabApplyVo 教师实验室申请
* @return 教师实验室申请集合 * @return 教师实验室申请集合
*/ */
public List<SchoolTeacherLabApply> selectSchoolTeacherLabApplyList(SchoolTeacherLabApply schoolTeacherLabApply); public List<SchoolTeacherLabApplyVo> selectSchoolTeacherLabApplyList(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo);
/** /**
* 新增教师实验室申请 * 新增教师实验室申请
* *
* @param schoolTeacherLabApply 教师实验室申请 * @param schoolTeacherLabApplyVo 教师实验室申请
* @return 结果 * @return 结果
*/ */
public int insertSchoolTeacherLabApply(SchoolTeacherLabApply schoolTeacherLabApply); public int insertSchoolTeacherLabApply(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo);
/** /**
* 修改教师实验室申请 * 修改教师实验室申请
* *
* @param schoolTeacherLabApply 教师实验室申请 * @param schoolTeacherLabApplyVo 教师实验室申请
* @return 结果 * @return 结果
*/ */
public int updateSchoolTeacherLabApply(SchoolTeacherLabApply schoolTeacherLabApply); public int updateSchoolTeacherLabApply(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo);
/** /**
* 批量删除教师实验室申请 * 批量删除教师实验室申请
...@@ -64,7 +64,83 @@ public interface ISchoolTeacherLabApplyService extends IService<SchoolTeacherLab ...@@ -64,7 +64,83 @@ public interface ISchoolTeacherLabApplyService extends IService<SchoolTeacherLab
*/ */
public int deleteSchoolTeacherLabApplyById(Long id); public int deleteSchoolTeacherLabApplyById(Long id);
/**
* 获取实验室使用状态
* @param schoolTeacherLabApplyVo
* @return
*/
List<Map<String, Object>> getTeacherLab(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo);
/**
* 获取班级
* @param schoolTeacherLabApplyVo
* @return
*/
List<Map<String, Object>> getTeacherClass(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo);
/**
* 上传附件
* @param schoolTeacherLabApplyVo
* @return
*/
int updateTeacherLab(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo);
/**
* 实验室管理-教师申请列表
* @param schoolTeacherLabApplyVo
* @return
*/
List<SchoolTeacherLabApplyVo> getTeacherLabApplyList(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo);
/**
* 实验室管理-教师申请审批确认
* @param schoolTeacherLabApply
* @return
*/
int updateState(SchoolTeacherLabApply schoolTeacherLabApply);
/**
* 查看班级完成详情
* @param schoolTeacherLabApplyVo
* @return
*/
List<Map<String,Object>> getClassDetails(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo);
/**
* 教师实验统计
* @param schoolTeacherLabApplyVo
* @return
*/
List<Map<String,Object>> getCountTeacher(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo);
/**
* 级部-班级完成情况明细
* @param schoolTeacherLabApplyVo
* @return
*/
List<Map<String,Object>> gradeCountClass(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo);
/**
* 级部-班级完成情况明细-查看班级完成情况详情
* @param schoolTeacherLabApplyVo
* @return
*/
List<SchoolTeacherLabApplyVo> getGradeClassDetails(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo);
/**
* xwh-新增教师申请
* @param schoolTeacherLabApplyVo
* @return
*/
int insertSchoolTeacherLabApplyVo(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo);
/**
* xwh-修改教师申请
* @param schoolTeacherLabApplyVo
* @return
*/
int updateSchoolTeacherLabApplyVo(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo);
List<SchoolTeacherLabApply> getTeacherExperimentList(ClassSituationVo one); List<SchoolTeacherLabApplyVo> getTeacherExperimentList(ClassSituationVo one);
List<Map<String,String>> selectTeacherList(SchoolTeacherLabApply schoolTeacherLabApply); List<Map<String,String>> selectTeacherList(SchoolTeacherLabApply schoolTeacherLabApply);
} }
package yangtz.cs.liu.campus.service.schoolLab;
import com.baomidou.mybatisplus.extension.service.IService;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherExperimentApplyLabs;
public interface ISchoollTeacherExperimentApplyLabsService extends IService<SchoolTeacherExperimentApplyLabs> {
}
...@@ -23,11 +23,12 @@ public class SchoolExperimentPlanVo extends BaseEntity ...@@ -23,11 +23,12 @@ public class SchoolExperimentPlanVo extends BaseEntity
private Long id; private Long id;
/** 学科(1物理,2化学,3生物) */ /** 学科(1物理,2化学,3生物) */
@Excel(name = "学科", readConverterExp = "1=物理,2=化学,3=生物") @Excel(name = "学科", combo = {"物理","化学","生物"}, readConverterExp = "1=物理,2=化学,3=生物")
private String sub; private String sub;
private List<String> subs;
/** 级部id */ /** 级部id */
@Excel(name = "级部id")
private Long gradeId; private Long gradeId;
private List<Long> gradeIds; private List<Long> gradeIds;
...@@ -37,16 +38,18 @@ public class SchoolExperimentPlanVo extends BaseEntity ...@@ -37,16 +38,18 @@ public class SchoolExperimentPlanVo extends BaseEntity
private String grade; private String grade;
/** 学年 */ /** 学年 */
@Excel(name = "学年")
private String schoolYear; private String schoolYear;
/** 学年+学期 */ /** 学年+学期 */
private String schoolYearSemester; private String schoolYearSemester;
/** 学期(1上学期,2下学期) */ /** 学期(1上学期,2下学期) */
@Excel(name = "学期", combo = {"上学期","下学期"}, readConverterExp = "1=上学期,2=下学期")
private String semester; private String semester;
/** 实验分类(1分组实验,2演示实验,3探究实验) */ /** 实验分类(1分组实验,2演示实验,3探究实验) */
@Excel(name = "实验分类", readConverterExp = "1=分组实验,2=演示实验,3=探究实验") @Excel(name = "实验分类", combo = {"分组实验","演示实验","探究实验"}, readConverterExp = "1=分组实验,2=演示实验,3=探究实验")
private String experimentClassify; private String experimentClassify;
/** 实验名称 */ /** 实验名称 */
...@@ -58,13 +61,15 @@ public class SchoolExperimentPlanVo extends BaseEntity ...@@ -58,13 +61,15 @@ public class SchoolExperimentPlanVo extends BaseEntity
private String chapterContent; private String chapterContent;
/** 是否已预约 */ /** 是否已预约 */
@Excel(name = "是否已预约", readConverterExp = "0=否,1=是") @Excel(name = "是否已预约", combo = {"是","否"}, readConverterExp = "0=否,1=是")
private String isAppointment; private String isAppointment;
/** 计划开始时间 */ /** 计划开始时间 */
@Excel(name = "计划开始时间")
private String plannedStartTime; private String plannedStartTime;
/** 计划结束时间 */ /** 计划结束时间 */
@Excel(name = "计划结束时间")
private String plannedEndTime; private String plannedEndTime;
/** 计划时间 */ /** 计划时间 */
......
...@@ -26,7 +26,16 @@ public class SchoolLabClassYearVo extends BaseEntity ...@@ -26,7 +26,16 @@ public class SchoolLabClassYearVo extends BaseEntity
private Long id; private Long id;
/** 实验计划id */ /** 实验计划id */
private String experimentPlanId; private Long experimentPlanId;
/** 实验名称 */
private String experimentName;
/** 级部id */
private Long gradeId;
/** 级部id集合 */
private List<Long> gradeIds;
/** 级部 */ /** 级部 */
@Excel(name = "级部") @Excel(name = "级部")
...@@ -36,6 +45,9 @@ public class SchoolLabClassYearVo extends BaseEntity ...@@ -36,6 +45,9 @@ public class SchoolLabClassYearVo extends BaseEntity
@Excel(name = "学年") @Excel(name = "学年")
private String schoolYear; private String schoolYear;
/** 学年+学期 */
private String schoolYearSemester;
/** 学期(1上学期,2下学期) */ /** 学期(1上学期,2下学期) */
@Excel(name = "学期", readConverterExp = "1=上学期,2=下学期") @Excel(name = "学期", readConverterExp = "1=上学期,2=下学期")
private String semester; private String semester;
...@@ -44,6 +56,8 @@ public class SchoolLabClassYearVo extends BaseEntity ...@@ -44,6 +56,8 @@ public class SchoolLabClassYearVo extends BaseEntity
@Excel(name = "学科", readConverterExp = "1=物理,2=化学,3=生物") @Excel(name = "学科", readConverterExp = "1=物理,2=化学,3=生物")
private String sub; private String sub;
private List<String> subs;
/** 实验分类(1分组实验,2演示实验,3探究实验) */ /** 实验分类(1分组实验,2演示实验,3探究实验) */
@Excel(name = "实验分类", readConverterExp = "1=分组实验,2=演示实验,3=探究实验") @Excel(name = "实验分类", readConverterExp = "1=分组实验,2=演示实验,3=探究实验")
private String experimentClassify; private String experimentClassify;
...@@ -58,6 +72,9 @@ public class SchoolLabClassYearVo extends BaseEntity ...@@ -58,6 +72,9 @@ public class SchoolLabClassYearVo extends BaseEntity
@Excel(name = "计划结束时间", width = 30, dateFormat = "yyyy-MM-dd") @Excel(name = "计划结束时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date plannedEndTime; private Date plannedEndTime;
/** 计划时间 */
private String plannedTime;
/** 章节内容 */ /** 章节内容 */
@Excel(name = "章节内容") @Excel(name = "章节内容")
private String chapterContent; private String chapterContent;
......
...@@ -5,6 +5,9 @@ import com.baomidou.mybatisplus.annotation.TableId; ...@@ -5,6 +5,9 @@ import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data; import lombok.Data;
import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity; import com.ruoyi.common.core.domain.BaseEntity;
import yangtz.cs.liu.campus.domain.accessory.SchoolAccessory;
import java.util.List;
/** /**
* 实验室竞赛对象Vo * 实验室竞赛对象Vo
...@@ -61,4 +64,7 @@ public class SchoolLabCompetitionVo extends BaseEntity ...@@ -61,4 +64,7 @@ public class SchoolLabCompetitionVo extends BaseEntity
/** 备注3 */ /** 备注3 */
@Excel(name = "备注3") @Excel(name = "备注3")
private String remark3; private String remark3;
/** 图片信息集合 */
private List<SchoolAccessory> schoolAccessoryList;
} }
...@@ -6,6 +6,8 @@ import com.ruoyi.common.annotation.Excel; ...@@ -6,6 +6,8 @@ import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity; import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* 实验室对象Vo * 实验室对象Vo
* *
...@@ -28,6 +30,9 @@ public class SchoolLabVo extends BaseEntity ...@@ -28,6 +30,9 @@ public class SchoolLabVo extends BaseEntity
@Excel(name = "实验室学科", readConverterExp = "1=物理,2=化学,3=生物") @Excel(name = "实验室学科", readConverterExp = "1=物理,2=化学,3=生物")
private String labSub; private String labSub;
/** 实验室学科集合 */
private List<String> labSubs;
/** 负责人id */ /** 负责人id */
private Long inChargeId; private Long inChargeId;
...@@ -42,4 +47,7 @@ public class SchoolLabVo extends BaseEntity ...@@ -42,4 +47,7 @@ public class SchoolLabVo extends BaseEntity
/** 实验室用品 */ /** 实验室用品 */
@Excel(name = "实验室用品") @Excel(name = "实验室用品")
private String labUseGoods; private String labUseGoods;
/** 使用状态 */
private String useState;
} }
package yangtz.cs.liu.campus.vo.schoolLab; package yangtz.cs.liu.campus.vo.schoolLab;
import java.util.Date; import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
...@@ -8,6 +9,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; ...@@ -8,6 +9,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity; import com.ruoyi.common.core.domain.BaseEntity;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherExperimentApplyLabs;
/** /**
* 教师个人实验申请对象Vo * 教师个人实验申请对象Vo
...@@ -29,6 +31,8 @@ public class SchoolTeacherExperimentApplyVo extends BaseEntity ...@@ -29,6 +31,8 @@ public class SchoolTeacherExperimentApplyVo extends BaseEntity
@Excel(name = "学科", readConverterExp = "1=物理,2=化学,3=生物") @Excel(name = "学科", readConverterExp = "1=物理,2=化学,3=生物")
private String sub; private String sub;
private List<String> subs;
/** 级部id */ /** 级部id */
private Long gradeId; private Long gradeId;
...@@ -44,6 +48,19 @@ public class SchoolTeacherExperimentApplyVo extends BaseEntity ...@@ -44,6 +48,19 @@ public class SchoolTeacherExperimentApplyVo extends BaseEntity
@Excel(name = "学期") @Excel(name = "学期")
private String semester; private String semester;
/** 学年+学期 */
private String schoolYearSemester;
/** 规划开始时间 */
@Excel(name = "规划开始时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date plannedStartTime;
/** 规划结束时间 */
@Excel(name = "规划结束时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date plannedEndTime;
/** 规划时间 */ /** 规划时间 */
@Excel(name = "规划时间") @Excel(name = "规划时间")
private String plannedTime; private String plannedTime;
...@@ -60,13 +77,6 @@ public class SchoolTeacherExperimentApplyVo extends BaseEntity ...@@ -60,13 +77,6 @@ public class SchoolTeacherExperimentApplyVo extends BaseEntity
@Excel(name = "实验用品") @Excel(name = "实验用品")
private String experimentUseGoods; private String experimentUseGoods;
/** 实验室id */
private String labId;
/** 实验室名称 */
@Excel(name = "实验室名称")
private String labName;
/** 申报状态(0未申报,1已申报,2已阅读,3已分配) */ /** 申报状态(0未申报,1已申报,2已阅读,3已分配) */
@Excel(name = "申报状态", readConverterExp = "0=未申报,1=已申报,2=已阅读,3=已分配") @Excel(name = "申报状态", readConverterExp = "0=未申报,1=已申报,2=已阅读,3=已分配")
private String declareState; private String declareState;
...@@ -82,4 +92,7 @@ public class SchoolTeacherExperimentApplyVo extends BaseEntity ...@@ -82,4 +92,7 @@ public class SchoolTeacherExperimentApplyVo extends BaseEntity
@JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "申报时间", width = 30, dateFormat = "yyyy-MM-dd") @Excel(name = "申报时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date applyTime; private Date applyTime;
/** 教师个人实验申请实验室列表 */
private List<SchoolTeacherExperimentApplyLabs> schoolTeacherExperimentApplyLabsList;
} }
package yangtz.cs.liu.campus.vo.schoolLab; package yangtz.cs.liu.campus.vo.schoolLab;
import java.util.Date; import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
...@@ -8,6 +9,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; ...@@ -8,6 +9,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity; import com.ruoyi.common.core.domain.BaseEntity;
import yangtz.cs.liu.campus.domain.accessory.SchoolAccessory;
/** /**
* 教师实验室申请对象Vo * 教师实验室申请对象Vo
...@@ -28,14 +30,31 @@ public class SchoolTeacherLabApplyVo extends BaseEntity ...@@ -28,14 +30,31 @@ public class SchoolTeacherLabApplyVo extends BaseEntity
/** 年级实验室预约主键id */ /** 年级实验室预约主键id */
private String labClassYearId; private String labClassYearId;
/** 教师id */
private Long teacherId;
/** 实验分类(1分组实验,2演示实验,3探究实验) */ /** 实验分类(1分组实验,2演示实验,3探究实验) */
@Excel(name = "实验分类", readConverterExp = "1=分组实验,2=演示实验,3=探究实验") @Excel(name = "实验分类", readConverterExp = "1=分组实验,2=演示实验,3=探究实验")
private String experimentClassify; private String experimentClassify;
/** 实验计划id */
private Long experimentPlanId;
/** 实验名称 */
private String experimentName;
/** 学科(1物理,2化学,3生物) */ /** 学科(1物理,2化学,3生物) */
@Excel(name = "学科", readConverterExp = "1=物理,2=化学,3=生物") @Excel(name = "学科", readConverterExp = "1=物理,2=化学,3=生物")
private String sub; private String sub;
/** 学科集合 */
private List<String> subs;
/** 级部id */
private Long gradeId;
private List<Long> gradeIds;
/** 级部 */ /** 级部 */
@Excel(name = "级部") @Excel(name = "级部")
private String grade; private String grade;
...@@ -48,6 +67,9 @@ public class SchoolTeacherLabApplyVo extends BaseEntity ...@@ -48,6 +67,9 @@ public class SchoolTeacherLabApplyVo extends BaseEntity
@Excel(name = "学期", readConverterExp = "1=上学期,2=下学期") @Excel(name = "学期", readConverterExp = "1=上学期,2=下学期")
private String semester; private String semester;
/** 学年+学期 */
private String schoolYearSemester;
/** 班级id */ /** 班级id */
private String classId; private String classId;
...@@ -90,4 +112,18 @@ public class SchoolTeacherLabApplyVo extends BaseEntity ...@@ -90,4 +112,18 @@ public class SchoolTeacherLabApplyVo extends BaseEntity
@JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd") @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date applyTime; private Date applyTime;
/** 实验室是否使用完成 (0未完成,1完成) */
private String state;
/** 开始时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
private Date startTime;
/** 结束时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
private Date endTime;
/** 附件信息集合 */
private List<SchoolAccessory> schoolAccessoryList;
} }
...@@ -3,15 +3,8 @@ package yangtz.cs.liu.wechat.controller.experiment; ...@@ -3,15 +3,8 @@ package yangtz.cs.liu.wechat.controller.experiment;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear; import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherExperimentApply; import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherExperimentApply;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherLabApply; import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherLabApply;
...@@ -19,6 +12,12 @@ import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabClassYearService; ...@@ -19,6 +12,12 @@ import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabClassYearService;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolTeacherExperimentApplyService; import yangtz.cs.liu.campus.service.schoolLab.ISchoolTeacherExperimentApplyService;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolTeacherLabApplyService; import yangtz.cs.liu.campus.service.schoolLab.ISchoolTeacherLabApplyService;
import yangtz.cs.liu.campus.vo.schoolLab.ClassSituationVo; import yangtz.cs.liu.campus.vo.schoolLab.ClassSituationVo;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolLabClassYearVo;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolTeacherExperimentApplyVo;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolTeacherLabApplyVo;
import java.util.List;
import java.util.Map;
/** /**
* 实验室管理员 * 实验室管理员
...@@ -51,9 +50,9 @@ public class ExperimentAdministratorsControoler extends BaseController { ...@@ -51,9 +50,9 @@ public class ExperimentAdministratorsControoler extends BaseController {
* 年级实验室分分配列表 * 年级实验室分分配列表
*/ */
@GetMapping("/classYear/list") @GetMapping("/classYear/list")
public AjaxResult classYearList(SchoolLabClassYear schoolLabClassYear) public AjaxResult classYearList(SchoolLabClassYearVo schoolLabClassYearVo)
{ {
return AjaxResult.success(schoolLabClassYearService.selectSchoolLabClassYearList(schoolLabClassYear)); return AjaxResult.success(schoolLabClassYearService.selectSchoolLabClassYearList(schoolLabClassYearVo));
} }
/** /**
...@@ -79,9 +78,9 @@ public class ExperimentAdministratorsControoler extends BaseController { ...@@ -79,9 +78,9 @@ public class ExperimentAdministratorsControoler extends BaseController {
* 教师实验室预约列表 * 教师实验室预约列表
*/ */
@GetMapping(value = "/teacher/list") @GetMapping(value = "/teacher/list")
public AjaxResult teacherList(SchoolTeacherLabApply schoolTeacherLabApply) public AjaxResult teacherList(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo)
{ {
return AjaxResult.success(schoolTeacherLabApplyService.selectSchoolTeacherLabApplyList(schoolTeacherLabApply)); return AjaxResult.success(schoolTeacherLabApplyService.selectSchoolTeacherLabApplyList(schoolTeacherLabApplyVo));
} }
/** /**
...@@ -106,9 +105,9 @@ public class ExperimentAdministratorsControoler extends BaseController { ...@@ -106,9 +105,9 @@ public class ExperimentAdministratorsControoler extends BaseController {
*/ */
@GetMapping(value = "/apply/list") @GetMapping(value = "/apply/list")
public AjaxResult applyList(SchoolTeacherExperimentApply schoolTeacherExperimentApply) public AjaxResult applyList(SchoolTeacherExperimentApplyVo schoolTeacherExperimentApplyVo)
{ {
return AjaxResult.success(schoolTeacherExperimentApplyService.selectSchoolTeacherExperimentApplyList(schoolTeacherExperimentApply)); return AjaxResult.success(schoolTeacherExperimentApplyService.selectSchoolTeacherExperimentApplyList(schoolTeacherExperimentApplyVo));
} }
/** /**
...@@ -140,7 +139,7 @@ public class ExperimentAdministratorsControoler extends BaseController { ...@@ -140,7 +139,7 @@ public class ExperimentAdministratorsControoler extends BaseController {
} }
/** /**
*实验室完成详情 * 实验室完成详情
*/ */
@GetMapping("/teacherExperimentList") @GetMapping("/teacherExperimentList")
public AjaxResult teacherExperimentList(ClassSituationVo classSituationVo){ public AjaxResult teacherExperimentList(ClassSituationVo classSituationVo){
...@@ -149,7 +148,7 @@ public class ExperimentAdministratorsControoler extends BaseController { ...@@ -149,7 +148,7 @@ public class ExperimentAdministratorsControoler extends BaseController {
SchoolLabClassYear one = schoolLabClassYearService.getOne(lw); SchoolLabClassYear one = schoolLabClassYearService.getOne(lw);
classSituationVo.setLabClassYearId(one.getId()); classSituationVo.setLabClassYearId(one.getId());
List<SchoolTeacherLabApply> teacherExperimentList = schoolTeacherLabApplyService.getTeacherExperimentList( List<SchoolTeacherLabApplyVo> teacherExperimentList = schoolTeacherLabApplyService.getTeacherExperimentList(
classSituationVo); classSituationVo);
return AjaxResult.success(teacherExperimentList); return AjaxResult.success(teacherExperimentList);
} }
......
package yangtz.cs.liu.wechat.controller.experiment; package yangtz.cs.liu.wechat.controller.experiment;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear; import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherLabApply;
import yangtz.cs.liu.campus.mapper.schoolLab.SchoolTeacherLabApplyMapper;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolExperimentPlanService; import yangtz.cs.liu.campus.service.schoolLab.ISchoolExperimentPlanService;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabClassYearService; import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabClassYearService;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolTeacherLabApplyService; import yangtz.cs.liu.campus.service.schoolLab.ISchoolTeacherLabApplyService;
import yangtz.cs.liu.campus.vo.schoolLab.ClassSituationVo; import yangtz.cs.liu.campus.vo.schoolLab.ClassSituationVo;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolExperimentPlanVo; import yangtz.cs.liu.campus.vo.schoolLab.SchoolExperimentPlanVo;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolLabClassYearVo;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolTeacherLabApplyVo;
import java.util.List;
/** /**
* 实验室 级部申请 * 实验室 级部申请
...@@ -72,7 +64,7 @@ public class ExperimentLevelController extends BaseController { ...@@ -72,7 +64,7 @@ public class ExperimentLevelController extends BaseController {
*获取级部预约列表 *获取级部预约列表
*/ */
@GetMapping("/list") @GetMapping("/list")
public AjaxResult list(SchoolLabClassYear schoolLabClassYear) public AjaxResult list(SchoolLabClassYearVo schoolLabClassYear)
{ {
return AjaxResult.success(schoolLabClassYearService.selectSchoolLabClassYearList(schoolLabClassYear)); return AjaxResult.success(schoolLabClassYearService.selectSchoolLabClassYearList(schoolLabClassYear));
} }
...@@ -111,8 +103,8 @@ public class ExperimentLevelController extends BaseController { ...@@ -111,8 +103,8 @@ public class ExperimentLevelController extends BaseController {
* 班级完成详情 * 班级完成详情
*/ */
@GetMapping("/getClassExperimentalDetails") @GetMapping("/getClassExperimentalDetails")
public AjaxResult getClassExperimentalDetails(SchoolTeacherLabApply schoolTeacherLabApply){ public AjaxResult getClassExperimentalDetails(SchoolTeacherLabApplyVo schoolTeacherLabApply){
List<SchoolTeacherLabApply> list = schoolTeacherLabApplyService.selectSchoolTeacherLabApplyList(schoolTeacherLabApply); List<SchoolTeacherLabApplyVo> list = schoolTeacherLabApplyService.selectSchoolTeacherLabApplyList(schoolTeacherLabApply);
return AjaxResult.success(list); return AjaxResult.success(list);
} }
...@@ -130,18 +122,18 @@ public class ExperimentLevelController extends BaseController { ...@@ -130,18 +122,18 @@ public class ExperimentLevelController extends BaseController {
} }
/** /**
*实验室完成详情 * 实验室完成详情
*/ */
@GetMapping("/teacherExperimentList") @GetMapping("/teacherExperimentList")
public AjaxResult teacherExperimentList(ClassSituationVo classSituationVo){ public AjaxResult teacherExperimentList(ClassSituationVo classSituationVo){
SchoolLabClassYear schoolLabClassYear = new SchoolLabClassYear(); SchoolLabClassYearVo schoolLabClassYear = new SchoolLabClassYearVo();
schoolLabClassYear.setExperimentPlanId(classSituationVo.getId().toString()); schoolLabClassYear.setExperimentPlanId(classSituationVo.getId());
List<SchoolLabClassYear> schoolLabClassYears = schoolLabClassYearService.selectSchoolLabClassYearList( List<SchoolLabClassYearVo> schoolLabClassYears = schoolLabClassYearService.selectSchoolLabClassYearList(
schoolLabClassYear); schoolLabClassYear);
if (!schoolLabClassYears.isEmpty()){ if (!schoolLabClassYears.isEmpty()){
classSituationVo.setLabClassYearId(schoolLabClassYears.get(0).getId()); classSituationVo.setLabClassYearId(schoolLabClassYears.get(0).getId());
} }
List<SchoolTeacherLabApply> teacherExperimentList = schoolTeacherLabApplyService.getTeacherExperimentList( List<SchoolTeacherLabApplyVo> teacherExperimentList = schoolTeacherLabApplyService.getTeacherExperimentList(
classSituationVo); classSituationVo);
return AjaxResult.success(teacherExperimentList); return AjaxResult.success(teacherExperimentList);
} }
......
package yangtz.cs.liu.wechat.controller.experiment; package yangtz.cs.liu.wechat.controller.experiment;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear; import yangtz.cs.liu.campus.domain.schoolLab.SchoolLabClassYear;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherExperimentApply; import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherExperimentApply;
import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherLabApply; import yangtz.cs.liu.campus.domain.schoolLab.SchoolTeacherLabApply;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabClassYearService; import yangtz.cs.liu.campus.service.schoolLab.ISchoolLabClassYearService;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolTeacherExperimentApplyService; import yangtz.cs.liu.campus.service.schoolLab.ISchoolTeacherExperimentApplyService;
import yangtz.cs.liu.campus.service.schoolLab.ISchoolTeacherLabApplyService; import yangtz.cs.liu.campus.service.schoolLab.ISchoolTeacherLabApplyService;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolLabClassYearVo;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolTeacherExperimentApplyVo;
import yangtz.cs.liu.campus.vo.schoolLab.SchoolTeacherLabApplyVo;
import java.util.List;
/** /**
* 实验室 老师申请 * 实验室 老师申请
...@@ -49,10 +44,10 @@ public class TeacherExperimentController extends BaseController { ...@@ -49,10 +44,10 @@ public class TeacherExperimentController extends BaseController {
*/ */
@GetMapping(value = "/classYear/list") @GetMapping(value = "/classYear/list")
public AjaxResult classYearlist(SchoolLabClassYear schoolLabClassYear) public AjaxResult classYearlist(SchoolLabClassYearVo schoolLabClassYearVo)
{ {
List<SchoolLabClassYear> schoolLabClassYears = schoolLabClassYearService.selectSchoolLabClassYearList( List<SchoolLabClassYearVo> schoolLabClassYears = schoolLabClassYearService.selectSchoolLabClassYearList(
schoolLabClassYear); schoolLabClassYearVo);
return AjaxResult.success(schoolLabClassYears); return AjaxResult.success(schoolLabClassYears);
} }
...@@ -79,9 +74,9 @@ public class TeacherExperimentController extends BaseController { ...@@ -79,9 +74,9 @@ public class TeacherExperimentController extends BaseController {
* 实验室申请记录 * 实验室申请记录
*/ */
@GetMapping(value = "/list") @GetMapping(value = "/list")
public AjaxResult list(SchoolTeacherLabApply schoolTeacherLabApply) public AjaxResult list(SchoolTeacherLabApplyVo schoolTeacherLabApplyVo)
{ {
return AjaxResult.success(schoolTeacherLabApplyService.selectSchoolTeacherLabApplyList(schoolTeacherLabApply)); return AjaxResult.success(schoolTeacherLabApplyService.selectSchoolTeacherLabApplyList(schoolTeacherLabApplyVo));
} }
/** /**
* 实验室申请详情 * 实验室申请详情
...@@ -97,9 +92,9 @@ public class TeacherExperimentController extends BaseController { ...@@ -97,9 +92,9 @@ public class TeacherExperimentController extends BaseController {
*/ */
@GetMapping(value = "/apply/list") @GetMapping(value = "/apply/list")
public AjaxResult applyList(SchoolTeacherExperimentApply schoolTeacherExperimentApply) public AjaxResult applyList(SchoolTeacherExperimentApplyVo schoolTeacherExperimentApplyVo)
{ {
return AjaxResult.success(schoolTeacherExperimentApplyService.selectSchoolTeacherExperimentApplyList(schoolTeacherExperimentApply)); return AjaxResult.success(schoolTeacherExperimentApplyService.selectSchoolTeacherExperimentApplyList(schoolTeacherExperimentApplyVo));
} }
/** /**
......
...@@ -38,14 +38,6 @@ ...@@ -38,14 +38,6 @@
order by g.grade_value, g.class_value order by g.grade_value, g.class_value
</select> </select>
<select id="getClassName" parameterType="Long" resultType="String">
select g.class_name
from school_class g
where g.del_flag = '0' and g.id=#{classId}
</select>
<select id="getUserClassByParent" resultType="SchoolClass"> <select id="getUserClassByParent" resultType="SchoolClass">
SELECT sg.pic_url, SELECT sg.pic_url,
sg.class_value, sg.class_value,
......
...@@ -45,18 +45,49 @@ ...@@ -45,18 +45,49 @@
del_flag = '0' del_flag = '0'
<if test="sub != null and sub != ''"> and sub = #{sub}</if> <if test="sub != null and sub != ''"> and sub = #{sub}</if>
<if test="gradeId != null "> and grade_id = #{gradeId}</if> <if test="gradeId != null "> and grade_id = #{gradeId}</if>
<if test="grade != null and grade != ''"> and grade = #{grade}</if> <if test="grade != null and grade != ''"> and grade like concat('%', #{grade}, '%')</if>
<if test="schoolYear != null and schoolYear != ''"> and school_year = #{schoolYear}</if> <if test="schoolYear != null and schoolYear != ''"> and school_year = #{schoolYear}</if>
<if test="semester != null and semester != ''"> and semester = #{semester}</if> <if test="semester != null and semester != ''"> and semester = #{semester}</if>
<if test="experimentClassify != null and experimentClassify != ''"> and experiment_classify = #{experimentClassify}</if> <if test="experimentClassify != null and experimentClassify != ''"> and experiment_classify = #{experimentClassify}</if>
<if test="experimentName != null and experimentName != ''"> and experiment_name like concat('%', #{experimentName}, '%')</if> <if test="experimentName != null and experimentName != ''"> and experiment_name like concat('%', #{experimentName}, '%')</if>
<if test="chapterContent != null and chapterContent != ''"> and chapter_content = #{chapterContent}</if> <if test="chapterContent != null and chapterContent != ''"> and chapter_content = #{chapterContent}</if>
<if test="isAppointment != null and isAppointment != ''"> and is_appointment = #{isAppointment}</if>
<if test="plannedStartTime != null and plannedStartTime != ''"> and planned_start_time = #{plannedStartTime}</if> <if test="plannedStartTime != null and plannedStartTime != ''"> and planned_start_time = #{plannedStartTime}</if>
<if test="plannedEndTime != null and plannedEndTime != ''"> and planned_end_time = #{plannedEndTime}</if> <if test="plannedEndTime != null and plannedEndTime != ''"> and planned_end_time = #{plannedEndTime}</if>
<if test="experimentUseGoods != null and experimentUseGoods != ''"> and experiment_use_goods = #{experimentUseGoods}</if> <if test="experimentUseGoods != null and experimentUseGoods != ''"> and experiment_use_goods = #{experimentUseGoods}</if>
<if test="gradeIds != null">
and grade_id in
<foreach item="gradeId" collection="gradeIds" open="(" separator="," close=")">
#{gradeId}
</foreach>
</if>
</where>
order by create_time DESC
</select>
<select id="getExperimentList" parameterType="SchoolExperimentPlanVo" resultMap="SchoolExperimentPlanVoResult">
<include refid="selectSchoolExperimentPlanVo"/>
<where>
del_flag = '0'
<if test="sub != null and sub != ''"> and sub = #{sub}</if>
<if test="gradeId != null "> and grade_id = #{gradeId}</if>
<if test="grade != null and grade != ''"> and grade like concat('%', #{grade}, '%')</if>
<if test="schoolYear != null and schoolYear != ''"> and school_year = #{schoolYear}</if>
<if test="semester != null and semester != ''"> and semester = #{semester}</if>
<if test="experimentClassify != null and experimentClassify != ''"> and experiment_classify = #{experimentClassify}</if>
<if test="experimentName != null and experimentName != ''"> and experiment_name like concat('%', #{experimentName}, '%')</if>
<if test="chapterContent != null and chapterContent != ''"> and chapter_content = #{chapterContent}</if>
<if test="plannedStartTime != null and plannedStartTime != ''"> and planned_start_time = #{plannedStartTime}</if>
<if test="plannedEndTime != null and plannedEndTime != ''"> and planned_end_time = #{plannedEndTime}</if>
<if test="experimentUseGoods != null and experimentUseGoods != ''"> and experiment_use_goods = #{experimentUseGoods}</if> <if test="experimentUseGoods != null and experimentUseGoods != ''"> and experiment_use_goods = #{experimentUseGoods}</if>
<if test="gradeIds != null"> and grade in (#{gradeIds})</if> <if test="subs != null ">
and sub in
<foreach item="sub" collection="subs" open="(" separator="," close=")">
#{sub}
</foreach>
</if>
</where> </where>
order by create_time DESC
</select> </select>
<select id="selectSchoolExperimentPlanById" parameterType="Long" resultMap="ExperimentPlanClassResult"> <select id="selectSchoolExperimentPlanById" parameterType="Long" resultMap="ExperimentPlanClassResult">
...@@ -67,7 +98,7 @@ ...@@ -67,7 +98,7 @@
where a.id = #{id} where a.id = #{id}
</select> </select>
<insert id="insertSchoolExperimentPlan" parameterType="SchoolExperimentPlan" useGeneratedKeys="true" keyProperty="id"> <insert id="insertSchoolExperimentPlan" parameterType="SchoolExperimentPlanVo" useGeneratedKeys="true" keyProperty="id">
insert into school_experiment_plan insert into school_experiment_plan
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="sub != null">sub,</if> <if test="sub != null">sub,</if>
...@@ -173,10 +204,9 @@ ...@@ -173,10 +204,9 @@
left join school_class_headmaster sch on sch.class_id = sc.id left join school_class_headmaster sch on sch.class_id = sc.id
left join school_grade_mentor sgm on sgm.grade_id = sg.id left join school_grade_mentor sgm on sgm.grade_id = sg.id
WHERE WHERE
sg.del_flag = '0'
<if test="schoolYear != -1">and sg.school_year = #{schoolYear}</if> <if test="schoolYear != -1">and sg.school_year = #{schoolYear}</if>
<if test="userId != null">and scm.teacher_id = #{userId} or sch.teacher_id = #{userId} or sgm.teacher_id = #{userId}</if> <if test="userId != null">and scm.teacher_id = #{userId} or sch.teacher_id = #{userId} or sgm.teacher_id = #{userId}</if>
AND sg.del_flag = '0'
GROUP BY sg.id,sg.school_year,sg.grade_value,sg.grade_year,sg.grade_name GROUP BY sg.id,sg.school_year,sg.grade_value,sg.grade_year,sg.grade_name
ORDER BY sg.grade_year DESC ORDER BY sg.grade_year DESC
</select> </select>
...@@ -184,4 +214,35 @@ ...@@ -184,4 +214,35 @@
<select id="getSchoolClass" parameterType="Long" resultType="Map"> <select id="getSchoolClass" parameterType="Long" resultType="Map">
select id as classId,class_name as className from school_class WHERE grade_id = #{gradeId} and del_flag = '0' select id as classId,class_name as className from school_class WHERE grade_id = #{gradeId} and del_flag = '0'
</select> </select>
<select id="countExperiment" parameterType="SchoolExperimentPlanVo" resultType="Map">
SELECT
ep.id as id, ep.grade_id as gradeId, ep.grade as grade, ep.school_year as schoolYear, ep.semester as semester, ep.experiment_name as experimentName, ep.sub as sub,
COUNT(epc.id) as totalClass,
(SELECT COUNT(tla.id) FROM school_teacher_lab_apply tla WHERE tla.del_flag = '0' AND tla.state = '1' AND tla.lab_class_year_id in (SELECT id FROM school_lab_class_year lcy WHERE lcy.del_flag = '0' AND lcy.experiment_plan_id = ep.id)) as completeClass
FROM
school_experiment_plan ep
LEFT JOIN school_experiment_plan_class epc ON ep.id = epc.experiment_plan_id AND epc.del_flag = '0'
WHERE
ep.del_flag = '0'
<if test="sub != null and sub != ''"> and ep.sub = #{sub}</if>
<if test="gradeId != null "> and ep.grade_id = #{gradeId}</if>
<if test="grade != null and grade != ''"> and ep.grade like concat('%', #{grade}, '%')</if>
<if test="experimentName != null and experimentName != ''"> and ep.experiment_name like concat('%', #{experimentName}, '%')</if>
<if test="schoolYear != null and schoolYear != ''"> and ep.school_year = #{schoolYear}</if>
<if test="semester != null and semester != ''"> and ep.semester = #{semester}</if>
<if test="subs != null ">
and ep.sub in
<foreach item="sub" collection="subs" open="(" separator="," close=")">
#{sub}
</foreach>
</if>
<if test="gradeIds != null">
and ep.grade_id in
<foreach item="gradeId" collection="gradeIds" open="(" separator="," close=")">
#{gradeId}
</foreach>
</if>
GROUP BY ep.id,ep.grade_id,ep.grade,ep.school_year,ep.semester,ep.experiment_name,ep.sub
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -4,9 +4,10 @@ ...@@ -4,9 +4,10 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="yangtz.cs.liu.campus.mapper.schoolLab.SchoolLabClassYearMapper"> <mapper namespace="yangtz.cs.liu.campus.mapper.schoolLab.SchoolLabClassYearMapper">
<resultMap type="SchoolLabClassYear" id="SchoolLabClassYearResult"> <resultMap type="SchoolLabClassYearVo" id="SchoolLabClassYearVoResult">
<result property="id" column="id" /> <result property="id" column="id" />
<result property="experimentPlanId" column="experiment_plan_id" /> <result property="experimentPlanId" column="experiment_plan_id" />
<result property="experimentName" column="experiment_name" />
<result property="grade" column="grade" /> <result property="grade" column="grade" />
<result property="schoolYear" column="school_year" /> <result property="schoolYear" column="school_year" />
<result property="semester" column="semester" /> <result property="semester" column="semester" />
...@@ -27,7 +28,7 @@ ...@@ -27,7 +28,7 @@
<result property="delFlag" column="del_flag" /> <result property="delFlag" column="del_flag" />
</resultMap> </resultMap>
<resultMap id="SchoolLabClassYearSchoolLabClassYearRelationResult" type="SchoolLabClassYear" extends="SchoolLabClassYearResult"> <resultMap id="SchoolLabClassYearSchoolLabClassYearRelationResult" type="SchoolLabClassYearVo" extends="SchoolLabClassYearVoResult">
<collection property="schoolLabClassYearRelationList" notNullColumn="sub_id" javaType="java.util.List" resultMap="SchoolLabClassYearRelationResult" /> <collection property="schoolLabClassYearRelationList" notNullColumn="sub_id" javaType="java.util.List" resultMap="SchoolLabClassYearRelationResult" />
</resultMap> </resultMap>
...@@ -35,68 +36,99 @@ ...@@ -35,68 +36,99 @@
<result property="id" column="sub_id" /> <result property="id" column="sub_id" />
<result property="labClassYearId" column="sub_lab_class_year_id" /> <result property="labClassYearId" column="sub_lab_class_year_id" />
<result property="labId" column="sub_lab_id" /> <result property="labId" column="sub_lab_id" />
<result property="labName" column="sub_lab_name" />
<result property="delFlag" column="sub_del_flag" /> <result property="delFlag" column="sub_del_flag" />
</resultMap> </resultMap>
<sql id="selectSchoolLabClassYearVo"> <sql id="selectSchoolLabClassYearVo">
select id, experiment_plan_id, grade, school_year, semester, sub, experiment_classify, planned_start_time, planned_end_time, chapter_content, experiment_use_goods, declare_state, apply_id, apply_name, apply_time, create_by, create_time, update_by, update_time, del_flag from school_lab_class_year select id, experiment_plan_id, experiment_name, grade_id, grade, school_year, semester, sub, experiment_classify, planned_start_time, planned_end_time, chapter_content, experiment_use_goods, declare_state, apply_id, apply_name, apply_time, create_by, create_time, update_by, update_time, del_flag from school_lab_class_year
</sql> </sql>
<select id="selectSchoolLabClassYearList" parameterType="SchoolLabClassYear" resultMap="SchoolLabClassYearResult"> <select id="selectSchoolLabClassYearList" parameterType="SchoolLabClassYearVo" resultMap="SchoolLabClassYearVoResult">
<include refid="selectSchoolLabClassYearVo"/> <include refid="selectSchoolLabClassYearVo"/>
<where> <where>
del_flag = '0' del_flag = '0'
<if test="experimentPlanId != null and experimentPlanId != ''"> and experiment_plan_id = #{experimentPlanId}</if> <if test="experimentPlanId != null "> and experiment_plan_id = #{experimentPlanId}</if>
<if test="grade != null and grade != ''"> and grade = #{grade}</if> <if test="experimentName != null and experimentName != ''"> and experiment_name like concat('%', #{experimentName}, '%')</if>
<if test="grade != null and grade != ''"> and grade like concat('%', #{grade}, '%')</if>
<if test="gradeId != null "> and grade_id = #{gradeId}</if>
<if test="schoolYear != null and schoolYear != ''"> and school_year = #{schoolYear}</if> <if test="schoolYear != null and schoolYear != ''"> and school_year = #{schoolYear}</if>
<if test="semester != null and semester != ''"> and semester = #{semester}</if> <if test="semester != null and semester != ''"> and semester = #{semester}</if>
<if test="sub != null and sub != ''"> and sub = #{sub}</if> <if test="sub != null and sub != ''"> and sub = #{sub}</if>
<if test="experimentClassify != null and experimentClassify != ''"> and experiment_classify = #{experimentClassify}</if> <if test="experimentClassify != null and experimentClassify != ''"> and experiment_classify = #{experimentClassify}</if>
<if test="plannedStartTime != null "> and planned_start_time = #{plannedStartTime}</if> <if test="plannedStartTime != null and plannedEndTime != null">
<if test="plannedEndTime != null "> and planned_end_time = #{plannedEndTime}</if> and planned_start_time between #{plannedStartTime} and #{plannedEndTime}
and planned_end_time between #{plannedStartTime} and #{plannedEndTime}
</if>
<if test="chapterContent != null and chapterContent != ''"> and chapter_content = #{chapterContent}</if> <if test="chapterContent != null and chapterContent != ''"> and chapter_content = #{chapterContent}</if>
<if test="experimentUseGoods != null and experimentUseGoods != ''"> and experiment_use_goods = #{experimentUseGoods}</if> <if test="experimentUseGoods != null and experimentUseGoods != ''"> and experiment_use_goods = #{experimentUseGoods}</if>
<if test="declareState != null and declareState != ''"> and declare_state = #{declareState}</if> <if test="declareState != null and declareState != ''"> and declare_state = #{declareState}</if>
<if test="applyId != null "> and apply_id = #{applyId}</if> <if test="applyId != null "> and apply_id = #{applyId}</if>
<if test="applyName != null and applyName != ''"> and apply_name like concat('%', #{applyName}, '%')</if> <if test="applyName != null and applyName != ''"> and apply_name like concat('%', #{applyName}, '%')</if>
<if test="applyTime != null "> and apply_time = #{applyTime}</if> <if test="applyTime != null "> and apply_time = #{applyTime}</if>
<if test="gradeIds != null ">
and grade_id in
<foreach item="gradeId" collection="gradeIds" open="(" separator="," close=")">
#{gradeId}
</foreach>
</if>
</where> </where>
order by create_time DESC
</select> </select>
<select id="selectSchoolLabClassYearById" parameterType="Long" resultMap="SchoolLabClassYearSchoolLabClassYearRelationResult"> <select id="getLabClassYear" parameterType="SchoolLabClassYearVo" resultMap="SchoolLabClassYearVoResult">
select a.id, a.experiment_plan_id, a.grade, a.school_year, a.semester, a.sub, a.experiment_classify, a.planned_start_time, a.planned_end_time, a.chapter_content, a.experiment_use_goods, a.declare_state, a.apply_id, a.apply_name, a.apply_time, a.create_by, a.create_time, a.update_by, a.update_time, a.del_flag, <include refid="selectSchoolLabClassYearVo"/>
b.id as sub_id, b.lab_class_year_id as sub_lab_class_year_id, b.lab_id as sub_lab_id, b.del_flag as sub_del_flag <where>
from school_lab_class_year a del_flag = '0' and declare_state != '0'
left join school_lab_class_year_relation b on b.lab_class_year_id = a.id <if test="experimentPlanId != null"> and experiment_plan_id = #{experimentPlanId}</if>
where a.id = #{id} <if test="experimentName != null and experimentName != ''"> and experiment_name like concat('%', #{experimentName}, '%')</if>
<if test="grade != null and grade != ''"> and grade like concat('%', #{grade}, '%')</if>
<if test="gradeId != null "> and grade_id = #{gradeId}</if>
<if test="schoolYear != null and schoolYear != ''"> and school_year = #{schoolYear}</if>
<if test="semester != null and semester != ''"> and semester = #{semester}</if>
<if test="sub != null and sub != ''"> and sub = #{sub}</if>
<if test="experimentClassify != null and experimentClassify != ''"> and experiment_classify = #{experimentClassify}</if>
<if test="plannedStartTime != null and plannedEndTime != null">
and planned_start_time between #{plannedStartTime} and #{plannedEndTime}
and planned_end_time between #{plannedStartTime} and #{plannedEndTime}
</if>
<if test="chapterContent != null and chapterContent != ''"> and chapter_content = #{chapterContent}</if>
<if test="experimentUseGoods != null and experimentUseGoods != ''"> and experiment_use_goods = #{experimentUseGoods}</if>
<if test="declareState != null and declareState != ''"> and declare_state = #{declareState}</if>
<if test="applyId != null "> and apply_id = #{applyId}</if>
<if test="applyName != null and applyName != ''"> and apply_name like concat('%', #{applyName}, '%')</if>
<if test="applyTime != null "> and apply_time = #{applyTime}</if>
<if test="subs != null ">
and sub in
<foreach item="sub" collection="subs" open="(" separator="," close=")">
#{sub}
</foreach>
</if>
</where>
order by create_time DESC
</select> </select>
<select id="selectSchoolLabClassYearById" parameterType="Long" resultMap="SchoolLabClassYearVoResult">
<select id="classSituation" parameterType="ClassSituationVo" resultType="ClassSituationVo"> select a.id, a.experiment_plan_id, a.experiment_name, a.grade_id, a.grade, a.school_year, a.semester, a.sub, a.experiment_classify, a.planned_start_time, a.planned_end_time, a.chapter_content, a.experiment_use_goods, a.declare_state, a.apply_id, a.apply_name, a.apply_time, a.create_by, a.create_time, a.update_by, a.update_time, a.del_flag
SELECT epc.class_id ,COUNT(ep.id) as count,lcy.experiment_plan_id labClassYearId FROM school_experiment_plan ep LEFT JOIN school_experiment_plan_class epc on ep.id=epc.experiment_plan_id from school_lab_class_year a
left join school_lab_class_year lcy on lcy.experiment_plan_id = ep.id where a.id = #{id}
WHERE ep.del_flag=0 and epc.del_flag=0 AND ep.school_year = #{schoolYear} AND ep.semester=#{semester}
and ep.grade_id = #{gradeId}
GROUP BY epc.class_id
</select> </select>
<select id="getLabClassYearById" parameterType="Long" resultMap="SchoolLabClassYearSchoolLabClassYearRelationResult">
<select id="getexperimentList" parameterType="ClassSituationVo" resultType="ClassSituationVo"> select a.id, a.experiment_plan_id,a.experiment_name, a.grade_id, a.grade, a.school_year, a.semester, a.sub, a.experiment_classify, a.planned_start_time, a.planned_end_time, a.chapter_content, a.experiment_use_goods, a.declare_state, a.apply_id, a.apply_name, a.apply_time, a.create_by, a.create_time, a.update_by, a.update_time, a.del_flag,
SELECT ep.id,ep.experiment_name,ep.school_year,ep.grade, ep.semester,COUNT(pc.class_id) as count FROM school_experiment_plan ep b.id as sub_id, b.lab_class_year_id as sub_lab_class_year_id, b.lab_id as sub_lab_id, b.lab_name as sub_lab_name, b.del_flag as sub_del_flag
LEFT JOIN school_experiment_plan_class pc on ep.id = pc.experiment_plan_id from school_lab_class_year a
WHERE ep.school_year = #{schoolYear} AND ep.semester =#{semester} AND ep.del_flag = 0 AND pc.del_flag=0 left join school_lab_class_year_relation b on b.lab_class_year_id = a.id
<if test="experimentName != null "> and ep.experiment_name like concat('%', #{experimentName}, '%') </if> where a.id = #{id}
<if test="grade != null "> and ep.grade = #{grade}</if>
GROUP BY ep.id
</select> </select>
<insert id="insertSchoolLabClassYear" parameterType="SchoolLabClassYear" useGeneratedKeys="true" keyProperty="id"> <insert id="insertSchoolLabClassYear" parameterType="SchoolLabClassYear" useGeneratedKeys="true" keyProperty="id">
insert into school_lab_class_year insert into school_lab_class_year
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="experimentPlanId != null">experiment_plan_id,</if> <if test="experimentPlanId != null">experiment_plan_id,</if>
<if test="experimentName != null and experimentName != ''">experiment_name,</if>
<if test="grade != null">grade,</if> <if test="grade != null">grade,</if>
<if test="gradeId != null">grade_id,</if>
<if test="schoolYear != null">school_year,</if> <if test="schoolYear != null">school_year,</if>
<if test="semester != null">semester,</if> <if test="semester != null">semester,</if>
<if test="sub != null">sub,</if> <if test="sub != null">sub,</if>
...@@ -117,7 +149,9 @@ ...@@ -117,7 +149,9 @@
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="experimentPlanId != null">#{experimentPlanId},</if> <if test="experimentPlanId != null">#{experimentPlanId},</if>
<if test="experimentName != null and experimentName != ''">#{experimentName},</if>
<if test="grade != null">#{grade},</if> <if test="grade != null">#{grade},</if>
<if test="gradeId != null">#{gradeId},</if>
<if test="schoolYear != null">#{schoolYear},</if> <if test="schoolYear != null">#{schoolYear},</if>
<if test="semester != null">#{semester},</if> <if test="semester != null">#{semester},</if>
<if test="sub != null">#{sub},</if> <if test="sub != null">#{sub},</if>
...@@ -142,7 +176,9 @@ ...@@ -142,7 +176,9 @@
update school_lab_class_year update school_lab_class_year
<trim prefix="SET" suffixOverrides=","> <trim prefix="SET" suffixOverrides=",">
<if test="experimentPlanId != null">experiment_plan_id = #{experimentPlanId},</if> <if test="experimentPlanId != null">experiment_plan_id = #{experimentPlanId},</if>
<if test="experimentName != null and experimentName != ''">experiment_name = #{experimentName},</if>
<if test="grade != null">grade = #{grade},</if> <if test="grade != null">grade = #{grade},</if>
<if test="gradeId != null">grade_id = #{gradeId},</if>
<if test="schoolYear != null">school_year = #{schoolYear},</if> <if test="schoolYear != null">school_year = #{schoolYear},</if>
<if test="semester != null">semester = #{semester},</if> <if test="semester != null">semester = #{semester},</if>
<if test="sub != null">sub = #{sub},</if> <if test="sub != null">sub = #{sub},</if>
...@@ -177,19 +213,65 @@ ...@@ -177,19 +213,65 @@
<update id="deleteSchoolLabClassYearRelationByLabClassYearIds" parameterType="String"> <update id="deleteSchoolLabClassYearRelationByLabClassYearIds" parameterType="String">
update school_lab_class_year_relation set del_flag = '1' where lab_class_year_id in update school_lab_class_year_relation set del_flag = '1' where lab_class_year_id in
<foreach item="labClassYearId" collection="array" open="(" separator="," close=")"> <foreach item="id" collection="array" open="(" separator="," close=")">
#{labClassYearId} #{id}
</foreach> </foreach>
</update> </update>
<update id="deleteSchoolLabClassYearRelationByLabClassYearId" parameterType="Long"> <delete id="deleteSchoolLabClassYearRelationByLabClassYearId" parameterType="Long">
update school_lab_class_year_relation set del_flag = '1' where lab_class_year_id = #{labClassYearId} delete from school_lab_class_year_relation where lab_class_year_id = #{id}
</update> </delete>
<insert id="batchSchoolLabClassYearRelation"> <insert id="batchSchoolLabClassYearRelation">
insert into school_lab_class_year_relation( id, lab_class_year_id, lab_id, del_flag) values insert into school_lab_class_year_relation( id, lab_class_year_id, lab_id, lab_name) values
<foreach item="item" index="index" collection="list" separator=","> <foreach item="item" index="index" collection="list" separator=",">
( #{item.id}, #{item.labClassYearId}, #{item.labId}, #{item.delFlag}) ( #{item.id}, #{item.labClassYearId}, #{item.labId},#{item.labName})
</foreach> </foreach>
</insert> </insert>
<select id="seletLabId" resultType="Long">
select lab_id from school_lab_class_year_relation where del_flag = '0' and lab_class_year_id in
<foreach item="labClassYearId" collection="labClassYearIds" open="(" separator="," close=")">
#{labClassYearId}
</foreach>
</select>
<select id="getTeacherLabList" parameterType="SchoolLabClassYearVo" resultMap="SchoolLabClassYearVoResult">
<include refid="selectSchoolLabClassYearVo"/>
WHERE del_flag = '0'
and experiment_plan_id IN
(SELECT DISTINCT experiment_plan_id FROM school_experiment_plan_class
WHERE del_flag = '0' and class_id in
(SELECT class_id FROM school_class_mentor
WHERE del_flag = '0' and course_id in (6,8,9) and teacher_id = #{applyId}))
<if test="schoolYear != null and schoolYear != ''"> and school_year = #{schoolYear}</if>
<if test="semester != null and semester != ''"> and semester = #{semester}</if>
<if test="experimentClassify != null and experimentClassify != ''"> and experiment_classify = #{experimentClassify}</if>
<if test="subs != null ">
and sub in
<foreach item="sub" collection="subs" open="(" separator="," close=")">
#{sub}
</foreach>
</if>
<if test="declareState != null and declareState != ''"> and declare_state = #{declareState}</if>
</select>
<select id="classSituation" parameterType="ClassSituationVo" resultType="ClassSituationVo">
SELECT epc.class_id ,COUNT(ep.id) as count,lcy.experiment_plan_id labClassYearId FROM school_experiment_plan ep LEFT JOIN school_experiment_plan_class epc on ep.id=epc.experiment_plan_id
left join school_lab_class_year lcy on lcy.experiment_plan_id = ep.id
WHERE ep.del_flag=0 and epc.del_flag=0 AND ep.school_year = #{schoolYear} AND ep.semester=#{semester}
and ep.grade_id = #{gradeId}
GROUP BY epc.class_id
</select>
<select id="getexperimentList" parameterType="ClassSituationVo" resultType="ClassSituationVo">
SELECT ep.id,ep.experiment_name,ep.school_year,ep.grade, ep.semester,COUNT(pc.class_id) as count FROM school_experiment_plan ep
LEFT JOIN school_experiment_plan_class pc on ep.id = pc.experiment_plan_id
WHERE ep.school_year = #{schoolYear} AND ep.semester =#{semester} AND ep.del_flag = 0 AND pc.del_flag=0
<if test="experimentName != null "> and ep.experiment_name like concat('%', #{experimentName}, '%') </if>
<if test="grade != null "> and ep.grade = #{grade}</if>
GROUP BY ep.id
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="yangtz.cs.liu.campus.mapper.schoolLab.SchoolLabCompetitionMapper"> <mapper namespace="yangtz.cs.liu.campus.mapper.schoolLab.SchoolLabCompetitionMapper">
<resultMap type="SchoolLabCompetition" id="SchoolLabCompetitionResult"> <resultMap type="SchoolLabCompetitionVo" id="SchoolLabCompetitionVoResult">
<result property="id" column="id" /> <result property="id" column="id" />
<result property="schoolYear" column="school_year" /> <result property="schoolYear" column="school_year" />
<result property="teacherId" column="teacher_id" /> <result property="teacherId" column="teacher_id" />
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
select id, school_year, teacher_id, teacher_name, entry_subject, competition_name, competition_type, competition_level, remark1, remark2, remark3, create_by, create_time, update_by, update_time, del_flag from school_lab_competition select id, school_year, teacher_id, teacher_name, entry_subject, competition_name, competition_type, competition_level, remark1, remark2, remark3, create_by, create_time, update_by, update_time, del_flag from school_lab_competition
</sql> </sql>
<select id="selectSchoolLabCompetitionList" parameterType="SchoolLabCompetition" resultMap="SchoolLabCompetitionResult"> <select id="selectSchoolLabCompetitionList" parameterType="SchoolLabCompetitionVo" resultMap="SchoolLabCompetitionVoResult">
<include refid="selectSchoolLabCompetitionVo"/> <include refid="selectSchoolLabCompetitionVo"/>
<where> <where>
del_flag = '0' del_flag = '0'
...@@ -42,14 +42,15 @@ ...@@ -42,14 +42,15 @@
<if test="remark2 != null and remark2 != ''"> and remark2 = #{remark2}</if> <if test="remark2 != null and remark2 != ''"> and remark2 = #{remark2}</if>
<if test="remark3 != null and remark3 != ''"> and remark3 = #{remark3}</if> <if test="remark3 != null and remark3 != ''"> and remark3 = #{remark3}</if>
</where> </where>
order by create_time DESC
</select> </select>
<select id="selectSchoolLabCompetitionById" parameterType="Long" resultMap="SchoolLabCompetitionResult"> <select id="selectSchoolLabCompetitionById" parameterType="Long" resultMap="SchoolLabCompetitionVoResult">
<include refid="selectSchoolLabCompetitionVo"/> <include refid="selectSchoolLabCompetitionVo"/>
where id = #{id} where id = #{id}
</select> </select>
<insert id="insertSchoolLabCompetition" parameterType="SchoolLabCompetition" useGeneratedKeys="true" keyProperty="id"> <insert id="insertSchoolLabCompetition" parameterType="SchoolLabCompetitionVo" useGeneratedKeys="true" keyProperty="id">
insert into school_lab_competition insert into school_lab_competition
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="schoolYear != null">school_year,</if> <if test="schoolYear != null">school_year,</if>
...@@ -87,7 +88,7 @@ ...@@ -87,7 +88,7 @@
</trim> </trim>
</insert> </insert>
<update id="updateSchoolLabCompetition" parameterType="SchoolLabCompetition"> <update id="updateSchoolLabCompetition" parameterType="SchoolLabCompetitionVo">
update school_lab_competition update school_lab_competition
<trim prefix="SET" suffixOverrides=","> <trim prefix="SET" suffixOverrides=",">
<if test="schoolYear != null">school_year = #{schoolYear},</if> <if test="schoolYear != null">school_year = #{schoolYear},</if>
...@@ -119,4 +120,22 @@ ...@@ -119,4 +120,22 @@
#{id} #{id}
</foreach> </foreach>
</update> </update>
<insert id="batchSchoolAccessory">
insert into school_accessory( id, business_id, module_name, accessory_type, accessory_url, accessory_name, create_by,create_time) values
<foreach item="item" index="index" collection="list" separator=",">
( 0, #{item.businessId}, #{item.moduleName}, #{item.accessoryType}, #{item.accessoryUrl}, #{item.accessoryName}, #{item.createBy}, #{item.createTime})
</foreach>
</insert>
<delete id="deleteSchoolAccessoryByBusinessIds" parameterType="String">
delete from school_accessory where accessory_type = "证书照片" and business_id in
<foreach item="businessId" collection="array" open="(" separator="," close=")">
#{businessId}
</foreach>
</delete>
<delete id="deleteSchoolAccessoryByBusinessId" parameterType="Long">
delete from school_accessory where accessory_type = "证书照片" and business_id = #{businessId}
</delete>
</mapper> </mapper>
\ No newline at end of file
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="yangtz.cs.liu.campus.mapper.schoolLab.SchoolLabMapper"> <mapper namespace="yangtz.cs.liu.campus.mapper.schoolLab.SchoolLabMapper">
<resultMap type="SchoolLab" id="SchoolLabResult"> <resultMap type="SchoolLabVo" id="SchoolLabVoResult">
<result property="id" column="id" /> <result property="id" column="id" />
<result property="labName" column="lab_name" /> <result property="labName" column="lab_name" />
<result property="labSub" column="lab_sub" /> <result property="labSub" column="lab_sub" />
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
select id, lab_name, lab_sub, in_charge_id, in_charge_name, lab_state, lab_use_goods, create_by, create_time, update_by, update_time, del_flag from school_lab select id, lab_name, lab_sub, in_charge_id, in_charge_name, lab_state, lab_use_goods, create_by, create_time, update_by, update_time, del_flag from school_lab
</sql> </sql>
<select id="selectSchoolLabList" parameterType="SchoolLab" resultMap="SchoolLabResult"> <select id="selectSchoolLabList" parameterType="SchoolLabVo" resultMap="SchoolLabVoResult">
<include refid="selectSchoolLabVo"/> <include refid="selectSchoolLabVo"/>
<where> <where>
del_flag = '0' del_flag = '0'
...@@ -33,10 +33,17 @@ ...@@ -33,10 +33,17 @@
<if test="inChargeName != null and inChargeName != ''"> and in_charge_name like concat('%', #{inChargeName}, '%')</if> <if test="inChargeName != null and inChargeName != ''"> and in_charge_name like concat('%', #{inChargeName}, '%')</if>
<if test="labState != null and labState != ''"> and lab_state = #{labState}</if> <if test="labState != null and labState != ''"> and lab_state = #{labState}</if>
<if test="labUseGoods != null and labUseGoods != ''"> and lab_use_goods = #{labUseGoods}</if> <if test="labUseGoods != null and labUseGoods != ''"> and lab_use_goods = #{labUseGoods}</if>
<if test="labSubs != null">
and lab_sub in
<foreach item="labSub" collection="labSubs" open="(" separator="," close=")">
#{labSub}
</foreach>
</if>
</where> </where>
order by create_time DESC
</select> </select>
<select id="selectSchoolLabById" parameterType="Long" resultMap="SchoolLabResult"> <select id="selectSchoolLabById" parameterType="Long" resultMap="SchoolLabVoResult">
<include refid="selectSchoolLabVo"/> <include refid="selectSchoolLabVo"/>
where id = #{id} where id = #{id}
</select> </select>
...@@ -112,6 +119,7 @@ ...@@ -112,6 +119,7 @@
r.role_key = "phy_lab_admin" r.role_key = "phy_lab_admin"
or r.role_key = "che_lab_admin" or r.role_key = "che_lab_admin"
or r.role_key = "bio_lab_admin" or r.role_key = "bio_lab_admin"
group by u.user_id,u.user_name
</select> </select>
<select id="getLabAdmin" parameterType="String" resultType="Map"> <select id="getLabAdmin" parameterType="String" resultType="Map">
......
...@@ -4,19 +4,18 @@ ...@@ -4,19 +4,18 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="yangtz.cs.liu.campus.mapper.schoolLab.SchoolTeacherExperimentApplyMapper"> <mapper namespace="yangtz.cs.liu.campus.mapper.schoolLab.SchoolTeacherExperimentApplyMapper">
<resultMap type="SchoolTeacherExperimentApply" id="SchoolTeacherExperimentApplyResult"> <resultMap type="SchoolTeacherExperimentApplyVo" id="SchoolTeacherExperimentApplyVoResult">
<result property="id" column="id" /> <result property="id" column="id" />
<result property="sub" column="sub" /> <result property="sub" column="sub" />
<result property="gradeId" column="grade_id" /> <result property="gradeId" column="grade_id" />
<result property="grade" column="grade" /> <result property="grade" column="grade" />
<result property="schoolYear" column="school_year" /> <result property="schoolYear" column="school_year" />
<result property="semester" column="semester" /> <result property="semester" column="semester" />
<result property="plannedTime" column="planned_time" /> <result property="plannedStartTime" column="planned_start_time" />
<result property="plannedEndTime" column="planned_end_time" />
<result property="experimentName" column="experiment_name" /> <result property="experimentName" column="experiment_name" />
<result property="experimentClassify" column="experiment_classify" /> <result property="experimentClassify" column="experiment_classify" />
<result property="experimentUseGoods" column="experiment_use_goods" /> <result property="experimentUseGoods" column="experiment_use_goods" />
<result property="labId" column="lab_id" />
<result property="labName" column="lab_name" />
<result property="declareState" column="declare_state" /> <result property="declareState" column="declare_state" />
<result property="applyId" column="apply_id" /> <result property="applyId" column="apply_id" />
<result property="applyName" column="apply_name" /> <result property="applyName" column="apply_name" />
...@@ -29,10 +28,10 @@ ...@@ -29,10 +28,10 @@
</resultMap> </resultMap>
<sql id="selectSchoolTeacherExperimentApplyVo"> <sql id="selectSchoolTeacherExperimentApplyVo">
select id, sub, grade_id, grade, school_year, semester, planned_time, experiment_name, experiment_classify, experiment_use_goods, lab_id, lab_name, declare_state, apply_id, apply_name, apply_time, create_by, create_time, update_by, update_time, del_flag from school_teacher_experiment_apply select id, sub, grade_id, grade, school_year, semester, planned_start_time, planned_end_time, experiment_name, experiment_classify, experiment_use_goods, declare_state, apply_id, apply_name, apply_time, create_by, create_time, update_by, update_time, del_flag from school_teacher_experiment_apply
</sql> </sql>
<select id="selectSchoolTeacherExperimentApplyList" parameterType="SchoolTeacherExperimentApply" resultMap="SchoolTeacherExperimentApplyResult"> <select id="selectSchoolTeacherExperimentApplyList" parameterType="SchoolTeacherExperimentApplyVo" resultMap="SchoolTeacherExperimentApplyVoResult">
<include refid="selectSchoolTeacherExperimentApplyVo"/> <include refid="selectSchoolTeacherExperimentApplyVo"/>
<where> <where>
del_flag = '0' del_flag = '0'
...@@ -41,25 +40,32 @@ ...@@ -41,25 +40,32 @@
<if test="grade != null and grade != ''"> and grade = #{grade}</if> <if test="grade != null and grade != ''"> and grade = #{grade}</if>
<if test="schoolYear != null and schoolYear != ''"> and school_year = #{schoolYear}</if> <if test="schoolYear != null and schoolYear != ''"> and school_year = #{schoolYear}</if>
<if test="semester != null and semester != ''"> and semester = #{semester}</if> <if test="semester != null and semester != ''"> and semester = #{semester}</if>
<if test="plannedTime != null and plannedTime != ''"> and planned_time = #{plannedTime}</if> <if test="plannedStartTime != null and plannedEndTime != null">
and planned_start_time between #{plannedStartTime} and #{plannedEndTime}
and planned_end_time between #{plannedStartTime} and #{plannedEndTime}
</if>
<if test="experimentName != null and experimentName != ''"> and experiment_name like concat('%', #{experimentName}, '%')</if> <if test="experimentName != null and experimentName != ''"> and experiment_name like concat('%', #{experimentName}, '%')</if>
<if test="experimentClassify != null and experimentClassify != ''"> and experiment_classify = #{experimentClassify}</if> <if test="experimentClassify != null and experimentClassify != ''"> and experiment_classify = #{experimentClassify}</if>
<if test="experimentUseGoods != null and experimentUseGoods != ''"> and experiment_use_goods = #{experimentUseGoods}</if> <if test="experimentUseGoods != null and experimentUseGoods != ''"> and experiment_use_goods = #{experimentUseGoods}</if>
<if test="labId != null and labId != ''"> and lab_id = #{labId}</if>
<if test="labName != null and labName != ''"> and lab_name like concat('%', #{labName}, '%')</if>
<if test="declareState != null and declareState != ''"> and declare_state = #{declareState}</if> <if test="declareState != null and declareState != ''"> and declare_state = #{declareState}</if>
<if test="applyId != null "> and apply_id = #{applyId}</if> <if test="applyId != null "> and apply_id = #{applyId}</if>
<if test="applyName != null and applyName != ''"> and apply_name like concat('%', #{applyName}, '%')</if> <if test="applyName != null and applyName != ''"> and apply_name like concat('%', #{applyName}, '%')</if>
<if test="applyTime != null "> and apply_time = #{applyTime}</if> <if test="applyTime != null "> and apply_time = #{applyTime}</if>
<if test="subs != null ">
and sub in
<foreach item="sub" collection="subs" open="(" separator="," close=")">
#{sub}
</foreach>
</if>
</where> </where>
</select> </select>
<select id="selectSchoolTeacherExperimentApplyById" parameterType="Long" resultMap="SchoolTeacherExperimentApplyResult"> <select id="selectSchoolTeacherExperimentApplyById" parameterType="Long" resultMap="SchoolTeacherExperimentApplyVoResult">
<include refid="selectSchoolTeacherExperimentApplyVo"/> <include refid="selectSchoolTeacherExperimentApplyVo"/>
where id = #{id} where id = #{id}
</select> </select>
<insert id="insertSchoolTeacherExperimentApply" parameterType="SchoolTeacherExperimentApply" useGeneratedKeys="true" keyProperty="id"> <insert id="insertSchoolTeacherExperimentApply" parameterType="SchoolTeacherExperimentApplyVo" useGeneratedKeys="true" keyProperty="id">
insert into school_teacher_experiment_apply insert into school_teacher_experiment_apply
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="sub != null">sub,</if> <if test="sub != null">sub,</if>
...@@ -67,12 +73,11 @@ ...@@ -67,12 +73,11 @@
<if test="grade != null">grade,</if> <if test="grade != null">grade,</if>
<if test="schoolYear != null">school_year,</if> <if test="schoolYear != null">school_year,</if>
<if test="semester != null">semester,</if> <if test="semester != null">semester,</if>
<if test="plannedTime != null">planned_time,</if> <if test="plannedStartTime != null">planned_start_time,</if>
<if test="plannedEndTime != null">planned_end_time,</if>
<if test="experimentName != null">experiment_name,</if> <if test="experimentName != null">experiment_name,</if>
<if test="experimentClassify != null">experiment_classify,</if> <if test="experimentClassify != null">experiment_classify,</if>
<if test="experimentUseGoods != null">experiment_use_goods,</if> <if test="experimentUseGoods != null">experiment_use_goods,</if>
<if test="labId != null">lab_id,</if>
<if test="labName != null">lab_name,</if>
<if test="declareState != null">declare_state,</if> <if test="declareState != null">declare_state,</if>
<if test="applyId != null">apply_id,</if> <if test="applyId != null">apply_id,</if>
<if test="applyName != null">apply_name,</if> <if test="applyName != null">apply_name,</if>
...@@ -89,12 +94,11 @@ ...@@ -89,12 +94,11 @@
<if test="grade != null">#{grade},</if> <if test="grade != null">#{grade},</if>
<if test="schoolYear != null">#{schoolYear},</if> <if test="schoolYear != null">#{schoolYear},</if>
<if test="semester != null">#{semester},</if> <if test="semester != null">#{semester},</if>
<if test="plannedTime != null">#{plannedTime},</if> <if test="plannedStartTime != null">#{plannedStartTime},</if>
<if test="plannedEndTime != null">#{plannedEndTime},</if>
<if test="experimentName != null">#{experimentName},</if> <if test="experimentName != null">#{experimentName},</if>
<if test="experimentClassify != null">#{experimentClassify},</if> <if test="experimentClassify != null">#{experimentClassify},</if>
<if test="experimentUseGoods != null">#{experimentUseGoods},</if> <if test="experimentUseGoods != null">#{experimentUseGoods},</if>
<if test="labId != null">#{labId},</if>
<if test="labName != null">#{labName},</if>
<if test="declareState != null">#{declareState},</if> <if test="declareState != null">#{declareState},</if>
<if test="applyId != null">#{applyId},</if> <if test="applyId != null">#{applyId},</if>
<if test="applyName != null">#{applyName},</if> <if test="applyName != null">#{applyName},</if>
...@@ -107,7 +111,7 @@ ...@@ -107,7 +111,7 @@
</trim> </trim>
</insert> </insert>
<update id="updateSchoolTeacherExperimentApply" parameterType="SchoolTeacherExperimentApply"> <update id="updateSchoolTeacherExperimentApply" parameterType="SchoolTeacherExperimentApplyVo">
update school_teacher_experiment_apply update school_teacher_experiment_apply
<trim prefix="SET" suffixOverrides=","> <trim prefix="SET" suffixOverrides=",">
<if test="sub != null">sub = #{sub},</if> <if test="sub != null">sub = #{sub},</if>
...@@ -115,12 +119,11 @@ ...@@ -115,12 +119,11 @@
<if test="grade != null">grade = #{grade},</if> <if test="grade != null">grade = #{grade},</if>
<if test="schoolYear != null">school_year = #{schoolYear},</if> <if test="schoolYear != null">school_year = #{schoolYear},</if>
<if test="semester != null">semester = #{semester},</if> <if test="semester != null">semester = #{semester},</if>
<if test="plannedTime != null">planned_time = #{plannedTime},</if> <if test="plannedStartTime != null">planned_start_time = #{plannedStartTime},</if>
<if test="plannedEndTime != null">planned_end_time = #{plannedEndTime},</if>
<if test="experimentName != null">experiment_name = #{experimentName},</if> <if test="experimentName != null">experiment_name = #{experimentName},</if>
<if test="experimentClassify != null">experiment_classify = #{experimentClassify},</if> <if test="experimentClassify != null">experiment_classify = #{experimentClassify},</if>
<if test="experimentUseGoods != null">experiment_use_goods = #{experimentUseGoods},</if> <if test="experimentUseGoods != null">experiment_use_goods = #{experimentUseGoods},</if>
<if test="labId != null">lab_id = #{labId},</if>
<if test="labName != null">lab_name = #{labName},</if>
<if test="declareState != null">declare_state = #{declareState},</if> <if test="declareState != null">declare_state = #{declareState},</if>
<if test="applyId != null">apply_id = #{applyId},</if> <if test="applyId != null">apply_id = #{applyId},</if>
<if test="applyName != null">apply_name = #{applyName},</if> <if test="applyName != null">apply_name = #{applyName},</if>
...@@ -144,4 +147,22 @@ ...@@ -144,4 +147,22 @@
#{id} #{id}
</foreach> </foreach>
</update> </update>
<update id="deleteSchoolTeacherExperimentApplyLabsIds" parameterType="String">
update school_teacher_experiment_apply_labs set del_flag = '1' where teacher_experiment_apply_id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</update>
<delete id="deleteSchoolTeacherExperimentApplyLabsId" parameterType="Long">
delete from school_teacher_experiment_apply_labs where teacher_experiment_apply_id = #{id}
</delete>
<insert id="batchSchoolTeacherExperimentApplyLabs">
insert into school_teacher_experiment_apply_labs( id, teacher_experiment_apply_id, lab_id, lab_name) values
<foreach item="item" index="index" collection="list" separator=",">
( #{item.id}, #{item.teacherExperimentApplyId}, #{item.labId},#{item.labName})
</foreach>
</insert>
</mapper> </mapper>
\ No newline at end of file
...@@ -4,11 +4,14 @@ ...@@ -4,11 +4,14 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="yangtz.cs.liu.campus.mapper.schoolLab.SchoolTeacherLabApplyMapper"> <mapper namespace="yangtz.cs.liu.campus.mapper.schoolLab.SchoolTeacherLabApplyMapper">
<resultMap type="SchoolTeacherLabApply" id="SchoolTeacherLabApplyResult"> <resultMap type="SchoolTeacherLabApplyVo" id="SchoolTeacherLabApplyVoResult">
<result property="id" column="id" /> <result property="id" column="id" />
<result property="labClassYearId" column="lab_class_year_id" /> <result property="labClassYearId" column="lab_class_year_id" />
<result property="experimentClassify" column="experiment_classify" /> <result property="experimentClassify" column="experiment_classify" />
<result property="experimentPlanId" column="experiment_plan_id" />
<result property="experimentName" column="experiment_name" />
<result property="sub" column="sub" /> <result property="sub" column="sub" />
<result property="gradeId" column="grade_id" />
<result property="grade" column="grade" /> <result property="grade" column="grade" />
<result property="schoolYear" column="school_year" /> <result property="schoolYear" column="school_year" />
<result property="semester" column="semester" /> <result property="semester" column="semester" />
...@@ -24,6 +27,7 @@ ...@@ -24,6 +27,7 @@
<result property="applyName" column="apply_name" /> <result property="applyName" column="apply_name" />
<result property="applyTime" column="apply_time" /> <result property="applyTime" column="apply_time" />
<result property="remark" column="remark" /> <result property="remark" column="remark" />
<result property="state" column="state" />
<result property="createBy" column="create_by" /> <result property="createBy" column="create_by" />
<result property="createTime" column="create_time" /> <result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" /> <result property="updateBy" column="update_by" />
...@@ -32,23 +36,25 @@ ...@@ -32,23 +36,25 @@
</resultMap> </resultMap>
<sql id="selectSchoolTeacherLabApplyVo"> <sql id="selectSchoolTeacherLabApplyVo">
select id, lab_class_year_id, experiment_classify, sub, grade,state, school_year, semester, class_id, class_name, chapter_content, experiment_time, section, lab_id, lab_name, apply_state, apply_id, apply_name, apply_time, remark, create_by, create_time, update_by, update_time, del_flag from school_teacher_lab_apply select id, lab_class_year_id, experiment_classify, experiment_plan_id, experiment_name, sub, grade_id, grade, school_year, semester, class_id, class_name, chapter_content, experiment_time, section, lab_id, lab_name, apply_state, apply_id, apply_name, apply_time, remark,state, create_by, create_time, update_by, update_time, del_flag from school_teacher_lab_apply
</sql> </sql>
<select id="selectSchoolTeacherLabApplyList" parameterType="SchoolTeacherLabApply" resultMap="SchoolTeacherLabApplyResult"> <select id="selectSchoolTeacherLabApplyList" parameterType="SchoolTeacherLabApplyVo" resultMap="SchoolTeacherLabApplyVoResult">
<include refid="selectSchoolTeacherLabApplyVo"/> <include refid="selectSchoolTeacherLabApplyVo"/>
<where> <where>
del_flag = '0' del_flag = '0'
<if test="labClassYearId != null and labClassYearId != ''"> and lab_class_year_id = #{labClassYearId}</if> <if test="labClassYearId != null and labClassYearId != ''"> and lab_class_year_id = #{labClassYearId}</if>
<if test="experimentClassify != null and experimentClassify != ''"> and experiment_classify = #{experimentClassify}</if> <if test="experimentClassify != null and experimentClassify != ''"> and experiment_classify = #{experimentClassify}</if>
<if test="experimentName != null and experimentName != ''"> and experiment_name like concat('%', #{experimentName}, '%')</if>
<if test="sub != null and sub != ''"> and sub = #{sub}</if> <if test="sub != null and sub != ''"> and sub = #{sub}</if>
<if test="grade != null and grade != ''"> and grade = #{grade}</if> <if test="gradeId != null"> and grade_id = #{gradeId}</if>
<if test="grade != null and grade != ''"> and grade like concat('%', #{grade}, '%')</if>
<if test="schoolYear != null and schoolYear != ''"> and school_year = #{schoolYear}</if> <if test="schoolYear != null and schoolYear != ''"> and school_year = #{schoolYear}</if>
<if test="semester != null and semester != ''"> and semester = #{semester}</if> <if test="semester != null and semester != ''"> and semester = #{semester}</if>
<if test="classId != null and classId != ''"> and class_id = #{classId}</if> <if test="classId != null and classId != ''"> and class_id = #{classId}</if>
<if test="className != null and className != ''"> and class_name like concat('%', #{className}, '%')</if> <if test="className != null and className != ''"> and class_name like concat('%', #{className}, '%')</if>
<if test="chapterContent != null and chapterContent != ''"> and chapter_content = #{chapterContent}</if> <if test="chapterContent != null and chapterContent != ''"> and chapter_content = #{chapterContent}</if>
<if test="experimentTime != null "> and experiment_time = #{experimentTime}</if> <if test="startTime != null and endTime != null "> and experiment_time between #{startTime} and #{endTime}</if>
<if test="section != null and section != ''"> and section = #{section}</if> <if test="section != null and section != ''"> and section = #{section}</if>
<if test="labId != null "> and lab_id = #{labId}</if> <if test="labId != null "> and lab_id = #{labId}</if>
<if test="labName != null and labName != ''"> and lab_name like concat('%', #{labName}, '%')</if> <if test="labName != null and labName != ''"> and lab_name like concat('%', #{labName}, '%')</if>
...@@ -56,35 +62,45 @@ ...@@ -56,35 +62,45 @@
<if test="applyId != null "> and apply_id = #{applyId}</if> <if test="applyId != null "> and apply_id = #{applyId}</if>
<if test="applyName != null and applyName != ''"> and apply_name like concat('%', #{applyName}, '%')</if> <if test="applyName != null and applyName != ''"> and apply_name like concat('%', #{applyName}, '%')</if>
<if test="applyTime != null "> and apply_time = #{applyTime}</if> <if test="applyTime != null "> and apply_time = #{applyTime}</if>
<if test="state != null "> and state = #{state}</if>
<if test="subs != null ">
and sub in
<foreach item="sub" collection="subs" open="(" separator="," close=")">
#{sub}
</foreach>
</if>
</where> </where>
order by create_time DESC
</select> </select>
<select id="selectSchoolTeacherLabApplyById" parameterType="Long" resultMap="SchoolTeacherLabApplyResult"> <select id="selectSchoolTeacherLabApplyById" parameterType="Long" resultMap="SchoolTeacherLabApplyVoResult">
<include refid="selectSchoolTeacherLabApplyVo"/> <include refid="selectSchoolTeacherLabApplyVo"/>
where id = #{id} where id = #{id}
</select> </select>
<insert id="insertSchoolTeacherLabApply" parameterType="SchoolTeacherLabApply" useGeneratedKeys="true" keyProperty="id"> <insert id="insertSchoolTeacherLabApply" parameterType="SchoolTeacherLabApplyVo" useGeneratedKeys="true" keyProperty="id">
insert into school_teacher_lab_apply insert into school_teacher_lab_apply
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="labClassYearId != null">lab_class_year_id,</if> <if test="labClassYearId != null">lab_class_year_id,</if>
<if test="experimentClassify != null">experiment_classify,</if> <if test="experimentClassify != null">experiment_classify,</if>
<if test="experimentPlanId != null">experiment_plan_id,</if>
<if test="experimentName != null and experimentName != ''">experiment_name,</if>
<if test="sub != null">sub,</if> <if test="sub != null">sub,</if>
<if test="gradeId != null">grade_id,</if>
<if test="grade != null">grade,</if> <if test="grade != null">grade,</if>
<if test="schoolYear != null">school_year,</if> <if test="schoolYear != null">school_year,</if>
<if test="semester != null">semester,</if> <if test="semester != null">semester,</if>
<if test="classId != null">class_id,</if> <if test="classId != null">class_id,class_name,</if>
<if test="className != null">class_name,</if>
<if test="chapterContent != null">chapter_content,</if> <if test="chapterContent != null">chapter_content,</if>
<if test="experimentTime != null">experiment_time,</if> <if test="experimentTime != null">experiment_time,</if>
<if test="section != null">section,</if> <if test="section != null">section,</if>
<if test="labId != null">lab_id,</if> <if test="labId != null">lab_id,lab_name,</if>
<if test="labName != null">lab_name,</if>
<if test="applyState != null">apply_state,</if> <if test="applyState != null">apply_state,</if>
<if test="applyId != null">apply_id,</if> <if test="applyId != null">apply_id,</if>
<if test="applyName != null">apply_name,</if> <if test="applyName != null">apply_name,</if>
<if test="applyTime != null">apply_time,</if> <if test="applyTime != null">apply_time,</if>
<if test="remark != null">remark,</if> <if test="remark != null">remark,</if>
<if test="state != null and state != ''">state,</if>
<if test="createBy != null">create_by,</if> <if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if> <if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if> <if test="updateBy != null">update_by,</if>
...@@ -94,22 +110,24 @@ ...@@ -94,22 +110,24 @@
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="labClassYearId != null">#{labClassYearId},</if> <if test="labClassYearId != null">#{labClassYearId},</if>
<if test="experimentClassify != null">#{experimentClassify},</if> <if test="experimentClassify != null">#{experimentClassify},</if>
<if test="experimentPlanId != null">#{experimentPlanId},</if>
<if test="experimentName != null and experimentName != ''">#{experimentName},</if>
<if test="sub != null">#{sub},</if> <if test="sub != null">#{sub},</if>
<if test="gradeId != null">#{gradeId},</if>
<if test="grade != null">#{grade},</if> <if test="grade != null">#{grade},</if>
<if test="schoolYear != null">#{schoolYear},</if> <if test="schoolYear != null">#{schoolYear},</if>
<if test="semester != null">#{semester},</if> <if test="semester != null">#{semester},</if>
<if test="classId != null">#{classId},</if> <if test="classId != null">#{classId},(select class_name from school_class where id = #{classId}),</if>
<if test="className != null">#{className},</if>
<if test="chapterContent != null">#{chapterContent},</if> <if test="chapterContent != null">#{chapterContent},</if>
<if test="experimentTime != null">#{experimentTime},</if> <if test="experimentTime != null">#{experimentTime},</if>
<if test="section != null">#{section},</if> <if test="section != null">#{section},</if>
<if test="labId != null">#{labId},</if> <if test="labId != null">#{labId},(select lab_name from school_lab where id = #{labId}),</if>
<if test="labName != null">#{labName},</if>
<if test="applyState != null">#{applyState},</if> <if test="applyState != null">#{applyState},</if>
<if test="applyId != null">#{applyId},</if> <if test="applyId != null">#{applyId},</if>
<if test="applyName != null">#{applyName},</if> <if test="applyName != null">#{applyName},</if>
<if test="applyTime != null">#{applyTime},</if> <if test="applyTime != null">#{applyTime},</if>
<if test="remark != null">#{remark},</if> <if test="remark != null">#{remark},</if>
<if test="state != null and state != ''">#{state},</if>
<if test="createBy != null">#{createBy},</if> <if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if> <if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if> <if test="updateBy != null">#{updateBy},</if>
...@@ -118,50 +136,29 @@ ...@@ -118,50 +136,29 @@
</trim> </trim>
</insert> </insert>
<select id="selectCompletedQuantity" resultType="Integer" parameterType="ClassSituationVo"> <update id="updateSchoolTeacherLabApply" parameterType="SchoolTeacherLabApplyVo">
SELECT count(0) FROM school_teacher_lab_apply lp WHERE lp.school_year = #{schoolYear} AND lp.semester = #{semester} AND lp.state=1 AND lp.del_flag=0
<if test="id != null "> and lp.lab_class_year_id = #{id}</if>
</select>
<select id="selectTeacherList" resultType="Map" parameterType="SchoolTeacherLabApply">
SELECT apply_name applyName,school_year schoolYear,
COUNT(CASE WHEN experiment_classify = 1 THEN experiment_classify END) as fzcount,
COUNT(CASE WHEN experiment_classify = 2 THEN experiment_classify END) as sycount,
COUNT(CASE WHEN experiment_classify = 3 THEN experiment_classify END) as sjcount,
COUNT(experiment_classify) count
FROM school_teacher_lab_apply WHERE
school_year = #{schoolYear} AND semester = #{semester}
<if test="applyName != null and applyName != ''">
AND apply_name like concat('%', #{applyName}, '%')
</if>
GROUP BY apply_name
</select>
<update id="updateSchoolTeacherLabApply" parameterType="SchoolTeacherLabApply">
update school_teacher_lab_apply update school_teacher_lab_apply
<trim prefix="SET" suffixOverrides=","> <trim prefix="SET" suffixOverrides=",">
<if test="labClassYearId != null">lab_class_year_id = #{labClassYearId},</if> <if test="labClassYearId != null">lab_class_year_id = #{labClassYearId},</if>
<if test="experimentClassify != null">experiment_classify = #{experimentClassify},</if> <if test="experimentClassify != null">experiment_classify = #{experimentClassify},</if>
<if test="experimentPlanId != null">experiment_plan_id = #{experimentPlanId},</if>
<if test="experimentName != null and experimentName != ''">experiment_name = #{experimentName},</if>
<if test="sub != null">sub = #{sub},</if> <if test="sub != null">sub = #{sub},</if>
<if test="gradeId != null">grade_id = #{gradeId},</if>
<if test="grade != null">grade = #{grade},</if> <if test="grade != null">grade = #{grade},</if>
<if test="schoolYear != null">school_year = #{schoolYear},</if> <if test="schoolYear != null">school_year = #{schoolYear},</if>
<if test="semester != null">semester = #{semester},</if> <if test="semester != null">semester = #{semester},</if>
<if test="classId != null">class_id = #{classId},</if> <if test="classId != null">class_id = #{classId},class_name = (select class_name from school_class where id = #{classId}),</if>
<if test="className != null">class_name = #{className},</if>
<if test="chapterContent != null">chapter_content = #{chapterContent},</if> <if test="chapterContent != null">chapter_content = #{chapterContent},</if>
<if test="experimentTime != null">experiment_time = #{experimentTime},</if> <if test="experimentTime != null">experiment_time = #{experimentTime},</if>
<if test="section != null">section = #{section},</if> <if test="section != null">section = #{section},</if>
<if test="labId != null">lab_id = #{labId},</if> <if test="labId != null">lab_id = #{labId},lab_name = (select lab_name from school_lab where id = #{labId}),</if>
<if test="labName != null">lab_name = #{labName},</if>
<if test="applyState != null">apply_state = #{applyState},</if> <if test="applyState != null">apply_state = #{applyState},</if>
<if test="applyId != null">apply_id = #{applyId},</if> <if test="applyId != null">apply_id = #{applyId},</if>
<if test="applyName != null">apply_name = #{applyName},</if> <if test="applyName != null">apply_name = #{applyName},</if>
<if test="applyTime != null">apply_time = #{applyTime},</if> <if test="applyTime != null">apply_time = #{applyTime},</if>
<if test="remark != null">remark = #{remark},</if> <if test="remark != null">remark = #{remark},</if>
<if test="state != null and state != ''">state = #{state},</if>
<if test="createBy != null">create_by = #{createBy},</if> <if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if> <if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if> <if test="updateBy != null">update_by = #{updateBy},</if>
...@@ -181,4 +178,135 @@ ...@@ -181,4 +178,135 @@
#{id} #{id}
</foreach> </foreach>
</update> </update>
<delete id="deleteSchoolAccessoryByBusinessIds" parameterType="String">
delete from school_accessory where accessory_type = "教师实验室附件" and business_id in
<foreach item="businessId" collection="array" open="(" separator="," close=")">
#{businessId}
</foreach>
</delete>
<delete id="deleteSchoolAccessoryByBusinessId" parameterType="Long">
delete from school_accessory where accessory_type = "教师实验室附件" and business_id = #{businessId}
</delete>
<select id="getTeacherClass" parameterType="SchoolTeacherLabApplyVo" resultType="Map">
SELECT cm.class_id as classId,( SELECT c.class_name FROM school_class c WHERE c.id = cm.class_id ) AS className
FROM
school_class_mentor cm
WHERE
cm.del_flag = '0'
AND cm.teacher_id = #{teacherId}
AND cm.course_id IN ( "6", "8", "9" )
AND cm.class_id IN ( SELECT class_id FROM school_experiment_plan_class WHERE del_flag = '0' AND experiment_plan_id = #{experimentPlanId})
</select>
<select id="getTeacherClassAll" parameterType="SchoolTeacherLabApplyVo" resultType="Map">
SELECT epc.class_id as classId,( SELECT c.class_name FROM school_class c WHERE c.id = epc.class_id ) AS className
FROM
school_experiment_plan_class epc
WHERE
epc.del_flag = '0'
AND epc.experiment_plan_id = #{experimentPlanId}
</select>
<insert id="batchSchoolAccessory">
insert into school_accessory( id, business_id, module_name, accessory_type, accessory_url, accessory_name, create_by,create_time) values
<foreach item="item" index="index" collection="list" separator=",">
( 0, #{item.businessId}, #{item.moduleName}, #{item.accessoryType}, #{item.accessoryUrl}, #{item.accessoryName}, #{item.createBy}, #{item.createTime})
</foreach>
</insert>
<select id="getClassDetails" parameterType="SchoolTeacherLabApplyVo" resultType="Map">
SELECT
tla.id as id,
tla.experiment_classify as experimentClassify,
tla.class_id as classId,
c.class_name as className,
tla.experiment_time as experimentTime,
tla.section as section,
tla.state as state
FROM
school_teacher_lab_apply tla
LEFT JOIN school_class c on tla.class_id = c.id
WHERE
tla.experiment_plan_id = #{experimentPlanId} AND tla.del_flag = '0'
<if test="experimentClassify != null and experimentClassify != ''"> and tla.experiment_classify = #{experimentClassify}</if>
<if test="classId != null and classId != ''"> and tla.class_id = #{classId}</if>
<if test="className != null and className != ''"> and c.class_name like concat('%', #{className}, '%')</if>
<if test="startTime != null and endTime != null "> and tla.experiment_time between #{startTime} and #{endTime}</if>
</select>
<select id="getCountTeacher" parameterType="SchoolTeacherLabApplyVo" resultType="Map">
SELECT apply_name applyName,school_year schoolYear,
COUNT(CASE WHEN experiment_classify = 1 THEN experiment_classify END) as fzcount,
COUNT(CASE WHEN experiment_classify = 2 THEN experiment_classify END) as sycount,
COUNT(CASE WHEN experiment_classify = 3 THEN experiment_classify END) as sjcount,
COUNT(CASE WHEN state = 1 THEN state END) ywccount
FROM school_teacher_lab_apply WHERE school_year = #{schoolYear} AND semester = #{semester}
<if test="applyName != null and applyName != ''">
AND apply_name like concat('%', #{applyName}, '%')
</if>
GROUP BY apply_name
</select>
<select id="gradeCountClass" parameterType="SchoolTeacherLabApplyVo" resultType="Map">
SELECT
ep.grade_id as gradeId,
ep.grade as grade,
ep.school_year as schoolYear,
ep.semester as semester,
epc.class_id as classId,
c.class_name as className,
COUNT( epc.class_id ) as jhsys,
( SELECT COUNT( CASE WHEN state = 1 THEN state END ) FROM school_teacher_lab_apply WHERE del_flag = '0' AND class_id = epc.class_id and grade_id = ep.grade_id ) as ywcsys
FROM
school_experiment_plan ep
LEFT JOIN school_experiment_plan_class epc ON ep.id = epc.experiment_plan_id
LEFT JOIN school_class c ON epc.class_id = c.id
WHERE
ep.del_flag = '0' and epc.del_flag = '0'
<if test="semester != null and semester != ''">and ep.semester = #{semester}</if>
<if test="schoolYear != null and schoolYear != ''">and ep.school_year = #{schoolYear}</if>
<if test="gradeId != null">and ep.grade_id = #{gradeId}</if>
<if test="classId != null and classId != ''"> and epc.class_id = #{classId}</if>
<if test="className != null and className != ''"> and c.class_name like concat('%', #{className}, '%')</if>
<if test="gradeIds != null">
and ep.grade_id in
<foreach item="gradeId" collection="gradeIds" open="(" separator="," close=")">
#{gradeId}
</foreach>
</if>
GROUP BY ep.grade_id, ep.grade, ep.school_year, ep.semester, epc.class_id, c.class_name
</select>
<select id="getGradeClassDetails" parameterType="SchoolTeacherLabApplyVo" resultMap="SchoolTeacherLabApplyVoResult">
<include refid="selectSchoolTeacherLabApplyVo"/>
WHERE del_flag = '0'
<if test="semester != null and semester != ''">and semester = #{semester}</if>
<if test="schoolYear != null and schoolYear != ''">and school_year = #{schoolYear}</if>
<if test="gradeId != null">and grade_id = #{gradeId}</if>
<if test="classId != null and classId != ''"> and class_id = #{classId}</if>
<if test="className != null and className != ''"> and class_name like concat('%', #{className}, '%')</if>
</select>
<select id="selectCompletedQuantity" resultType="Integer" parameterType="ClassSituationVo">
SELECT count(0) FROM school_teacher_lab_apply lp WHERE lp.school_year = #{schoolYear} AND lp.semester = #{semester} AND lp.state=1 AND lp.del_flag=0
<if test="id != null "> and lp.lab_class_year_id = #{id}</if>
</select>
<select id="selectTeacherList" resultType="Map" parameterType="SchoolTeacherLabApply">
SELECT apply_name applyName,school_year schoolYear,
COUNT(CASE WHEN experiment_classify = 1 THEN experiment_classify END) as fzcount,
COUNT(CASE WHEN experiment_classify = 2 THEN experiment_classify END) as sycount,
COUNT(CASE WHEN experiment_classify = 3 THEN experiment_classify END) as sjcount,
COUNT(experiment_classify) count
FROM school_teacher_lab_apply WHERE
school_year = #{schoolYear} AND semester = #{semester}
<if test="applyName != null and applyName != ''">
AND apply_name like concat('%', #{applyName}, '%')
</if>
GROUP BY apply_name
</select>
</mapper> </mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment