Commit 8e64dd64 authored by YangZhaoJun1's avatar YangZhaoJun1

开课

parent 4c3c1f0b
......@@ -57,3 +57,6 @@ ALTER TABLE `s_user`
ALTER TABLE `s_user`
MODIFY COLUMN `sex` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '性别(0:男,1:女)' AFTER `phone`;
/*学期表新建max_sl_code字段,排课转为开课时按照“学期+当前开课序号最大值”定义sl表的code字段*/
ALTER TABLE `b_term`
ADD COLUMN `max_sl_code` int(8) NULL DEFAULT 0 COMMENT '当前开课序号最大值' AFTER `current`;
......@@ -99,4 +99,16 @@ public class BArrangeController extends PaginationController<BArrange> {
MessageConstant.MESSAGE_ALERT_ERROR,
bArrangeServiceImpl.queryDtoByMany(agencyCode, name, termCode,teacherCode));
}
@ApiOperation(value="排课审核通过后的开课接口", notes="排课审核通过后的开课接口")
@GetMapping(value = "/changeArrangeToSl")
public Result changeArrangeToSl(String businessId,String subTaskId,String termCode) {
int data = bArrangeServiceImpl.changeArrangeToSl(businessId,subTaskId,termCode);
return Result.builder(new PersistModel(data),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
businessId);
}
}
......@@ -38,4 +38,6 @@ public interface BArrangeService {
List<ScheduleDto> queryDtoByMany(String agencyCode,String name,String termCode,String teacherCode);
int changeArrangeToSl(String businessId, String subTaskId ,String termCode);
}
......@@ -11,9 +11,15 @@ import org.rcisoft.business.barrange.entity.BArrange;
import org.rcisoft.business.barrange.entity.BSubtask;
import org.rcisoft.business.barrange.entity.ScheduleDto;
import org.rcisoft.business.barrange.service.BArrangeService;
import org.rcisoft.business.bchapter.service.BChapterService;
import org.rcisoft.business.bclass.dao.BClassRepository;
import org.rcisoft.business.blesson.dao.BLessonRepository;
import org.rcisoft.business.brooms.dao.BRoomsRepository;
import org.rcisoft.business.bsl.dao.BSlRepository;
import org.rcisoft.business.bsl.entity.BSl;
import org.rcisoft.business.bsl.service.BSlService;
import org.rcisoft.business.bsl.service.impl.BSlServiceImpl;
import org.rcisoft.business.bterm.dao.BTermRepository;
import org.rcisoft.core.exception.ServiceException;
import org.rcisoft.core.model.PersistModel;
import org.rcisoft.core.result.ResultServiceEnums;
......@@ -28,7 +34,9 @@ import org.springframework.transaction.annotation.Transactional;
import springfox.documentation.spring.web.json.Json;
import javax.security.auth.Subject;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
......@@ -42,6 +50,15 @@ public class BArrangeServiceImpl implements BArrangeService {
@Autowired
private BArrangeRepository bArrangeRepository;
@Autowired
private BTermRepository bTermRepository;
@Autowired
private BSlRepository bSlRepository;
@Autowired
private BChapterService chapterService;
@Autowired
private BLessonRepository bLessonRepository;
......@@ -56,6 +73,8 @@ public class BArrangeServiceImpl implements BArrangeService {
/**
* 保存 bArrange
* @param json
......@@ -228,4 +247,38 @@ public class BArrangeServiceImpl implements BArrangeService {
public List<ScheduleDto> queryDtoByMany(String agencyCode,String name,String termCode,String teacherCode) {
return bArrangeRepository.queryDtoByAgencyMany(agencyCode,name,termCode,teacherCode);
}
@Override
public int changeArrangeToSl(String businessId, String subTaskId ,String termCode) {
int result = 0;
List<String> subTaskStatus = new ArrayList<>();//bArrangeRepository.querySubTaskStatus();
if(subTaskStatus.size()>1||subTaskStatus.get(0).equals("0")||subTaskStatus.get(0).equals("1")){
//当前子任务下有教学单位未完成审核,不能进行开课
throw new ServiceException(ResultServiceEnums.AGENCY_NOT_PASS);
}
List<String> agencyCodes = new ArrayList<>();//bArrangeRepository.queryAgencyCode(subTaskId);
List<BSl> sls = new ArrayList<>();
if(agencyCodes.size()>0){
for(String agencyCode : agencyCodes){
List<ScheduleDto> schedules = bArrangeRepository.queryDtoByAgencyCode(agencyCode);
for(ScheduleDto schedule : schedules){
BSl sl = new BSl();
sl.setLessonCode(schedule.getLessonCode());
sl.setTeacherCode(schedule.getTeacherCode());
sl.setTermCode(termCode);
//学期编号+学期中存放的开课序号最大值+1作为新的开课序号
sl.setCode(termCode+String.valueOf(bTermRepository.queryMaxSlCodeByTermCode(termCode)+1));
sl.setAuditStatus("0");
UserUtil.setCurrentPersistOperation(sl);
sls.add(sl);
bTermRepository.MaxSlCodeByTermCode(termCode);//将该学期的开课序号最大值+1
//复制章节及文件目录
chapterService.addBslFormLesson(null,sl.getLessonCode(), sl.getBusinessId());
}
result =bSlRepository.insertList(sls);
}
}
return result;
}
}
......@@ -37,12 +37,12 @@ public interface BTermRepository extends BaseMapper<BTerm> {
List<BTerm> queryBtermByCode(String code);
@Select("<script>select * from b_term " +
"where del_flag != 1 and flag = 1 and is_start = 1 " +
"where del_flag != 1 and flag = 1 " +
"and (#{nowTime} BETWEEN start_date AND end_date) " +
"UNION " +
"select * from b_term " +
"where del_flag != 1 and flag = 1 and is_start = 1" +
"</script>")
"where del_flag != 1 and flag = 1 and is_start = 1 " +
"order by current desc</script>")
@ResultMap(value = "BaseResultMap" )
List<BTerm> queryBTermList(String nowTime);
......@@ -52,6 +52,12 @@ public interface BTermRepository extends BaseMapper<BTerm> {
@Update("<script>update b_term set current = '1' where business_id = #{id}</script>")
int changeCurrent(String id);
@Select("select max_sl_code from b_term where code = #{termCode}")
int queryMaxSlCodeByTermCode(String termCode);
@Update("update b_term set max_sl_code = max_sl_code+1 where code = #{termCode} ")
int MaxSlCodeByTermCode(String termCode);
/*
这里可以不写,因为这个写的是 导入excel文件格式的时候的 插入,不是正常单个插入
......
......@@ -48,6 +48,9 @@ public class BTerm extends IdEntity<BTerm> {
@Length(min = 1,max = 50,message = "长度最小为1,最大为50")
private String name;
/*是否是当前学期*/
private String current;
}
......@@ -158,7 +158,9 @@ public enum ResultServiceEnums {
NEXT_NOT_DISABLED (85,"停用失败,在此之后存在未停用的课程节点"),
CODE_IS_EXISTS (86,"编号重复")
CODE_IS_EXISTS (86,"编号重复"),
AGENCY_NOT_PASS (87,"有教学单位未完成审核,不能进行开课")
;
......
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