|
|
|
|
@ -1,7 +1,9 @@
|
|
|
|
|
package com.ruoyi.kaohe.service.impl;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
|
|
|
import com.ruoyi.common.core.domain.entity.SysDept;
|
|
|
|
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
|
|
|
|
import com.ruoyi.common.exception.ServiceException;
|
|
|
|
|
@ -10,6 +12,7 @@ import com.ruoyi.common.utils.SecurityUtils;
|
|
|
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
|
|
|
import com.ruoyi.common.utils.bean.BeanValidators;
|
|
|
|
|
import com.ruoyi.system.mapper.SysDeptMapper;
|
|
|
|
|
import com.ruoyi.system.service.ISysUserService;
|
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
@ -17,9 +20,12 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
import com.ruoyi.kaohe.mapper.KhEmployeeMapper;
|
|
|
|
|
import com.ruoyi.kaohe.domain.KhEmployee;
|
|
|
|
|
import com.ruoyi.kaohe.service.IKhEmployeeService;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
|
|
|
|
|
import static com.ruoyi.common.utils.SecurityUtils.getUsername;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 职工信息Service业务层处理
|
|
|
|
|
*
|
|
|
|
|
@ -32,6 +38,8 @@ public class KhEmployeeServiceImpl implements IKhEmployeeService {
|
|
|
|
|
private KhEmployeeMapper khEmployeeMapper;
|
|
|
|
|
@Resource
|
|
|
|
|
private SysDeptMapper deptMapper;
|
|
|
|
|
@Autowired
|
|
|
|
|
private ISysUserService userService;
|
|
|
|
|
|
|
|
|
|
private static final Logger log = LoggerFactory.getLogger(KhEmployeeServiceImpl.class);
|
|
|
|
|
|
|
|
|
|
@ -64,9 +72,33 @@ public class KhEmployeeServiceImpl implements IKhEmployeeService {
|
|
|
|
|
* @return 结果
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public int insertKhEmployee(KhEmployee khEmployee) {
|
|
|
|
|
@Transactional
|
|
|
|
|
public AjaxResult insertKhEmployee(KhEmployee khEmployee) {
|
|
|
|
|
khEmployee.setCreateTime(DateUtils.getNowDate());
|
|
|
|
|
return khEmployeeMapper.insertKhEmployee(khEmployee);
|
|
|
|
|
// 验证是否存在这个职工 工号唯一性
|
|
|
|
|
KhEmployee param = new KhEmployee();
|
|
|
|
|
param.setWordId(khEmployee.getWordId());
|
|
|
|
|
List<KhEmployee> e = khEmployeeMapper.selectKhEmployeeList(param);
|
|
|
|
|
if (StringUtils.isNull(e) || e.size() == 0) {
|
|
|
|
|
int r = khEmployeeMapper.insertKhEmployee(khEmployee);
|
|
|
|
|
///生成对应的用户账号,工号为账号
|
|
|
|
|
SysUser user= new SysUser();
|
|
|
|
|
user.setUserName(khEmployee.getWordId());
|
|
|
|
|
if (userService.checkUserNameUnique(user))
|
|
|
|
|
{
|
|
|
|
|
user.setCreateBy(getUsername());
|
|
|
|
|
user.setNickName(khEmployee.getEmpName());
|
|
|
|
|
user.setPassword(SecurityUtils.encryptPassword("111111"));
|
|
|
|
|
user.setDeptId(khEmployee.getDeptId());
|
|
|
|
|
Long[] roleIds = {102L}; //固定的评分账号角色id
|
|
|
|
|
user.setRoleIds(roleIds);
|
|
|
|
|
userService.insertUser(user);
|
|
|
|
|
}
|
|
|
|
|
return r>0 ? AjaxResult.success() : AjaxResult.error();
|
|
|
|
|
}else{
|
|
|
|
|
return AjaxResult.error("工号已存在!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
@ -104,40 +136,57 @@ public class KhEmployeeServiceImpl implements IKhEmployeeService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional
|
|
|
|
|
public String importEmp(List<KhEmployee> empList, boolean updateSupport, String operName) {
|
|
|
|
|
if (StringUtils.isNull(empList) || empList.size() == 0) {
|
|
|
|
|
throw new ServiceException("导入职工数据不能为空!");
|
|
|
|
|
}
|
|
|
|
|
List<KhEmployee> userEmp = new ArrayList<KhEmployee>();//存放需要生成用户的
|
|
|
|
|
int successNum = 0;
|
|
|
|
|
int failureNum = 0;
|
|
|
|
|
StringBuilder successMsg = new StringBuilder();
|
|
|
|
|
StringBuilder failureMsg = new StringBuilder();
|
|
|
|
|
for (KhEmployee employee : empList) {
|
|
|
|
|
try {
|
|
|
|
|
if(StringUtils.isEmpty(employee.getSex())){
|
|
|
|
|
employee.setSex("2");
|
|
|
|
|
}
|
|
|
|
|
//根据deptId查询deptName
|
|
|
|
|
SysDept sysDept = deptMapper.selectDeptById(employee.getDeptId());
|
|
|
|
|
employee.setDeptName(sysDept.getDeptName());
|
|
|
|
|
// 验证是否存在这个职工
|
|
|
|
|
// 验证是否存在这个职工 工号唯一性
|
|
|
|
|
KhEmployee param = new KhEmployee();
|
|
|
|
|
param.setEmpName(employee.getEmpName());
|
|
|
|
|
param.setDeptId(employee.getDeptId());
|
|
|
|
|
param.setWordId(employee.getWordId());
|
|
|
|
|
List<KhEmployee> e = khEmployeeMapper.selectKhEmployeeList(param);
|
|
|
|
|
if (StringUtils.isNull(e) || e.size() == 0) {
|
|
|
|
|
khEmployeeMapper.insertKhEmployee(employee);
|
|
|
|
|
successNum++;
|
|
|
|
|
successMsg.append("<br/>" + successNum + "、账号 " + employee.getEmpName() + " 导入成功");
|
|
|
|
|
successMsg.append("<br/>" + successNum + "、工号 " + employee.getWordId() + " 导入成功");
|
|
|
|
|
///生成对应的用户账号,工号为账号
|
|
|
|
|
SysUser user= new SysUser();
|
|
|
|
|
user.setUserName(employee.getWordId());
|
|
|
|
|
if (userService.checkUserNameUnique(user))
|
|
|
|
|
{
|
|
|
|
|
user.setCreateBy(getUsername());
|
|
|
|
|
user.setNickName(employee.getEmpName());
|
|
|
|
|
user.setPassword(SecurityUtils.encryptPassword("111111"));
|
|
|
|
|
user.setDeptId(employee.getDeptId());
|
|
|
|
|
Long[] roleIds = {102L}; //固定的评分账号角色id
|
|
|
|
|
user.setRoleIds(roleIds);
|
|
|
|
|
userService.insertUser(user);
|
|
|
|
|
}
|
|
|
|
|
} else if (updateSupport) {
|
|
|
|
|
employee.setId(e.get(0).getId());
|
|
|
|
|
khEmployeeMapper.updateKhEmployee(employee);
|
|
|
|
|
successNum++;
|
|
|
|
|
successMsg.append("<br/>" + successNum + "、账号 " + employee.getEmpName() + " 更新成功");
|
|
|
|
|
successMsg.append("<br/>" + successNum + "、工号 " + employee.getWordId() + " 更新成功");
|
|
|
|
|
} else {
|
|
|
|
|
failureNum++;
|
|
|
|
|
failureMsg.append("<br/>" + failureNum + "、账号 " + employee.getEmpName() + " 已存在");
|
|
|
|
|
failureMsg.append("<br/>" + failureNum + "、工号 " + employee.getWordId() + " 已存在");
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
failureNum++;
|
|
|
|
|
String msg = "<br/>" + failureNum + "、账号 " + employee.getEmpName() + " 导入失败:";
|
|
|
|
|
String msg = "<br/>" + failureNum + "、工号 " + employee.getWordId() + " 导入失败:";
|
|
|
|
|
failureMsg.append(msg + e.getMessage());
|
|
|
|
|
log.error(msg, e);
|
|
|
|
|
}
|
|
|
|
|
|