Commit 132c723b authored by 李博今's avatar 李博今

完善导入排课

parent 9a97ed2e
...@@ -84,7 +84,8 @@ public interface BArrangeRepository extends BaseMapper<BArrange> { ...@@ -84,7 +84,8 @@ public interface BArrangeRepository extends BaseMapper<BArrange> {
"LEFT JOIN b_teacher on b_teacher.`code` = b_schedule_dto.teacher_code " + "LEFT JOIN b_teacher on b_teacher.`code` = b_schedule_dto.teacher_code " +
"LEFT JOIN s_user on s_user.login_name = b_teacher.`code` " + "LEFT JOIN s_user on s_user.login_name = b_teacher.`code` " +
"where sub_agency_id = #{subAgencyId} " + "where sub_agency_id = #{subAgencyId} " +
"GROUP BY lesson_code,teacher_code,class_code " + "ORDER BY class_code,week " +
//"GROUP BY lesson_code,teacher_code,class_code " +
"</script>") "</script>")
@ResultMap(value = "scheduleDtoResultMap") @ResultMap(value = "scheduleDtoResultMap")
List<ScheduleDto> queryDtoBySubAgencyId(String subAgencyId); List<ScheduleDto> queryDtoBySubAgencyId(String subAgencyId);
......
...@@ -234,7 +234,12 @@ public class BArrangeServiceImpl implements BArrangeService { ...@@ -234,7 +234,12 @@ public class BArrangeServiceImpl implements BArrangeService {
@Transactional(propagation = Propagation.REQUIRED,readOnly = false) @Transactional(propagation = Propagation.REQUIRED,readOnly = false)
@Override @Override
public PersistModel importExcel(HSSFWorkbook hwb, String token , String subAgencyId) { public PersistModel importExcel(HSSFWorkbook hwb, String token , String subAgencyId) {
//String termCode = bArrangeRepository.selectTermCodeByBSubtaskId(subAgencyId);
//BTerm bTerm = bTermRepository.queryBtermByCode(termCode).get(0);
//获取学期信息
//List<String> list = Week.buildList(bTerm.getStartDate(),bTerm.getEndDate());
//获取周数
//int weekNum = list.size();
ArrayList<ScheduleDto> scheduleDtos = new ArrayList<ScheduleDto>(); ArrayList<ScheduleDto> scheduleDtos = new ArrayList<ScheduleDto>();
Boolean contanSunday = ExcelUtil.containSunday(hwb); Boolean contanSunday = ExcelUtil.containSunday(hwb);
String[] headers = {"方案计划名","方案人数","方案课组","课程号","课程名","开课院系","课程属性","总学分","总学时", String[] headers = {"方案计划名","方案人数","方案课组","课程号","课程名","开课院系","课程属性","总学分","总学时",
...@@ -246,7 +251,10 @@ public class BArrangeServiceImpl implements BArrangeService { ...@@ -246,7 +251,10 @@ public class BArrangeServiceImpl implements BArrangeService {
"周二", "周三", "周四", "周五", "周六","周日", "上课地点", "教室编号", "备注"}; "周二", "周三", "周四", "周五", "周六","周日", "上课地点", "教室编号", "备注"};
} }
ArrayList<String[]> values = ExcelUtil.importExcel(hwb, headers,true,2); //获取excel数据 ArrayList<String[]> values = ExcelUtil.importExcel(hwb, headers,true,2); //获取excel数据
if(values.get(0)[3]==null || values.get(0)[14]==null ||values.get(0)[16]==null ||values.get(0)[26]==null ||
values.get(0)[3].equals("") || values.get(0)[14].equals("") ||values.get(0)[16].equals("") ||values.get(0)[26].equals("")){
throw new ServiceException(ResultServiceEnums.EXCEL_IMPORT_DATA_HAS_NULL);
}
if (values.size()<=0){ if (values.size()<=0){
throw new ServiceException(ResultServiceEnums.EXCEL_IMPORT_DATA_NOT_EXIST); throw new ServiceException(ResultServiceEnums.EXCEL_IMPORT_DATA_NOT_EXIST);
} }
...@@ -255,6 +263,7 @@ public class BArrangeServiceImpl implements BArrangeService { ...@@ -255,6 +263,7 @@ public class BArrangeServiceImpl implements BArrangeService {
List<String> teacherCodes = new ArrayList<>(); List<String> teacherCodes = new ArrayList<>();
List<String> classCodes = new ArrayList<>(); List<String> classCodes = new ArrayList<>();
List<String> roomCodes = new ArrayList<>(); List<String> roomCodes = new ArrayList<>();
List<String> weekErrors = new ArrayList<>();
String[] wholeValue = new String[28]; String[] wholeValue = new String[28];
for (String[] value : values) { for (String[] value : values) {
...@@ -316,6 +325,41 @@ public class BArrangeServiceImpl implements BArrangeService { ...@@ -316,6 +325,41 @@ public class BArrangeServiceImpl implements BArrangeService {
} }
} }
//判断5:判断周数是否超过学期最大周数;
// int location = value[17].indexOf("-");
// if(location != -1){
// String maxWeek = value[17].substring(location + 1,value[17].length());
// if(Integer.valueOf(maxWeek) > weekNum){
// weekErrors.add(value[17]);
// continue;
// }
// else{
// //如果是第一周
// if(value.equals(values.get(0))){
// //如果第一周不存在周一,并且周一又有数据的话,抛弃此条数据
// if(value[18] != null && !value[18].equals("")){
// String[] s = list.get(0).split(",");
// if(s[0].equals("0")){
// continue;
// }
// }
// if(value[19] != null && !value[19].equals("")){
// String[] s = list.get(0).split(",");
// if(s[1].equals("0")){
// continue;
// }
// }
//
// }
//
// }
// }else{
// if(Integer.valueOf(value[17]) > weekNum){
// weekErrors.add(value[17]);
// continue;
// }
// }
//合法:通过了四次判断,证明可建立该排课 //合法:通过了四次判断,证明可建立该排课
scheduleDto.setLessonCode(value[3]); scheduleDto.setLessonCode(value[3]);
...@@ -362,26 +406,38 @@ public class BArrangeServiceImpl implements BArrangeService { ...@@ -362,26 +406,38 @@ public class BArrangeServiceImpl implements BArrangeService {
} }
} }
int resultFlag = 1;
if(lessonCodes.size()>0){ if(lessonCodes.size()>0){
result+="以下课程编号不存在:"+ JSON.toJSONString(lessonCodes)+"。"; result+="以下课程编号不存在:"+ JSON.toJSONString(lessonCodes)+"。";
resultFlag = 0;
} }
if(teacherCodes.size()>0){ if(teacherCodes.size()>0){
result+="以下教师编号不存在:"+ JSON.toJSONString(teacherCodes)+"。"; result+="以下教师编号不存在:"+ JSON.toJSONString(teacherCodes)+"。";
resultFlag = 0;
} }
if(classCodes.size()>0){ if(classCodes.size()>0){
result+="以下班级编号不存在:"+ JSON.toJSONString(classCodes)+"。"; result+="以下班级编号不存在:"+ JSON.toJSONString(classCodes)+"。";
resultFlag = 0;
} }
if(roomCodes.size()>0){ if(roomCodes.size()>0){
result+="以下教室编号不存在:"+ JSON.toJSONString(roomCodes)+"。"; result+="以下教室编号不存在:"+ JSON.toJSONString(roomCodes)+"。";
resultFlag = 0;
} }
// if(weekErrors.size()>0){
// result+="以下周超过最大周数:"+ JSON.toJSONString(weekErrors)+"。";
// resultFlag = 0;
// }
return new PersistModel(1, result); return new PersistModel(resultFlag, result);
} }
@Override @Override
public PersistModel importExcel2(HSSFWorkbook hwb, String token, String subAgencyId) { public PersistModel importExcel2(HSSFWorkbook hwb, String token, String subAgencyId) {
String termCode = bArrangeRepository.selectTermCodeByBSubtaskId(subAgencyId); String termCode = bArrangeRepository.selectTermCodeByBSubtaskId(subAgencyId);
BTerm bTerm = bTermRepository.queryBtermByCode(termCode).get(0); BTerm bTerm = bTermRepository.queryBtermByCode(termCode).get(0);
//List list1 = Week.buildList(bTerm.getStartDate(),bTerm.getEndDate());
//int weekNum = list1.size();
//获取时间集合 //获取时间集合
Map<String,Date> timeMap = FindTime.findTime(bTerm.getStartDate(),bTerm.getEndDate()); Map<String,Date> timeMap = FindTime.findTime(bTerm.getStartDate(),bTerm.getEndDate());
Boolean contanSunday = ExcelUtil.containSunday(hwb); Boolean contanSunday = ExcelUtil.containSunday(hwb);
...@@ -394,7 +450,8 @@ public class BArrangeServiceImpl implements BArrangeService { ...@@ -394,7 +450,8 @@ public class BArrangeServiceImpl implements BArrangeService {
"周二", "周三", "周四", "周五", "周六","周日", "上课地点", "教室编号", "备注"}; "周二", "周三", "周四", "周五", "周六","周日", "上课地点", "教室编号", "备注"};
} }
ArrayList<String[]> values = ExcelUtil.importExcel(hwb, headers,true,2); //获取excel数据 ArrayList<String[]> values = ExcelUtil.importExcel(hwb, headers,true,2); //获取excel数据
if(values.get(0)[3].equals("") || values.get(0)[14].equals("") ||values.get(0)[16].equals("") ||values.get(0)[26].equals("")){ if(values.get(0)[3]==null || values.get(0)[14]==null ||values.get(0)[16]==null ||values.get(0)[26]==null ||
values.get(0)[3].equals("") || values.get(0)[14].equals("") ||values.get(0)[16].equals("") ||values.get(0)[26].equals("")){
throw new ServiceException(ResultServiceEnums.EXCEL_IMPORT_DATA_HAS_NULL); throw new ServiceException(ResultServiceEnums.EXCEL_IMPORT_DATA_HAS_NULL);
} }
List<BSlSchedule> list = new ArrayList<>(); List<BSlSchedule> list = new ArrayList<>();
...@@ -405,6 +462,7 @@ public class BArrangeServiceImpl implements BArrangeService { ...@@ -405,6 +462,7 @@ public class BArrangeServiceImpl implements BArrangeService {
List<String> teacherCodes = new ArrayList<>(); List<String> teacherCodes = new ArrayList<>();
List<String> classCodes = new ArrayList<>(); List<String> classCodes = new ArrayList<>();
List<String> roomCodes = new ArrayList<>(); List<String> roomCodes = new ArrayList<>();
List<String> weekErrors = new ArrayList<>();
String[] wholeValue = new String[28]; String[] wholeValue = new String[28];
for (String[] value : values) { for (String[] value : values) {
...@@ -471,6 +529,14 @@ public class BArrangeServiceImpl implements BArrangeService { ...@@ -471,6 +529,14 @@ public class BArrangeServiceImpl implements BArrangeService {
} }
} }
//判断5:判断周数是否超过学期最大周数;
// int subStringlocation = value[17].indexOf("-");
// String maxWeek = value[17].substring(subStringlocation + 1,value[17].length());
// if(Integer.valueOf(maxWeek) > weekNum){
// weekErrors.add(value[17]);
// continue;
// }
String week = value[17]; String week = value[17];
if(week.contains("-")){ if(week.contains("-")){
int location = week.indexOf("-"); int location = week.indexOf("-");
...@@ -572,6 +638,9 @@ public class BArrangeServiceImpl implements BArrangeService { ...@@ -572,6 +638,9 @@ public class BArrangeServiceImpl implements BArrangeService {
if(roomCodes.size()>0){ if(roomCodes.size()>0){
result+="以下教室编号不存在:"+ JSON.toJSONString(roomCodes)+"。"; result+="以下教室编号不存在:"+ JSON.toJSONString(roomCodes)+"。";
} }
// if(weekErrors.size()>0){
// result+="以下周超过最大周数:"+ JSON.toJSONString(weekErrors)+"。";
// }
return new PersistModel(1, result); return new PersistModel(1, result);
} }
......
...@@ -156,11 +156,12 @@ public class BTermController extends PaginationController<BTerm> { ...@@ -156,11 +156,12 @@ public class BTermController extends PaginationController<BTerm> {
} }
@ApiOperation(value="获取校历", notes="获取校历") @ApiOperation(value="获取校历", notes="获取校历")
@ApiImplicitParam(name = "termCode", value = "termCode", required = true, dataType = "varchar")
@GetMapping(value = "/getSchoolWeek") @GetMapping(value = "/getSchoolWeek")
public Result getSchoolWeek(){ public Result getSchoolWeek(String termCode){
return Result.builder(new PersistModel(1), return Result.builder(new PersistModel(1),
MessageConstant.MESSAGE_ALERT_SUCCESS, MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR, MessageConstant.MESSAGE_ALERT_ERROR,
bTermService.getSchoolWeek()); bTermService.getSchoolWeek(termCode));
} }
} }
...@@ -66,8 +66,8 @@ public interface BTermRepository extends BaseMapper<BTerm> { ...@@ -66,8 +66,8 @@ public interface BTermRepository extends BaseMapper<BTerm> {
int insertList(List<BTeacher> bTeachers); int insertList(List<BTeacher> bTeachers);
*/ */
@Select("select * from b_term where current = 1") @Select("select * from b_term where code = #{termCode}")
@ResultMap(value = "BaseResultMap" ) @ResultMap(value = "BaseResultMap" )
BTerm queryCurrentTerm(); BTerm queryCurrentTerm(String termCode);
} }
...@@ -7,6 +7,7 @@ import org.rcisoft.core.model.PersistModel; ...@@ -7,6 +7,7 @@ import org.rcisoft.core.model.PersistModel;
import org.rcisoft.core.model.SelectModel; import org.rcisoft.core.model.SelectModel;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* Created by CodeGenerator on 2017/07/12. * Created by CodeGenerator on 2017/07/12.
...@@ -59,5 +60,5 @@ public interface BTermService{ ...@@ -59,5 +60,5 @@ public interface BTermService{
PersistModel changeCurrent(String id); PersistModel changeCurrent(String id);
List<String> getSchoolWeek(); Map<String,Object> getSchoolWeek(String termCode);
} }
...@@ -18,7 +18,6 @@ import org.springframework.stereotype.Service; ...@@ -18,7 +18,6 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
...@@ -141,11 +140,14 @@ public class BTermServiceImpl implements BTermService { ...@@ -141,11 +140,14 @@ public class BTermServiceImpl implements BTermService {
} }
@Override @Override
public List<String> getSchoolWeek(){ public Map<String, Object> getSchoolWeek(String termCode){
BTerm bTerm = bTermRepository.queryCurrentTerm(); Map<String,Object> map = new HashMap<>();
BTerm bTerm = bTermRepository.queryCurrentTerm(termCode);
List<String> list = new ArrayList<>(); List<String> list = new ArrayList<>();
list = Week.buildList(bTerm.getStartDate(),bTerm.getEndDate()); list = Week.buildList(bTerm.getStartDate(),bTerm.getEndDate());
return list; map.put("weekList",list);
map.put("termName",bTerm.getName());
return map;
} }
} }
...@@ -11,8 +11,8 @@ server: ...@@ -11,8 +11,8 @@ server:
# org.springframework.web: DEBUG # org.springframework.web: DEBUG
druid: druid:
# url: jdbc:mysql://192.168.1.125:13318/new_edu_db?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false url: jdbc:mysql://192.168.1.125:13318/new_edu_db?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
url: jdbc:mysql://127.0.0.1:3306/new_edu_db?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false # url: jdbc:mysql://127.0.0.1:3306/new_edu_db?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
username: root username: root
password: 123456 password: 123456
......
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