Commit e8182065 authored by YangZhaoJun1's avatar YangZhaoJun1

Merge branch 'V2.0.3' of http://103.249.252.28:90/lcy/education into V2.0.3

parents 04af0883 02756908
...@@ -45,7 +45,8 @@ public interface BEduClassRepository extends BaseMapper<BEduClass> { ...@@ -45,7 +45,8 @@ public interface BEduClassRepository extends BaseMapper<BEduClass> {
@ResultMap(value = "SmallBaseResultMap" ) @ResultMap(value = "SmallBaseResultMap" )
List<BEduClass> selectClassBySubAgencyId(String subAgencyId); List<BEduClass> selectClassBySubAgencyId(String subAgencyId);
@Select("SELECT count(*) from b_schedule_dto where class_code = (select code from b_edu_class where business_id = #{eduClassId}) and del_flag = 0")
int isUse(String eduClassId);
} }
package org.rcisoft.business.beduclass.service.impl; package org.rcisoft.business.beduclass.service.impl;
import org.rcisoft.business.bclass.dao.BClassRepository; import org.rcisoft.business.bclass.dao.BClassRepository;
import org.rcisoft.core.exception.ServiceException;
import org.rcisoft.core.result.ResultExceptionEnum;
import org.rcisoft.core.result.ResultServiceEnums;
import org.rcisoft.core.util.UserUtil; import org.rcisoft.core.util.UserUtil;
import org.rcisoft.core.aop.PageUtil; import org.rcisoft.core.aop.PageUtil;
import org.rcisoft.core.model.PersistModel; import org.rcisoft.core.model.PersistModel;
...@@ -59,12 +62,17 @@ public class BEduClassServiceImpl implements BEduClassService { ...@@ -59,12 +62,17 @@ public class BEduClassServiceImpl implements BEduClassService {
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT) @Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
@Override @Override
public PersistModel remove(BEduClass bEduClass){ public PersistModel remove(BEduClass bEduClass){
UserUtil.setCurrentMergeOperation(bEduClass); if(bEduClassRepository.isUse(bEduClass.getBusinessId()) > 0){
bEduClass.setDeleted(); throw new ServiceException(ResultServiceEnums.EDU_CLASS_HAS_USED);
int line = bEduClassRepository.logicalDelete(bEduClass); }else{
log.info(UserUtil.getUserInfoProp(bEduClass.getToken(),UserUtil.USER_USERNAME)+"逻辑删除了ID为"+ UserUtil.setCurrentMergeOperation(bEduClass);
bEduClass.getBusinessId()+"的信息"); bEduClass.setDeleted();
return new PersistModel(line); int line = bEduClassRepository.logicalDelete(bEduClass);
log.info(UserUtil.getUserInfoProp(bEduClass.getToken(),UserUtil.USER_USERNAME)+"逻辑删除了ID为"+
bEduClass.getBusinessId()+"的信息");
return new PersistModel(line);
}
} }
/** /**
......
...@@ -126,7 +126,6 @@ public interface BSlScheduleRepository extends BaseMapper<BSlSchedule> { ...@@ -126,7 +126,6 @@ public interface BSlScheduleRepository extends BaseMapper<BSlSchedule> {
"b_direction.flag = \"1\" and b_direction.del_flag = \"0\" and\n" + "b_direction.flag = \"1\" and b_direction.del_flag = \"0\" and\n" +
"b_edu_class.flag = \"1\" and b_edu_class.del_flag = \"0\" and\n" + "b_edu_class.flag = \"1\" and b_edu_class.del_flag = \"0\" and\n" +
"s_user.flag = \"1\" and s_user.del_flag = \"0\" and\n" + "s_user.flag = \"1\" and s_user.del_flag = \"0\" and\n" +
"b_agency.flag = \"1\" and b_agency.del_flag = \"0\" and\n" +
"b_teacher.flag = \"1\" and b_teacher.del_flag = \"0\" and " + "b_teacher.flag = \"1\" and b_teacher.del_flag = \"0\" and " +
"\tb_sl_schedule.business_id = #{businessId}") "\tb_sl_schedule.business_id = #{businessId}")
@ResultMap(value = "DetailResultMap") @ResultMap(value = "DetailResultMap")
...@@ -139,5 +138,7 @@ public interface BSlScheduleRepository extends BaseMapper<BSlSchedule> { ...@@ -139,5 +138,7 @@ public interface BSlScheduleRepository extends BaseMapper<BSlSchedule> {
@Select("select DISTINCT(edu_class_code) from b_sl_schedule \n" + @Select("select DISTINCT(edu_class_code) from b_sl_schedule \n" +
"where sub_agency_id = #{2} ORDER BY edu_class_code") "where sub_agency_id = #{2} ORDER BY edu_class_code")
List<String> getNumOfEduClass(String minTime, String maxTime, String subAgencyId); List<String> getNumOfEduClass(String minTime, String maxTime, String subAgencyId);
} }
...@@ -211,13 +211,18 @@ public class BSlScheduleServiceImpl implements BSlScheduleService { ...@@ -211,13 +211,18 @@ public class BSlScheduleServiceImpl implements BSlScheduleService {
int total = 0; int total = 0;
String weekDetail = ""; String weekDetail = "";
ScheduleDetail scheduleDetail = bSlScheduleRepository.queryDetail(businessId); ScheduleDetail scheduleDetail = bSlScheduleRepository.queryDetail(businessId);
if(scheduleDetail.getAgencyCode() == null || scheduleDetail.getAgencyName() == null){
scheduleDetail.setAgencyCode("未绑定企业");
scheduleDetail.setAgencyName("未绑定企业");
}
List<ScheduleDto> scheduleDtoList = bArrangeRepository.queryDtoThroughBsl(scheduleDetail.getSubAgencyId() List<ScheduleDto> scheduleDtoList = bArrangeRepository.queryDtoThroughBsl(scheduleDetail.getSubAgencyId()
,scheduleDetail.getEduClassCode() , scheduleDetail.getEduClassCode()
,scheduleDetail.getLessonCode()); , scheduleDetail.getLessonCode());
//获取周 //获取周
for(int i = 0 ;i <scheduleDtoList.size() ; i++){ for (int i = 0; i < scheduleDtoList.size(); i++) {
String detailWeek = scheduleDtoList.get(i).getWeek(); String detailWeek = scheduleDtoList.get(i).getWeek();
//分割 //分割
String[] subWeek = detailWeek.split("-"); String[] subWeek = detailWeek.split("-");
//确定这段时间有几周 //确定这段时间有几周
if (subWeek.length > 1) { if (subWeek.length > 1) {
...@@ -286,13 +291,18 @@ public class BSlScheduleServiceImpl implements BSlScheduleService { ...@@ -286,13 +291,18 @@ public class BSlScheduleServiceImpl implements BSlScheduleService {
format0.format(maxCal.getTime()), format0.format(maxCal.getTime()),
subAgencyId); subAgencyId);
int j = 0; int j = 0;
for(int i = 0 ; i < allClasses.size() * bCourseCodeList.size() ; i++){ int n = 0;
for (int i = 0; i < allClasses.size() * bCourseCodeList.size(); i++) {
BSLData bslData = new BSLData(); BSLData bslData = new BSLData();
bslData.addDetail(allClasses.get(j).getCode(),allClasses.get(j).getClassName(),"classes"); bslData.addDetail(allClasses.get(j).getCode(), allClasses.get(j).getClassName(), "classes");
bslData.addDetail(String.valueOf(bCourseCodeList.get(n).getSeq()),
bCourseCodeList.get(n).getStartDate() + "-" + bCourseCodeList.get(n).getEndDate(), "section");
//如果超过索引数,则n归零
n = n + 1 == bCourseCodeList.size() ? 0 : n + 1;
resultList.add(bslData); resultList.add(bslData);
//当是班级数 * 每日课程数的倍数时,添加一条空记录,方便前台分割 //当是班级数 * 每日课程数的倍数时,添加一条空记录,方便前台分割
if((i + 1) % bCourseCodeList.size() == 0){ if ((i + 1) % bCourseCodeList.size() == 0) {
resultList.add(new BSLData()); resultList.add(new BSLData());
j++; j++;
} }
...@@ -309,48 +319,29 @@ public class BSlScheduleServiceImpl implements BSlScheduleService { ...@@ -309,48 +319,29 @@ public class BSlScheduleServiceImpl implements BSlScheduleService {
format0.format(minCal.getTime()), format0.format(minCal.getTime()),
format0.format(maxCal.getTime()), format0.format(maxCal.getTime()),
subAgencyId); subAgencyId);
for(BSlSchedule bSlSchedule : list){ for (BSlSchedule bSlSchedule : list) {
int classesNum = allClassesNum.indexOf(bSlSchedule.getEduClassCode()); int classesNum = allClassesNum.indexOf(bSlSchedule.getEduClassCode());
int location = classesNum * bCourseCodeList.size() + Integer.valueOf(bSlSchedule.getSeq()) - 1; int location = classesNum * bCourseCodeList.size() + Integer.valueOf(bSlSchedule.getSeq()) - 1;
if(location / bCourseCodeList.size() >= 1){ if (location / bCourseCodeList.size() >= 1) {
location += location / bCourseCodeList.size(); location += location / bCourseCodeList.size();
} }
//判断这里是否有此班级,此时间的记录 //判断这里是否有此班级,此时间的记录
BSLData bslData = (BSLData) resultList.get(location); BSLData bslData = (BSLData) resultList.get(location);
if(!bslData.hasSection()){ //判断星期几
// bslData.addDetail(bSlSchedule.getEduClassCode(),bSlSchedule.getBEduClass().getClassName(),"classes"); Calendar calendar = Calendar.getInstance();
BCourseCode bCourseCode1 = bCourseCodeList.get(Integer.valueOf(bSlSchedule.getSeq()) - 1); Date date = bSlSchedule.getStartDay();
bslData.addDetail(bSlSchedule.getSeq(),bCourseCode1.getStartDate() + "-" + bCourseCode1.getEndDate(),"section"); if (date == null)
//判断星期几 continue;
Calendar calendar = Calendar.getInstance(); calendar.setTime(date);
Date date = bSlSchedule.getStartDay(); int DAY_OF_WEEK = calendar.get(Calendar.DAY_OF_WEEK);
if(date == null) bslData.addDetail(bSlSchedule.getBLesson().getCode(), bSlSchedule.getBLesson().getLessonName(), DAY_OF_WEEK);
continue; bslData.addDetail(bSlSchedule.getTeaCode(), bSlSchedule.getTeacherName(), DAY_OF_WEEK);
calendar.setTime(date); bslData.addDetail(bSlSchedule.getRoomCode(), bSlSchedule.getBRooms().getClassroomName(), DAY_OF_WEEK);
int DAY_OF_WEEK = calendar.get(Calendar.DAY_OF_WEEK); bslData.addDetail(bSlSchedule.getBusinessId(), "businessId", DAY_OF_WEEK);
bslData.addDetail(bSlSchedule.getBLesson().getCode(),bSlSchedule.getBLesson().getLessonName(),DAY_OF_WEEK);
bslData.addDetail(bSlSchedule.getTeaCode(),bSlSchedule.getTeacherName(),DAY_OF_WEEK);
bslData.addDetail(bSlSchedule.getRoomCode(),bSlSchedule.getBRooms().getClassroomName(),DAY_OF_WEEK);
bslData.addDetail(bSlSchedule.getBusinessId(),"businessId",DAY_OF_WEEK);
// resultMap.put(bSlSchedule.getEduClassCode() + "," + bSlSchedule.getSeq(),bslData);
}else{
//判断星期几
Calendar calendar = Calendar.getInstance();
Date date = bSlSchedule.getStartDay();
if(date == null)
continue;
calendar.setTime(date);
int DAY_OF_WEEK = calendar.get(Calendar.DAY_OF_WEEK);
bslData.addDetail(bSlSchedule.getBLesson().getCode(),bSlSchedule.getBLesson().getLessonName(),DAY_OF_WEEK);
bslData.addDetail(bSlSchedule.getTeaCode(),bSlSchedule.getTeacherName(),DAY_OF_WEEK);
bslData.addDetail(bSlSchedule.getRoomCode(),bSlSchedule.getBRooms().getClassroomName(),DAY_OF_WEEK);
bslData.addDetail(bSlSchedule.getBusinessId(),"businessId",DAY_OF_WEEK);
}
} }
scheduleResult.setBSlSchedules(resultList); scheduleResult.setBSlSchedules(resultList);
scheduleResult.setBCourseCodes(bCourseCodeList); scheduleResult.setBCourseCodes(bCourseCodeList);
return scheduleResult; return scheduleResult;
} }
} }
...@@ -200,7 +200,9 @@ public enum ResultServiceEnums { ...@@ -200,7 +200,9 @@ public enum ResultServiceEnums {
ROOM_SEAT_TOO_MANY(106,"人数过多"), ROOM_SEAT_TOO_MANY(106,"人数过多"),
COPY_FILES_ERROR(107,"复制课程相关资料失败") COPY_FILES_ERROR(107,"复制课程相关资料失败"),
EDU_CLASS_HAS_USED(108,"此教学班已开课,不可删除")
; ;
private Integer code; private Integer code;
......
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