Commit fa311c1d authored by 刘帅's avatar 刘帅

1.增加物资导入功能-优化

parent 6d7f5335
...@@ -134,9 +134,6 @@ public class SysDeptController extends BaseController { ...@@ -134,9 +134,6 @@ public class SysDeptController extends BaseController {
return toAjax(deptService.deleteDeptById(deptId)); return toAjax(deptService.deleteDeptById(deptId));
} }
/** /**
* 同步外部数据 * 同步外部数据
* @return * @return
......
...@@ -52,17 +52,17 @@ spring: ...@@ -52,17 +52,17 @@ spring:
driverClassName: com.mysql.cj.jdbc.Driver driverClassName: com.mysql.cj.jdbc.Driver
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562 # jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题) # rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true url: jdbc:mysql://rm-hp3340490n5mw72tcto.mysql.huhehaote.rds.aliyuncs.com:3306/tianmaiweixiu_db?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
username: root username: tianmaiweixiu
password: root password: 7HTx9s@2wcbTQ@r1
# 从库数据源 # 从库数据源
slave: slave:
lazy: true lazy: true
type: ${spring.datasource.type} type: ${spring.datasource.type}
driverClassName: com.mysql.cj.jdbc.Driver driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true url: jdbc:mysql://rm-hp3340490n5mw72tcto.mysql.huhehaote.rds.aliyuncs.com:3306/tianmaiweixiu_db?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
username: username: tianmaiweixiu
password: password: 7HTx9s@2wcbTQ@r1
# oracle: # oracle:
# type: ${spring.datasource.type} # type: ${spring.datasource.type}
# driverClassName: oracle.jdbc.OracleDriver # driverClassName: oracle.jdbc.OracleDriver
......
...@@ -66,7 +66,7 @@ spring: ...@@ -66,7 +66,7 @@ spring:
# 国际化资源文件路径 # 国际化资源文件路径
basename: i18n/messages basename: i18n/messages
profiles: profiles:
active: @profiles.active@ active: prod
# 文件上传 # 文件上传
servlet: servlet:
multipart: multipart:
......
...@@ -30,14 +30,12 @@ import com.maintain.system.mapper.SysUserMapper; ...@@ -30,14 +30,12 @@ import com.maintain.system.mapper.SysUserMapper;
import com.maintain.system.service.ISysDeptService; import com.maintain.system.service.ISysDeptService;
import com.maintain.system.util.ExternalDataDispose; import com.maintain.system.util.ExternalDataDispose;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.jetbrains.annotations.NotNull;
import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable; import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.*;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/** /**
* 部门管理 服务实现 * 部门管理 服务实现
...@@ -336,29 +334,13 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService { ...@@ -336,29 +334,13 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
public void deptSync() { public void deptSync() {
String res = com.zxw.util.tm.HttpTmEncryptUtil.sendPostRequest("http://10.100.102.67:22220/api/basis/deptInfoExtRepair", null, null); String res = com.zxw.util.tm.HttpTmEncryptUtil.sendPostRequest("http://10.100.102.67:22220/api/basis/deptInfoExtRepair", null, null);
Map map = JSONUtil.toBean(res, Map.class); Map map = JSONUtil.toBean(res, Map.class);
System.out.println(JSONUtil.toJsonStr(map.get("data")));
List<ExternalDept> departmentList = JSONUtil.toList(JSONUtil.toJsonStr(map.get("data")), ExternalDept.class); List<ExternalDept> departmentList = JSONUtil.toList(JSONUtil.toJsonStr(map.get("data")), ExternalDept.class);
List<SysDept> sysDeptList = baseMapper.selectList(); List<SysDept> sysDeptList = baseMapper.selectList();
departmentList.forEach(department -> { departmentList.forEach(department -> {
// 查询是否已存在系统 // 查询是否已存在系统
System.out.println("编号:"+department.getDeptCode()+",部门" + department.getDeptName());
if (sysDeptList.stream().noneMatch(item -> null != item.getExternalDeptCode() && item.getExternalDeptCode().equals(department.getDeptCode()))) { if (sysDeptList.stream().noneMatch(item -> null != item.getExternalDeptCode() && item.getExternalDeptCode().equals(department.getDeptCode()))) {
SysDept dept = sysDeptList.stream().filter(item -> item.getExternalDeptCode().equals(department.getUpperDeptCode())) if (department.getUpperDeptCode().equals("-1")) {
.findFirst()
.orElseThrow(() -> new RuntimeException("未找到部门=" + department.getUpperDeptCode()));
if (dept != null) {
SysDept sysDept = new SysDept();
sysDept.setAncestors(dept.getAncestors() + StringUtils.SEPARATOR + dept.getDeptId());
sysDept.setParentId(dept.getDeptId());
sysDept.setDeptName(department.getDeptName());
sysDept.setExternalDeptCode(department.getDeptCode());
// 状态转换
sysDept.setStatus(
department.getStatus().equals("已启用")
? String.valueOf(IsEnableStatus.YES.getCode()) // 已启用对应YES
: String.valueOf(IsEnableStatus.NO.getCode())
);
baseMapper.insert(sysDept);
} else if (department.getUpperDeptCode().equals("-1")) {
SysDept sysDept = new SysDept(); SysDept sysDept = new SysDept();
sysDept.setAncestors("0,1"); sysDept.setAncestors("0,1");
sysDept.setParentId(1L); sysDept.setParentId(1L);
...@@ -367,13 +349,46 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService { ...@@ -367,13 +349,46 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
// 状态转换 // 状态转换
sysDept.setStatus( sysDept.setStatus(
department.getStatus().equals("已启用") department.getStatus().equals("已启用")
? String.valueOf(IsEnableStatus.YES.getCode()) // 已启用对应YES ? String.valueOf(IsEnableStatus.NO.getCode()) // 0正常 1停用
: String.valueOf(IsEnableStatus.NO.getCode()) : String.valueOf(IsEnableStatus.YES.getCode())
); );
baseMapper.insert(sysDept); int flag = baseMapper.insert(sysDept);
if (flag > 0) {
sysDeptList.add(sysDept);
}
} else {
Optional<SysDept> first = sysDeptList.stream()
.filter(item -> item.getExternalDeptCode() != null && item.getExternalDeptCode().equals(department.getUpperDeptCode()))
.findFirst();
if (first.isPresent()) {
SysDept sysDept = getSysDept(department, first);
int flag = baseMapper.insert(sysDept);
if (flag > 0) {
sysDeptList.add(sysDept);
}
}else {
System.out.println("不存在部门:"+ department.getDeptName());
}
} }
} }
}); });
} }
@NotNull
private static SysDept getSysDept(ExternalDept department, Optional<SysDept> first) {
SysDept dept = first.get();
SysDept sysDept = new SysDept();
sysDept.setAncestors(dept.getAncestors() + StringUtils.SEPARATOR + dept.getDeptId());
sysDept.setParentId(dept.getDeptId());
sysDept.setDeptName(department.getDeptName());
sysDept.setExternalDeptCode(department.getDeptCode());
// 状态转换
sysDept.setStatus(
department.getStatus().equals("已启用")
? String.valueOf(IsEnableStatus.NO.getCode()) // 0正常 1停用
: String.valueOf(IsEnableStatus.YES.getCode())
);
return sysDept;
}
} }
...@@ -35,10 +35,7 @@ import org.springframework.cache.annotation.Cacheable; ...@@ -35,10 +35,7 @@ import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList; import java.util.*;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/** /**
* 用户 业务层处理 * 用户 业务层处理
...@@ -506,10 +503,12 @@ public class SysUserServiceImpl implements ISysUserService, UserService { ...@@ -506,10 +503,12 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
externalUserList.forEach(externalUser -> { externalUserList.forEach(externalUser -> {
if (sysUserList.stream().noneMatch(item -> externalUser.getEmpNo().equals(item.getUserName()))) { if (sysUserList.stream().noneMatch(item -> externalUser.getEmpNo().equals(item.getUserName()))) {
SysUser sysUser = new SysUser(); SysUser sysUser = new SysUser();
SysDept dept = sysDeptList.stream().filter(item -> item.getExternalDeptCode().equals(externalUser.getGroupNo())) Optional<SysDept> first = sysDeptList.stream()
.findFirst() .filter(item -> null != item.getExternalDeptCode() && item.getExternalDeptCode().equals(externalUser.getGroupNo()))
.orElseThrow(() -> new RuntimeException("未找到部门=" + externalUser.getGroupNo())); .findFirst();
sysUser.setDeptId(dept != null ? dept.getDeptId() : null); if (first.isPresent()) {
sysUser.setDeptId(first.get().getDeptId());
}
sysUser.setUserName(externalUser.getEmpNo()); sysUser.setUserName(externalUser.getEmpNo());
sysUser.setNickName(externalUser.getEmpName()); sysUser.setNickName(externalUser.getEmpName());
sysUser.setStatus(externalUser.getStatusName().equals("在职") ? UserStatus.OK.getCode() : UserStatus.DISABLE.getCode()); sysUser.setStatus(externalUser.getStatusName().equals("在职") ? UserStatus.OK.getCode() : UserStatus.DISABLE.getCode());
......
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