|
@@ -3841,31 +3841,42 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
String deptType = sysDeptVo.getDeptType();
|
|
String deptType = sysDeptVo.getDeptType();
|
|
|
String comlevel = sysDeptVo.getComlevel();
|
|
String comlevel = sysDeptVo.getComlevel();
|
|
|
String parentId = sysDeptVo.getParentId();
|
|
String parentId = sysDeptVo.getParentId();
|
|
|
|
|
+ String max = null;
|
|
|
if ("C".equals(deptType) && comlevel.equals("5")) {
|
|
if ("C".equals(deptType) && comlevel.equals("5")) {
|
|
|
sysDeptVo.setDeptType("M");
|
|
sysDeptVo.setDeptType("M");
|
|
|
|
|
+ max = sysDeptMapper.selectMaxId(sysDeptVo.getParentId(),comlevel);
|
|
|
} else if ("D".equals(deptType)) {
|
|
} else if ("D".equals(deptType)) {
|
|
|
sysDeptVo.setDeptType("D");
|
|
sysDeptVo.setDeptType("D");
|
|
|
deptType = "M";
|
|
deptType = "M";
|
|
|
}
|
|
}
|
|
|
- String number;
|
|
|
|
|
- String maxId = sysDeptMapper.getMaxId(sysDeptVo.getParentId(), deptType, comlevel);
|
|
|
|
|
- if (!maxId.equals("0")) {
|
|
|
|
|
- String substring = maxId.substring(parentId.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;
|
|
String serialNumber;
|
|
|
- if ("M,D".contains(sysDeptVo.getDeptType())) {
|
|
|
|
|
- serialNumber = parentId + sysDeptVo.getDeptType() + substring;
|
|
|
|
|
- } else {
|
|
|
|
|
- serialNumber = parentId + substring;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ if (StringUtils.isNotEmpty(max) && Integer.parseInt(max.substring(parentId.length() + 1)) >= 99){
|
|
|
|
|
+ serialNumber = incrementString(max);
|
|
|
|
|
+ }else {
|
|
|
|
|
+ String number;
|
|
|
|
|
+ String maxId = sysDeptMapper.getMaxId(sysDeptVo.getParentId(), deptType, comlevel);
|
|
|
|
|
+ if (!maxId.equals("0")) {
|
|
|
|
|
+ String substring = maxId.substring(parentId.length() + 1);
|
|
|
|
|
+ int i = Integer.parseInt("1" + substring) + 1;
|
|
|
|
|
+ number = String.valueOf(i);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ number = "101";
|
|
|
|
|
+ }
|
|
|
|
|
+ String substring = number.substring(number.length() - 2);
|
|
|
|
|
+ if ("M,D".contains(sysDeptVo.getDeptType())) {
|
|
|
|
|
+ serialNumber = parentId + sysDeptVo.getDeptType() + substring;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ serialNumber = parentId + substring;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
return serialNumber;
|
|
return serialNumber;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ public String incrementString(String str) {
|
|
|
|
|
+ String numberPart = str.replaceAll("[^0-9]$", "").replaceAll("^.*?(\\d+)$", "$1");
|
|
|
|
|
+ long num = Long.parseLong(numberPart) + 1;
|
|
|
|
|
+ return str.replaceAll("(\\d+)$", String.valueOf(num));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
}
|
|
}
|