Commit 17bfb0b9 authored by YangZhaoJun1's avatar YangZhaoJun1

解决bug

parent 8641a120
......@@ -116,7 +116,7 @@ public class BAgencyServiceImpl implements BAgencyService {
List<BAgency> teacherAgency = bAgencyRepository.queryTeacherAgency(bAgency.getBusinessId());
List<BAgency> companyAgency = bAgencyRepository.queryCompanyAgency(bAgency.getBusinessId());
if(teacherAgency.size()>0||companyAgency.size()>0){
throw new ServiceException(ResultServiceEnums.AGENCY_IS_USED);
throw new ServiceException(ResultServiceEnums.DATA_HAS_USED);
}
UserUtil.setCurrentMergeOperation(bAgency);
bAgency.setDeleted();
......
......@@ -152,5 +152,17 @@ public interface BArrangeRepository extends BaseMapper<BArrange> {
@Select("select count(*) from b_schedule_dto where room_code = ( select `code` from b_rooms where business_id = #{businessId})")
int countThisRoomNum(String businessId);
@Select("<script>select b_schedule_dto.*,b_edu_class.class_name,b_lesson.lesson_name,b_rooms.classroom_name,s_user.`name` as teacher_name from b_schedule_dto " +
"LEFT JOIN b_edu_class on b_edu_class.`code` = b_schedule_dto.class_code " +
"LEFT JOIN b_lesson on b_lesson.`code` = b_schedule_dto.lesson_code " +
"LEFT JOIN b_rooms on b_rooms.`code` = b_schedule_dto.room_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` " +
"where sub_agency_id = #{subAgencyId} " +
"GROUP BY lesson_code,teacher_code,class_code " +
"</script>")
@ResultMap(value = "scheduleDtoResultMap")
List<ScheduleDto> queryLessonsBySubAgencyId(String subAgencyId);
}
......@@ -14,7 +14,7 @@ public interface BSubtaskRepository extends BaseMapper<BSubtask> {
// @Select("SELECT DISTINCT(`status`) from b_subtask\n" +
// "where arrange_id = \n" +
// "(SELECT arrange_id FROM b_subtask where business_id = #{subTaskId})")
@Select("SELECT DISTINCT('status') from b_subtask where arrange_id = #{0}")
@Select("SELECT DISTINCT(status) from b_subtask where arrange_id = #{0}")
List<String> querySubTaskStatusById(String arrangeId);
@Select("SELECT arrange_id FROM b_subtask where business_id = #{subTaskId}")
......
......@@ -453,6 +453,7 @@ public class BArrangeServiceImpl implements BArrangeService {
return new PersistModel(resultFlag, result);
}
@Transactional(propagation = Propagation.REQUIRED,readOnly = false)
@Override
public PersistModel importExcel2(HSSFWorkbook hwb, String token, String subAgencyId) {
String termCode = bArrangeRepository.selectTermCodeByBSubtaskId(subAgencyId);
......@@ -676,6 +677,7 @@ public class BArrangeServiceImpl implements BArrangeService {
return bArrangeRepository.queryDtoByAgencyMany(agencyCode,name,termCode,teacherCode);
}
@Transactional(propagation = Propagation.REQUIRED,readOnly = false)
@Override
public int changeArrangeToSl(String businessId, String subTaskId ,String termCode) {
int result = 0;
......@@ -695,7 +697,7 @@ public class BArrangeServiceImpl implements BArrangeService {
int maxSlCode = bTermRepository.queryMaxSlCodeByTermCode(termCode);
for(String subAgencyId : subAgencyIds){
//查询要开的课
List<ScheduleDto> schedules = bArrangeRepository.queryDtoBySubAgencyId(subAgencyId);
List<ScheduleDto> schedules = bArrangeRepository.queryLessonsBySubAgencyId(subAgencyId);
for(ScheduleDto schedule : schedules){
BSl sl = new BSl();
//根据lessonCode查询课程信息
......
......@@ -52,7 +52,8 @@ public interface BClassRepository extends BaseMapper<BClass> {
int insertBusinessClassList(List<BClass> bClasses);
@Select("<script>select * from b_class where del_flag != 1 and flag = 1 " +
"<if test=\"type!=null and type!=''\">and type = #{type}</if></script>")
"<if test=\"type!=null and type!=''\">and type = #{type} </if>" +
"order by create_date desc</script>")
@ResultMap(value = "BaseResultMap" )
List<BClass> queryBClassList(@Param("type") String type);
......@@ -61,5 +62,10 @@ public interface BClassRepository extends BaseMapper<BClass> {
@Select("select * from b_grade where code = #{gradeCode} and del_flag = 0 and flag = 1")
List<BClass> checkGrade(BClass bClass);
@Select("<script>select * from b_class where " +
"class_name = #{className} and business_id != #{businessId}</script>")
@ResultMap(value = "BaseResultMap" )
List<BClass> selectClassesByName(BClass bClass);
}
......@@ -60,8 +60,8 @@ public class BClass extends IdEntity<BClass> {
this.code = code;
}
public BClass(String code, String className) {
this.code = code;
public BClass(String businessId, String className) {
this.businessId = businessId;
this.className = className;
}
}
......
......@@ -62,16 +62,17 @@ public class BClassServiceImpl implements BClassService {
@Override
public PersistModel persist(BClass model, String token){
int line = 0;
if (bClassRepository.selectOne(new BClass(null,model.getClassName())) != null)
throw new ServiceException(ResultServiceEnums.NAME_IS_EXISTS);
if(model.getBusinessId()==null) {
if (bClassRepository.selectOne(new BClass(model.getCode(),null)) != null)
if (bClassRepository.selectOne(new BClass(model.getCode())) != null)
throw new ServiceException(ResultServiceEnums.CODE_IS_EXISTS);
UserUtil.setCurrentPersistOperation(model);
line = bClassRepository.insertSelective(model);
}else
}else {
if (bClassRepository.selectClassesByName(new BClass(model.getBusinessId(),model.getClassName())).size()>0)
throw new ServiceException(ResultServiceEnums.NAME_IS_EXISTS);
UserUtil.setCurrentMergeOperation(model);
line = bClassRepository.updateByPrimaryKeySelective(model);
}
return new PersistModel(line);
}
......
......@@ -52,10 +52,10 @@ public class BOpinionServiceImpl implements BOpinionService{
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
@Override
public PersistModel auditPass(String subAgencyId) {
//根据subTaskId查询
//修改subAgency状态为通过
int line = bOpinionRepository.changeSubtaskStatus(subAgencyId);
//获得子任务id
//获得子任务subTaskId
String subTaskId = bSubAgencyRepository.querySubTaskIdBySubAgencyId(subAgencyId);
......
......@@ -54,5 +54,15 @@ public interface BSlScheduleRepository extends BaseMapper<BSlSchedule> {
@Select("select count(*) from b_sl_schedule where room_code = ( select `code` from b_rooms where business_id = #{businessId})")
int countThisRoomNum(String businessId);
@Select("select count(*) from b_sl_schedule bs" +
"left join b_teacher bt on bs.tea_code = bt.code " +
"where bt.business_id = #{id}")
int querySlScheduleByTeaCode(String id);
@Select("select count(*) from b_schedule_dto bs" +
"left join b_teacher bt on bs.teacher_code = bt.code " +
"where bt.business_id = #{id}")
int querySlScheduleDtoByTeaCode(String id);
}
......@@ -276,8 +276,6 @@ public class BStudentServiceImpl implements BStudentService {
bStudent.setBusinessId(id);
BStudent student = bStudentRepository.selectOne(bStudent);
sysUserMapper.deleteByCode(student.getCode());
bStudent.setDeleted();
UserUtil.setCurrentMergeOperation(bStudent);
int line = bStudentRepository.deleteByPrimaryKey(bStudent);
brClassStudentRepository.deleteCSByStuId(student.getCode());
......
......@@ -4,6 +4,8 @@ import com.alibaba.druid.util.StringUtils;
import com.alibaba.fastjson.JSON;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.rcisoft.business.bsl.dao.BSlRepository;
import org.rcisoft.business.bslschedule.dao.BSlScheduleRepository;
import org.rcisoft.business.bslschedule.entity.BSlSchedule;
import org.rcisoft.business.bteacher.dao.BTeacherRepository;
import org.rcisoft.business.bteacher.entity.BTeacher;
import org.rcisoft.business.bteacher.service.BTeacherService;
......@@ -58,6 +60,8 @@ public class BTeacherServiceImpl implements BTeacherService {
private BSlRepository bSlRepository;
@Autowired
private PasswordEncoder passwordEncoder;
@Autowired
private BSlScheduleRepository bSlScheduleRepository;
@Override
public BTeacher selectOne(String businessId) {
......@@ -215,13 +219,14 @@ public class BTeacherServiceImpl implements BTeacherService {
@Override
@Transactional(propagation = Propagation.REQUIRED,readOnly = false)
public PersistModel removeBTeacher(String id) {
if(bSlRepository.selectSlNumByStuent(id)>0) {
if(bSlRepository.selectSlNumByStuent(id)>0 ||
bSlScheduleRepository.querySlScheduleByTeaCode(id)>0 ||
bSlScheduleRepository.querySlScheduleDtoByTeaCode(id)>0) {
throw new ServiceException(ResultServiceEnums.DATA_HAS_USED);
}
BTeacher bTeacher = new BTeacher();
bTeacher.setBusinessId(id);
BTeacher teacher = bTeacherRepository.selectOne(bTeacher);
UserUtil.setCurrentMergeOperation(bTeacher);
sysUserMapper.deleteByCode(teacher.getCode());
// bTeacher.setDeleted();
int line = bTeacherRepository.deleteByPrimaryKey(bTeacher);
......
......@@ -133,9 +133,12 @@ public class BTermController extends PaginationController<BTerm> {
@ApiOperation(value="查询学期列表", notes="查询学期列表赋值在下拉框中")
@ApiImplicitParams({@ApiImplicitParam(name = "current", value = "是否将当前学期排在最前 0否1是", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "hideCurrent", value = "是否隐藏当前学期 0否1是", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "arrange", value = "是否是排课任务的下拉 0否1是", required = false, dataType = "varchar")})
@GetMapping(value = "/queryBTermList")
public Result queryBTermList() {
List<SelectModel> bTerm = bTermService.queryBTermList();
public Result queryBTermList(String current, String arrange, String hideCurrent) {
List<SelectModel> bTerm = bTermService.queryBTermList(current,arrange,hideCurrent);
return Result.builder(new PersistModel(1),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
......
......@@ -4,6 +4,7 @@ package org.rcisoft.business.bterm.dao;
import org.apache.ibatis.annotations.*;
import org.rcisoft.business.bterm.entity.BTerm;
import org.rcisoft.core.base.BaseMapper;
import org.springframework.security.access.method.P;
import org.springframework.stereotype.Repository;
import java.text.DateFormat;
......@@ -35,13 +36,12 @@ public interface BTermRepository extends BaseMapper<BTerm> {
@Select("<script>select * from b_term " +
"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 " +
"order by current desc,start_date DESC</script>")
"<if test=\"hideCurrent !=null and hideCurrent = '1' \">and current != '1' </if>" +
"order by " +
"<if test=\"current !=null and current = '1' \">current desc, </if>" +
"start_date DESC</script>")
@ResultMap(value = "BaseResultMap" )
List<BTerm> queryBTermList(String nowTime);
List<BTerm> queryBTermList(@Param("current") String current, @Param("hideCurrent") String hideCurrent);
@Update("<script>update b_term set current = '0'</script>")
int changeAllTermNotCurrent();
......@@ -77,5 +77,12 @@ public interface BTermRepository extends BaseMapper<BTerm> {
"OR (end_date BETWEEN #{startDate} AND #{endDate})")
@ResultMap(value = "BaseResultMap" )
List<BTerm> queryBTermsByStartDateOrEndDate(BTerm model);
@Select("<script>SELECT * FROM b_term bt \n" +
"LEFT JOIN b_arrange ba ON bt.`code` = ba.term_code WHERE ba.term_code is NULL " +
"<if test=\"hideCurrent !=null and hideCurrent = '1' \">and bt.current != '1' </if>" +
"<if test=\"current !=null and current = '1' \">order by bt.current desc </if></script>")
@ResultMap(value = "BaseResultMap" )
List<BTerm> queryTermNotInArrange(@Param("current") String current, @Param("hideCurrent") String hideCurrent);
}
......@@ -56,7 +56,7 @@ public interface BTermService{
*/
PersistModel changeIS(String code, String token);
List<SelectModel> queryBTermList();
List<SelectModel> queryBTermList(String current, String arrange, String hideCurrent);
PersistModel changeCurrent(String code);
......
......@@ -126,11 +126,21 @@ public class BTermServiceImpl implements BTermService {
}
}
/**
*
* @param current 是否将当前学期放在最上面
* @param arrange 是否是新建排课任务的学期下拉列表
* @return
*/
@Override
public List<SelectModel> queryBTermList() {
Date date = new Date();
String nowTime = new SimpleDateFormat("yyyy-MM-dd").format(date);
List<BTerm> bTerm = bTermRepository.queryBTermList(nowTime);
public List<SelectModel> queryBTermList(String current, String arrange, String hideCurrent) {
List<BTerm> bTerm;
if(arrange!=null&&arrange.equals("1")){
bTerm = bTermRepository.queryTermNotInArrange(current,hideCurrent);
}else{
bTerm = bTermRepository.queryBTermList(current,hideCurrent);
}
ArrayList<SelectModel> comBoxModel = new ArrayList<SelectModel>();
for(BTerm c : bTerm){
SelectModel selectModel = new SelectModel();
......
......@@ -94,7 +94,7 @@ public class MvcConfig extends WebMvcConfigurerAdapter {
} else if (e instanceof AuthenticationException) {
if (e instanceof BadCredentialsException) {
//密码错误
result.setCode(ResultCode.UNAUTHORIZED).setMessage(e.getMessage());
result.setCode(ResultCode.UNAUTHORIZED).setMessage("用户名或密码错误");
} else if (e instanceof DisabledException){
//用户已停用
result.setCode(ResultCode.UNAUTHORIZED).setMessage("用户已停用");
......
......@@ -186,7 +186,7 @@ public enum ResultServiceEnums {
NAME_IS_EXISTS(99,"名称重复"),
DATA_HAS_USED(100,"当前数据被使用,不可删除"),
DATA_HAS_USED(100,"数据使用中,不可删除"),
CAN_NOT_OVERLAP(101,"时间区间不可重叠"),
;
......
......@@ -45,7 +45,7 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
@Select("SELECT u.business_id from s_user u left join ${tab} s on u.login_name = s.code where s.business_id = #{id} and u.del_flag = 0")
String selectUserIdByStuOrTeaId(@Param("id") String id, @Param("tab") String table);
@Update("update s_user set del_flag = 1 where login_name = #{code}")
@Delete("delete from s_user where login_name = #{code}")
int deleteByCode(String code);
/**
......
......@@ -32,6 +32,7 @@
<if test="type!=null and type != ''">
AND b.type = #{type}
</if>
order by create_date desc
</select>
<select id="updateStudentNum" statementType="CALLABLE">
......
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