|
|
|
@ -1,27 +1,20 @@
|
|
|
|
|
package com.op.system.service.impl;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import java.text.ParseException;
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
|
import java.time.LocalDate;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.Arrays;
|
|
|
|
|
import java.util.Calendar;
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
import javax.validation.Validator;
|
|
|
|
|
|
|
|
|
|
import com.alibaba.fastjson2.JSONArray;
|
|
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
|
|
|
|
|
|
|
|
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
|
|
|
|
|
import com.op.common.core.domain.R;
|
|
|
|
|
import com.op.common.core.utils.DateUtils;
|
|
|
|
|
import com.op.common.core.utils.http.HttpUtils;
|
|
|
|
|
import com.op.common.core.web.domain.AjaxResult;
|
|
|
|
|
import com.op.system.api.RemoteOpenService;
|
|
|
|
|
import com.op.system.api.domain.quality.HRInfo;
|
|
|
|
|
|
|
|
|
|
import com.op.system.domain.*;
|
|
|
|
|
import com.op.system.mapper.*;
|
|
|
|
|
import org.apache.commons.lang3.time.DateFormatUtils;
|
|
|
|
|
import org.apache.ibatis.session.ExecutorType;
|
|
|
|
|
import org.apache.ibatis.session.SqlSession;
|
|
|
|
@ -33,20 +26,41 @@ import org.springframework.beans.factory.annotation.Value;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
import com.op.common.core.constant.UserConstants;
|
|
|
|
|
import com.op.common.core.exception.ServiceException;
|
|
|
|
|
import com.op.common.core.utils.SpringUtils;
|
|
|
|
|
import com.op.common.core.utils.StringUtils;
|
|
|
|
|
import com.op.common.core.utils.bean.BeanValidators;
|
|
|
|
|
import com.op.common.datascope.annotation.DataScope;
|
|
|
|
|
import com.op.common.security.utils.SecurityUtils;
|
|
|
|
|
import com.op.system.api.domain.SysRole;
|
|
|
|
|
import com.op.system.api.domain.SysUser;
|
|
|
|
|
import com.op.system.service.ISysConfigService;
|
|
|
|
|
import com.op.system.service.ISysUserService;
|
|
|
|
|
import org.springframework.web.context.request.RequestContextHolder;
|
|
|
|
|
import org.springframework.web.context.request.ServletRequestAttributes;
|
|
|
|
|
|
|
|
|
|
import com.alibaba.fastjson2.JSONArray;
|
|
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
|
|
|
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
|
|
|
|
|
import com.op.common.core.constant.UserConstants;
|
|
|
|
|
import com.op.common.core.domain.R;
|
|
|
|
|
import com.op.common.core.exception.ServiceException;
|
|
|
|
|
import com.op.common.core.utils.DateUtils;
|
|
|
|
|
import com.op.common.core.utils.SpringUtils;
|
|
|
|
|
import com.op.common.core.utils.StringUtils;
|
|
|
|
|
import com.op.common.core.utils.bean.BeanValidators;
|
|
|
|
|
import com.op.common.core.utils.http.HttpUtils;
|
|
|
|
|
import com.op.common.core.web.domain.AjaxResult;
|
|
|
|
|
import com.op.common.datascope.annotation.DataScope;
|
|
|
|
|
import com.op.common.security.utils.SecurityUtils;
|
|
|
|
|
import com.op.system.api.RemoteOpenService;
|
|
|
|
|
import com.op.system.api.domain.SysRole;
|
|
|
|
|
import com.op.system.api.domain.SysUser;
|
|
|
|
|
import com.op.system.api.domain.quality.HRInfo;
|
|
|
|
|
import com.op.system.domain.MesClockRecord;
|
|
|
|
|
import com.op.system.domain.SysDatasource;
|
|
|
|
|
import com.op.system.domain.SysPost;
|
|
|
|
|
import com.op.system.domain.SysUserPost;
|
|
|
|
|
import com.op.system.domain.SysUserRole;
|
|
|
|
|
import com.op.system.mapper.MesClockRecordMapper;
|
|
|
|
|
import com.op.system.mapper.SysDatasourceMapper;
|
|
|
|
|
import com.op.system.mapper.SysPostMapper;
|
|
|
|
|
import com.op.system.mapper.SysRoleMapper;
|
|
|
|
|
import com.op.system.mapper.SysUserMapper;
|
|
|
|
|
import com.op.system.mapper.SysUserPostMapper;
|
|
|
|
|
import com.op.system.mapper.SysUserRoleMapper;
|
|
|
|
|
import com.op.system.service.ISysConfigService;
|
|
|
|
|
import com.op.system.service.ISysUserService;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 用户 业务层处理
|
|
|
|
@ -271,12 +285,14 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
|
|
insertUserRole(user);
|
|
|
|
|
// 加工厂数据权限
|
|
|
|
|
// 工厂号
|
|
|
|
|
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
|
|
|
|
|
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes())
|
|
|
|
|
.getRequest();
|
|
|
|
|
String key = "#header.poolName";
|
|
|
|
|
user.setDeptId(Long.parseLong(request.getHeader(key.substring(8)).replace("ds_", "")));
|
|
|
|
|
insertUserDB(user);
|
|
|
|
|
return rows;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void insertUserDB(SysUser user) {
|
|
|
|
|
// 新增用户与园区数据源
|
|
|
|
|
SysDatasource qo = new SysDatasource();
|
|
|
|
@ -295,6 +311,7 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
|
|
}
|
|
|
|
|
sysDatasourceMapper.batchUserDB(list);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 注册用户信息
|
|
|
|
|
*
|
|
|
|
@ -544,6 +561,7 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
|
|
}
|
|
|
|
|
return successMsg.toString();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<Map<String, String>> getPoolNameList(SysUser user) {
|
|
|
|
|
return userMapper.getPoolNameList(user);
|
|
|
|
@ -583,8 +601,6 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
|
|
return R.ok();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected int syncUserInfoFunc(List<HRInfo> dtos) {
|
|
|
|
|
log.info("人力信息同步:" + JSONObject.toJSONString(dtos));
|
|
|
|
|
Date nowDate = DateUtils.getNowDate();
|
|
|
|
@ -618,10 +634,10 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
|
|
// sap返回的工作中心编码-本地已存在
|
|
|
|
|
List<String> exsitCodes = userMapper.getExsitCodes(codes);
|
|
|
|
|
// sap返回的工作中心编码-本地不存在// 差集 (list2 - list1)
|
|
|
|
|
List<String> noExsitCodes = codes.stream().filter(item -> !exsitCodes.contains(item)).collect(Collectors.toList());
|
|
|
|
|
List<String> noExsitCodes = codes.stream().filter(item -> !exsitCodes.contains(item))
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
List<HRInfo> updates = dtos.stream()
|
|
|
|
|
.filter(item -> exsitCodes.contains(item.getUserName()))
|
|
|
|
|
List<HRInfo> updates = dtos.stream().filter(item -> exsitCodes.contains(item.getUserName()))
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
if (!CollectionUtils.isEmpty(updates)) {
|
|
|
|
@ -644,8 +660,7 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
List<HRInfo> adds = dtos.stream()
|
|
|
|
|
.filter(item -> noExsitCodes.contains(item.getUserName()))
|
|
|
|
|
List<HRInfo> adds = dtos.stream().filter(item -> noExsitCodes.contains(item.getUserName()))
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
if (!CollectionUtils.isEmpty(adds)) {
|
|
|
|
@ -667,6 +682,7 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
|
|
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public R syncClockInRecord() {
|
|
|
|
|
|
|
|
|
@ -703,7 +719,6 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Autowired // 关键:注入 SqlSessionFactory
|
|
|
|
|
private SqlSessionFactory sqlSessionFactory;
|
|
|
|
|
|
|
|
|
@ -727,6 +742,4 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|