Merge remote-tracking branch 'base-version/main' into dev
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -84,20 +84,13 @@ public class DeptServiceImpl implements DeptService {
|
|||||||
validateParentDept(null, createReqVO.getParentId());
|
validateParentDept(null, createReqVO.getParentId());
|
||||||
// 校验部门名的唯一性
|
// 校验部门名的唯一性
|
||||||
validateDeptNameUnique(null, createReqVO.getParentId(), createReqVO.getName());
|
validateDeptNameUnique(null, createReqVO.getParentId(), createReqVO.getName());
|
||||||
// 生成并校验部门编码
|
// 生成并校验部门编码(所有来源统一走生成逻辑,iWork 不再豁免)
|
||||||
boolean isIWorkSource = Objects.equals(createReqVO.getDeptSource(), DeptSourceEnum.IWORK.getSource());
|
if (Boolean.TRUE.equals(createReqVO.getDelayCodeGeneration())) {
|
||||||
if (isIWorkSource) {
|
createReqVO.setCode(null);
|
||||||
// iWork 来源直接使用提供的编码,不再生成
|
|
||||||
String providedCode = StrUtil.blankToDefault(createReqVO.getCode(), null);
|
|
||||||
createReqVO.setCode(providedCode);
|
|
||||||
} else {
|
} else {
|
||||||
if (Boolean.TRUE.equals(createReqVO.getDelayCodeGeneration())) {
|
String resolvedCode = generateDeptCode(createReqVO.getParentId(), createReqVO.getDeptSource());
|
||||||
createReqVO.setCode(null);
|
validateDeptCodeUnique(null, resolvedCode);
|
||||||
} else {
|
createReqVO.setCode(resolvedCode);
|
||||||
String resolvedCode = generateDeptCode(createReqVO.getParentId(), createReqVO.getDeptSource());
|
|
||||||
validateDeptCodeUnique(null, resolvedCode);
|
|
||||||
createReqVO.setCode(resolvedCode);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 插入部门
|
// 插入部门
|
||||||
@@ -127,28 +120,21 @@ public class DeptServiceImpl implements DeptService {
|
|||||||
validateParentDept(updateReqVO.getId(), updateReqVO.getParentId());
|
validateParentDept(updateReqVO.getId(), updateReqVO.getParentId());
|
||||||
// 校验部门名的唯一性
|
// 校验部门名的唯一性
|
||||||
validateDeptNameUnique(updateReqVO.getId(), updateReqVO.getParentId(), updateReqVO.getName());
|
validateDeptNameUnique(updateReqVO.getId(), updateReqVO.getParentId(), updateReqVO.getName());
|
||||||
boolean isIWorkSource = Objects.equals(originalDept.getDeptSource(), DeptSourceEnum.IWORK.getSource());
|
Integer source = ObjectUtil.defaultIfNull(updateReqVO.getDeptSource(), originalDept.getDeptSource());
|
||||||
if (isIWorkSource) {
|
if (source == null) {
|
||||||
// iWork 来源直接使用提供的编码,不再生成
|
source = DeptSourceEnum.EXTERNAL.getSource();
|
||||||
String providedCode = StrUtil.blankToDefault(updateReqVO.getCode(), originalDept.getCode());
|
}
|
||||||
updateReqVO.setCode(providedCode);
|
String existingCode = originalDept.getCode();
|
||||||
} else {
|
if (StrUtil.isBlank(existingCode)) {
|
||||||
Integer source = ObjectUtil.defaultIfNull(updateReqVO.getDeptSource(), originalDept.getDeptSource());
|
if (Boolean.TRUE.equals(updateReqVO.getDelayCodeGeneration())) {
|
||||||
if (source == null) {
|
updateReqVO.setCode(null);
|
||||||
source = DeptSourceEnum.EXTERNAL.getSource();
|
|
||||||
}
|
|
||||||
String existingCode = originalDept.getCode();
|
|
||||||
if (StrUtil.isBlank(existingCode)) {
|
|
||||||
if (Boolean.TRUE.equals(updateReqVO.getDelayCodeGeneration())) {
|
|
||||||
updateReqVO.setCode(null);
|
|
||||||
} else {
|
|
||||||
String newCode = generateDeptCode(updateReqVO.getParentId(), source);
|
|
||||||
validateDeptCodeUnique(updateReqVO.getId(), newCode);
|
|
||||||
updateReqVO.setCode(newCode);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
updateReqVO.setCode(existingCode);
|
String newCode = generateDeptCode(updateReqVO.getParentId(), source);
|
||||||
|
validateDeptCodeUnique(updateReqVO.getId(), newCode);
|
||||||
|
updateReqVO.setCode(newCode);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
updateReqVO.setCode(existingCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新部门
|
// 更新部门
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user