|
@@ -152,11 +152,6 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
|
|
|
org.setSchoolId(schoolId);
|
|
|
SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
|
|
|
- // 已经推送到云阅卷,不允许修改机构代码
|
|
|
- if(org.getThirdRelateId() != null && org.getThirdRelateId() > 0){
|
|
|
- throw ExceptionResultEnum.ERROR.exception("机构已经同步到云阅卷,不支持修改机构代码");
|
|
|
- }
|
|
|
-
|
|
|
// 机构代码不为空,校验唯一性
|
|
|
if (StringUtils.isNotBlank(org.getCode())) {
|
|
|
QueryWrapper<SysOrg> queryWrapper = new QueryWrapper<>();
|
|
@@ -168,11 +163,27 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
|
|
|
throw ExceptionResultEnum.ERROR.exception("机构代码已存在");
|
|
|
}
|
|
|
}
|
|
|
+ // 机构代码为空,若为一级学院,则自动生成code
|
|
|
+ else {
|
|
|
+ SysOrg sysOrgRoot = this.getOne(new QueryWrapper<SysOrg>().lambda().eq(SysOrg::getSchoolId, schoolId).eq(SysOrg::getType, OrgTypeEnum.SCHOOL));
|
|
|
+ // 学校下第一级机构,自动生成code
|
|
|
+ if (sysOrgRoot != null && org.getParentId().equals(sysOrgRoot.getId())) {
|
|
|
+ Integer maxOrgCode = commonCacheService.getMaxOrgCode(schoolId);
|
|
|
+ Integer currentCode = maxOrgCode + 1;
|
|
|
+ commonCacheService.setMaxOrgCode(schoolId, currentCode);
|
|
|
+ org.setCode(SystemConstant.ORG_PREFIX + currentCode);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
if (org.getId() == null) {// 新增
|
|
|
org.insertInfo(sysUser.getId());
|
|
|
success = this.save(org);
|
|
|
} else { // 修改
|
|
|
+ // 已经推送到云阅卷,不允许修改机构代码
|
|
|
+ SysOrg sysOrg = this.getById(org.getId());
|
|
|
+ if(!sysOrg.getCode().equals(org.getCode()) && sysOrg.getThirdRelateId() != null && sysOrg.getThirdRelateId() > 0){
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("机构已经同步到云阅卷,不支持修改机构代码");
|
|
|
+ }
|
|
|
org.updateInfo(sysUser.getId());
|
|
|
success = this.updateById(org);
|
|
|
}
|