Commit 293e86cf authored by hanshuai's avatar hanshuai

Merge branch 'V2.0.3' of ssh://103.249.252.28:10022/lcy/education

# Conflicts:
#	src/main/java/org/rcisoft/core/result/ResultServiceEnums.java
#	src/main/java/org/rcisoft/sys/user/dao/SysUserMapper.java
parents 7d65f99c 7145ef70
-- 删除所有的排课信息
delete from b_arrange where 1=1;
delete from b_opinion where 1=1;
delete from b_schedule_dto where 1=1;
delete from b_sl where 1=1;
delete from b_sl_schedule where 1=1;
delete from b_subtask where 1=1;
delete from b_sub_agency where 1=1;
delete from b_term where 1=1;
-- 删除公司信息
delete from b_agency where 1=1;
-- 删除教学班
delete from b_edu_class where 1=1;
-- 删除课程
delete from b_lesson where 1=1;
delete from b_lesson_direction where 1=1;
delete from b_direction where 1=1;
-- 删除教室
delete from b_rooms where 1=1;
-- 删除用户
delete from s_user where 1=1;
delete from b_teacher where 1=1;
-- 删除角色
delete from s_role where 1=1;
delete from s_r_user_role where 1=1;
......@@ -233,7 +233,6 @@ public class BArrangeServiceImpl implements BArrangeService {
@Transactional(propagation = Propagation.REQUIRED,readOnly = false)
@Override
public PersistModel importExcel(HSSFWorkbook hwb, String token , String subAgencyId) {
//先将原来的excel数据删除
ArrayList<ScheduleDto> scheduleDtos = new ArrayList<ScheduleDto>();
Boolean contanSunday = ExcelUtil.containSunday(hwb);
......@@ -617,7 +616,7 @@ public class BArrangeServiceImpl implements BArrangeService {
String slCode = "";
for(int i=1;i<99999;i++){
slCode = termCode+String.valueOf(maxSlCode+i);
if(bSlRepository.selectOne(new BSl(slCode,"0","1"))==null)
if(bSlRepository.selectOne(new BSl(slCode))==null)
maxSlCode = maxSlCode + i;
break;
}
......@@ -725,9 +724,6 @@ public class BArrangeServiceImpl implements BArrangeService {
return list;
}
// public boolean validateData(String[] value,boolean contanSunday){
//
// }
/**
* 删除排课
......
......@@ -141,7 +141,7 @@ public class BClassController extends PaginationController<BClass> {
@ApiImplicitParam(name = "code", value = "班级编号", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "className", value = "班级名称", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "studentNum", value = "学生数量", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "remarks", value = "备注", required = false, dataType = "varchar")})
@ApiImplicitParam(name = "type", value = "班级类型 0行政班,1企业班", required = true, dataType = "varchar")})
@GetMapping(value = "/queryBClasss")
public Result queryBClasss(BClass param) {
param.setCreateBy(UserUtil.getUserInfoProp(getToken(),UserUtil.USER_ID));
......
......@@ -72,7 +72,8 @@ public class BCompanyController extends PaginationController<BCompany> {
@ApiOperation(value="根据条件分页查询", notes="根据条件分页查询公司用户信息")
@ApiImplicitParams({@ApiImplicitParam(name = "businessId", value = "businessId", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "code", value = "登录名", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "name", value = "姓名", required = false, dataType = "varchar")})
@ApiImplicitParam(name = "name", value = "姓名", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "agencyCode", value = "教学单位Code", required = false, dataType = "varchar")})
@GetMapping(value = "/queryCompanysByPagination")
public GridModel queryCompanysByPagination(BCompany param) {
bCompanyService.queryCompanysByPagination(getPaginationUtility(),param);
......
......@@ -25,7 +25,8 @@ public interface BCompanyRepository extends BaseMapper<BCompany>{
"LEFT JOIN s_role sr on ur.role_id = sr.business_id\n" +
"where bc.del_flag != 1 and su.del_flag != 1 "+
"<if test=\"name!=null and name != ''\">and su.`name` like CONCAT('%',#{name},'%') </if>"+
"<if test=\"code!=null and code != ''\">and bc.`code` like CONCAT('%',#{code},'%') </if></script>")
"<if test=\"code!=null and code != ''\">and bc.`code` like CONCAT('%',#{code},'%') </if>" +
"<if test=\"agencyCode !=null and agencyCode != '' \">and bc.agency_code = #{agencyCode} </if></script>")
@ResultMap(value = "BaseResultMap" )
List<BCompany> queryCompanys(BCompany param);
......
......@@ -44,7 +44,7 @@ public class BCompanyServiceImpl implements BCompanyService{
int line = 0;
BeanUtils.copyProperties((DataEntity) model, (DataEntity) user);
if (model.getBusinessId() == null) { //添加
if (sysUserMapper.selectOne(new SysUser(model.getCode(),"0","1")) != null)
if (sysUserMapper.selectOne(new SysUser(model.getCode())) != null)
throw new ServiceException(ResultServiceEnums.COMPANY_EXISTS);
//1. 添加s_user
......
......@@ -104,7 +104,7 @@ public class BRSlStudentServiceImpl implements BRSlStudentService {
if(value[0]==null||value[0].equals("")||value[1]==null||value[1].equals("")){
continue;
}
if((bSl = bSlRepository.selectOne(new BSl(value[0],"0","1")))==null) {
if((bSl = bSlRepository.selectOne(new BSl(value[0])))==null) {
if(!slCode.contains(value[0]))
slCode.add(value[0]);
continue;
......
......@@ -31,10 +31,8 @@ public class BSl extends IdEntity<BSl> {
this.termCode = termCode;
}
public BSl(String code, String delFlag, String flag) {
public BSl(String code) {
this.code = code;
this.delFlag = delFlag;
this.flag = flag;
}
@Length(min = 1,max = 64,message = "长度最小为1,最大为50")
@NotBlank
......
......@@ -118,7 +118,7 @@ public class BSlServiceImpl implements BSlService {
throw new ServiceException(ResultServiceEnums.LESSON_NOT_EXISTA);
model.setSlCoverUrl(bLesson.getDefaultUrl());
if(bSlRepository.selectOne(new BSl(model.getCode(),"0","1"))!=null)
if(bSlRepository.selectOne(new BSl(model.getCode()))!=null)
throw new ServiceException(ResultServiceEnums.SL_EXISTS);
//3. 封装git lab
/*User user = userRepository.selectOne(new User(model.getTeacherCode()));
......@@ -171,7 +171,7 @@ public class BSlServiceImpl implements BSlService {
if(value.length>=4) {
//1. 检查数据正确性
BSl bSl = null;
BSl b = new BSl(value[0],"0","1");
BSl b = new BSl(value[0]);
/*BSl bSl1 = new BSl();
bSl1.setTermCode(value[3]);
bSl1.setTeacherCode(value[2]);
......
......@@ -108,7 +108,7 @@ public class BSlApplyServiceImpl implements BSlApplyService {
@Override
@Transactional(propagation = Propagation.REQUIRED,readOnly = false)
public void agreeApply(ApplyDTO applyDTO,String token) throws UnsupportedEncodingException {
if(bSlRepository.selectOne(new BSl(applyDTO.getSlCode(),"0","1"))!=null)
if(bSlRepository.selectOne(new BSl(applyDTO.getSlCode()))!=null)
throw new ServiceException(ResultServiceEnums.SL_EXISTS);
if(bLessonRepository.selectOne(new BLesson(applyDTO.getCourseCode()))!=null)
throw new ServiceException(ResultServiceEnums.LESSON_EXISTS);
......
......@@ -83,7 +83,7 @@ public class BStudentServiceImpl implements BStudentService {
int line = 0;
BeanUtils.copyProperties((DataEntity) model, (DataEntity) user);
if (model.getBusinessId() == null) { //添加
if (sysUserMapper.selectOne(new SysUser(model.getCode(),"0","1")) != null)
if (sysUserMapper.selectOne(new SysUser(model.getCode())) != null)
throw new ServiceException(ResultServiceEnums.STUDENT_EXISTS);
/*SysUser user1 = new SysUser();
user1.setEmail(model.getEmail());
......@@ -153,8 +153,6 @@ public class BStudentServiceImpl implements BStudentService {
//判断2:MySQL数据库中是否存在该用户;
SysUser user1 =new SysUser();
user1.setLoginName(value[0]);
user1.setDelFlag("0");
user1.setFlag("1");
if (sysUserMapper.selectOne(user1) != null) {
//该用户已存在,记入codeRepeat中
valuesRepeat.add(value[0]);
......
......@@ -108,8 +108,6 @@ public class BTeacherServiceImpl implements BTeacherService {
//判断2:MySQL数据库中是否存在该用户;
SysUser user1 =new SysUser();
user1.setLoginName(value[0]);
user1.setDelFlag("0");
user1.setFlag("1");
if (sysUserMapper.selectOne(user1) != null) {
//该用户已存在,记入codeRepeat中
valuesRepeat.add(value[0]);
......@@ -236,9 +234,9 @@ public class BTeacherServiceImpl implements BTeacherService {
int line = 0;
BeanUtils.copyProperties((DataEntity) model, (DataEntity) user);
if (model.getBusinessId() == null) {
if (sysUserMapper.selectOne(new SysUser(model.getCode(),"0","1")) != null)
if (sysUserMapper.selectOne(new SysUser(model.getCode())) != null)
{throw new ServiceException(ResultServiceEnums.TEACHER_EXISTS);}
SysUser user1 = new SysUser();
/*SysUser user1 = new SysUser();
user1.setEmail(model.getEmail());
user1.setDelFlag("0");
user1.setFlag("1");
......@@ -246,7 +244,7 @@ public class BTeacherServiceImpl implements BTeacherService {
if (sysUserMapper.selectOne(user1) != null) {
throw new ServiceException(ResultServiceEnums.EMAIL_EXISTS);
}
}
}*/
//1添加用户
user.setHeadPic(global.getDEFAULT_TEACHER_LOCATION());
UserUtil.setCurrentPersistOperation(user);
......
......@@ -52,5 +52,8 @@ public class BTerm extends IdEntity<BTerm> {
private String current;
private String week;
private Integer maxSlCode;
}
......@@ -76,6 +76,11 @@ public class BTermServiceImpl implements BTermService {
if(bSlRepository.selectslNumByTermId(id)>0) {
throw new ServiceException(ResultServiceEnums.TERM_HAS_SL);
}
//验证是否是当前学期
BTerm bTerm = bTermRepository.selectByPrimaryKey(id);
if(bTerm.getCurrent().equals("1")){
throw new ServiceException(ResultServiceEnums.CURRENT_TERM);
}
int line = bTermRepository.deleteByPrimaryKey(id);
return new PersistModel(line, MessageConstant.MESSAGE_ALERT_SUCCESS);
}
......
......@@ -176,6 +176,9 @@ public enum ResultServiceEnums {
STARTDATE_EQUAL_ENDDATE(94,"开始时间等于结束时间"),
ROLE_HAS_USER(95,"仍然有绑定此角色的用户,不可删除此角色"),
CURRENT_TERM(96,"当前学期不可删除"),
;
private Integer code;
......
......@@ -31,7 +31,7 @@ public class ExcelDownloadController {
private static final String SL_FILE_NAME = "sl.xls";
private static final String ROOM_FILE_NAME = "room.xls";
private static final String BUSINESS_CLASS = "business-class.xls";
private static final String IMPORT_DTO = "import-dto.xls";
private static final String IMPORT_DTO = "schedule-task.xls";
@Autowired
private Global global;
......
......@@ -32,9 +32,11 @@ public interface SysRoleRepository extends BaseMapper<SysRole> {
+ " <if test=\"roleName !=null and roleName != ''\">and role_name = #{roleName} </if> "
+ " order by create_date desc"
+ "</script>")
@ResultMap(value = "BaseResultMap" )
@ResultMap(value = "SelectAllAndUserNum" )
List<SysRole> queryRoles(SysRole sysRole);
//获得此角色的用户数
int countUserNum(String roleId);
@Select("<script>select * from s_role where "
+ "DEL_FLAG='0' "
......
......@@ -8,6 +8,7 @@ import org.hibernate.validator.constraints.NotBlank;
import org.rcisoft.core.entity.IdEntity;
import javax.persistence.Table;
import javax.persistence.Transient;
/**
* Created by gaowenfeng on 2017/8/9.
......@@ -24,4 +25,7 @@ public class SysRole extends IdEntity<SysRole> {
@Length(min = 1,max = 64,message = "长度最小为1,最大为50")
@NotBlank
private String code;
@Transient
private int userNum;
}
......@@ -13,6 +13,7 @@ import org.rcisoft.sys.dept.entity.DeptRole;
import org.rcisoft.sys.role.dao.SysRoleRepository;
import org.rcisoft.sys.role.entity.SysRole;
import org.rcisoft.sys.role.service.SysRoleService;
import org.rcisoft.sys.user.dao.SysUserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
......@@ -35,6 +36,8 @@ public class SysRoleServiceImpl implements SysRoleService {
@Autowired
private SysRoleRepository sysRoleRepository;
@Autowired
private SysUserMapper sysUserMapper;
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
@Override
......@@ -62,6 +65,12 @@ public class SysRoleServiceImpl implements SysRoleService {
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
@Override
public int removeRole(String id,String token) {
//获得当前是此角色的人数
int userCount = sysUserMapper.countUserByRole(id);
//如果仍然有用户是此角色,则该角色不可删除
if(userCount > 0){
throw new ServiceException(ResultServiceEnums.ROLE_HAS_USER);
}else{
//删除该角色所有的关联信息
sysRoleRepository.deleteRoleMenuByRoleId(id);
sysRoleRepository.deleteUserRoleByRoleId(id);
......@@ -73,6 +82,7 @@ public class SysRoleServiceImpl implements SysRoleService {
log.info(UserUtil.getUserInfoProp(token,UserUtil.USER_USERNAME)+"删除了ID为"+ sysRole.getBusinessId()+"的角色信息");
return line;
}
}
@Override
public List<SysRole> queryRolesByPagination(PageUtil pageUtil, SysRole sysRole) {
......
......@@ -3,8 +3,6 @@ package org.rcisoft.sys.user.dao;
import org.apache.ibatis.annotations.*;
import org.rcisoft.business.bagency.entity.BAgency;
import org.rcisoft.business.bcompany.entity.BCompany;
import org.rcisoft.business.bteacher.entity.BTeacher;
import org.rcisoft.core.base.BaseMapper;
import org.rcisoft.sys.user.entity.SysUser;
import org.rcisoft.sys.user.entity.UserRole;
......@@ -98,6 +96,9 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
@Select("select business_id from s_user where login_name = #{0} and del_flag = 0")
String selectByLoginName(String loginName);
@Select("select count(*) from s_r_user_role where role_id = #{roleId} ")
int countUserByRole(String roleId);
List<SysUser> selectByTeacherCode(List<BTeacher> teacherList);
......
......@@ -66,10 +66,8 @@ public class SysUser extends IdEntity<SysUser> {
private Date loginDate; // 最后登陆日期
public SysUser(String loginName, String delFlag, String flag){
public SysUser(String loginName){
this.loginName = loginName;
this.delFlag = delFlag;
this.flag = flag;
}
public SysUser(String loginName, String password, String name, String sex) {
......
......@@ -142,7 +142,7 @@
select b_subtask.business_id,name,agency_code,arrange_id,b_subtask.status as subtask_status from b_subtask
left join b_sub_agency on b_subtask.business_id = b_sub_agency.subtask_id
where 1=1 and arrange_id = #{arrangeId} and agency_code = #{agencyCode}
and b_subtask.flag = 1 and b_subtask.del_flag = 0 GROUP BY name
and b_subtask.flag = 1 and b_subtask.del_flag = 0
</select>
<select id="queryByAgencyCode3" parameterType="java.util.Map"
......
......@@ -15,5 +15,8 @@
<result column="remarks" jdbcType="VARCHAR" property="remarks"/>
<result column="code" jdbcType="VARCHAR" property="code"/>
<result column="week" jdbcType="VARCHAR" property="week" />
<result column="max_sl_code" jdbcType="INTEGER" property="maxSlCode" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="current" jdbcType="VARCHAR" property="current" />
</resultMap>
</mapper>
\ No newline at end of file
......@@ -13,6 +13,24 @@
<result column="update_date" property="updateDate" jdbcType="TIMESTAMP" />
<result column="create_date" property="createDate" jdbcType="TIMESTAMP" />
</resultMap>
<resultMap id="SelectAllAndUserNum" type="org.rcisoft.sys.role.entity.SysRole">
<id column="business_id" jdbcType="VARCHAR" property="businessId" />
<result column="role_name" jdbcType="VARCHAR" property="roleName" />
<result column="CODE" jdbcType="VARCHAR" property="code" />
<result column="checked" jdbcType="VARCHAR" property="checked" />
<result column="CREATE_BY" property="createBy" jdbcType="VARCHAR" />
<result column="FLAG" property="flag" jdbcType="VARCHAR" />
<result column="UPDATE_BY" property="updateBy" jdbcType="VARCHAR" />
<result column="DEL_FLAG" property="delFlag" jdbcType="VARCHAR" />
<result column="update_date" property="updateDate" jdbcType="TIMESTAMP" />
<result column="create_date" property="createDate" jdbcType="TIMESTAMP" />
<association property="userNum" column="business_id" select="countUserNum"/>
</resultMap>
<select id="countUserNum" parameterType="string" resultType="int">
select count(*)
from s_r_user_role where role_id = #{id}
</select>
<resultMap id="drResultMap" type="org.rcisoft.sys.dept.entity.DeptRole">
<result column="drid" jdbcType="VARCHAR" property="id" />
<result column="rid" jdbcType="VARCHAR" property="rid" />
......
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