|
|
@@ -29,6 +29,7 @@ import java.util.stream.Collectors;
|
|
|
public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept>
|
|
|
implements SysDeptService {
|
|
|
|
|
|
+
|
|
|
@Override
|
|
|
public List<SysDept> findTree(String deptId) {
|
|
|
SysDept sysDept = getById(deptId);
|
|
|
@@ -46,10 +47,10 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept>
|
|
|
public void addDept(SysDeptVo sysDeptVo) {
|
|
|
SysDept sysDept = new SysDept();
|
|
|
BeanUtils.copyProperties(sysDeptVo, sysDept);
|
|
|
- String comlevel = sysDept.getComlevel();
|
|
|
+ String comlevel = ObjectUtils.isEmpty(sysDept.getComlevel()) ? "" : sysDept.getComlevel();
|
|
|
String parentId = sysDept.getParentId();
|
|
|
|
|
|
- String number = "9";
|
|
|
+ String number;
|
|
|
if (comlevel.equals("2")) {
|
|
|
AssertionUtils.isStringEmpty(sysDept.getProvince(), "二级机构份必填");
|
|
|
number = sysDept.getProvince();
|
|
|
@@ -59,10 +60,25 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept>
|
|
|
} else if (comlevel.equals("4")) {
|
|
|
AssertionUtils.isStringEmpty(sysDept.getArea(), "四级机构区必填");
|
|
|
number = sysDept.getArea();
|
|
|
+ } else {
|
|
|
+ String maxId = baseMapper.getMaxId(sysDept.getParentId());
|
|
|
+ if (!maxId.equals("0")) {
|
|
|
+ String substring = maxId.substring(sysDept.getParentId().length() + 1);
|
|
|
+ int i = Integer.parseInt("1" + substring) + 1;
|
|
|
+ number = String.valueOf(i);
|
|
|
+ } else {
|
|
|
+ number = "101";
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
String substring = number.substring(number.length() - 2);
|
|
|
- String serialNumber = parentId + substring;
|
|
|
+ String serialNumber;
|
|
|
+ if ("M,D".contains(sysDeptVo.getDeptType())) {
|
|
|
+ serialNumber = parentId + sysDeptVo.getDeptType() + substring;
|
|
|
+ } else {
|
|
|
+ serialNumber = parentId + substring;
|
|
|
+ }
|
|
|
+
|
|
|
sysDept.setId(serialNumber);
|
|
|
|
|
|
SysDept dept = getById(sysDept.getId());
|
|
|
@@ -132,7 +148,7 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept>
|
|
|
if (deptId == null) return "";
|
|
|
String result = "00";
|
|
|
QueryWrapper<SysDept> qw = new QueryWrapper<>();
|
|
|
- qw.like(StringUtils.isNotEmpty(deptId), "id", deptId + "D%");
|
|
|
+ qw.likeRight(StringUtils.isNotEmpty(deptId), "id", deptId + "D%");
|
|
|
|
|
|
qw.select("IFNULL(MAX(id),0) maxid");
|
|
|
Map<String, Object> m = getMap(qw);
|