Merge remote-tracking branch 'origin/main'

main
wanglei 2 months ago
commit 033881f90e

@ -2,6 +2,8 @@ package com.ruoyi.kaohe.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.common.core.domain.entity.SysUser;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@ -20,6 +22,7 @@ import com.ruoyi.kaohe.domain.KhEmployee;
import com.ruoyi.kaohe.service.IKhEmployeeService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
import org.springframework.web.multipart.MultipartFile;
/**
* Controller
@ -59,6 +62,26 @@ public class KhEmployeeController extends BaseController
util.exportExcel(response, list, "职工信息数据");
}
@Log(title = "职工信息", businessType = BusinessType.IMPORT)
@PreAuthorize("@ss.hasPermi('kaohe:employee:import')")
@PostMapping("/importData")
public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception
{
ExcelUtil<KhEmployee> util = new ExcelUtil<KhEmployee>(KhEmployee.class);
List<KhEmployee> empList = util.importExcel(file.getInputStream());
String operName = getUsername();
String message = khEmployeeService.importEmp(empList, updateSupport, operName);
return success(message);
}
@PostMapping("/importTemplate")
public void importTemplate(HttpServletResponse response)
{
ExcelUtil<KhEmployee> util = new ExcelUtil<KhEmployee>(KhEmployee.class);
util.importTemplateExcel(response, "职工数据");
}
/**
*
*/

@ -19,7 +19,7 @@ public class KhEmployee extends BaseEntity
private Long id;
/** 登录用户id */
@Excel(name = "登录用户id")
//@Excel(name = "登录用户id")
private Long userId;
/** 职工所属部门 */

@ -58,4 +58,6 @@ public interface IKhEmployeeService
* @return
*/
public int deleteKhEmployeeById(Long id);
String importEmp(List<KhEmployee> empList, boolean updateSupport, String operName);
}

@ -1,13 +1,23 @@
package com.ruoyi.kaohe.service.impl;
import java.util.List;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.bean.BeanValidators;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.kaohe.mapper.KhEmployeeMapper;
import com.ruoyi.kaohe.domain.KhEmployee;
import com.ruoyi.kaohe.service.IKhEmployeeService;
import javax.annotation.Resource;
/**
* Service
*
@ -17,9 +27,11 @@ import com.ruoyi.kaohe.service.IKhEmployeeService;
@Service
public class KhEmployeeServiceImpl implements IKhEmployeeService
{
@Autowired
@Resource
private KhEmployeeMapper khEmployeeMapper;
private static final Logger log = LoggerFactory.getLogger(KhEmployeeServiceImpl.class);
/**
*
*
@ -93,4 +105,62 @@ public class KhEmployeeServiceImpl implements IKhEmployeeService
{
return khEmployeeMapper.deleteKhEmployeeById(id);
}
@Override
public String importEmp(List<KhEmployee> empList, boolean updateSupport, String operName) {
if (StringUtils.isNull(empList) || empList.size() == 0)
{
throw new ServiceException("导入职工数据不能为空!");
}
int successNum = 0;
int failureNum = 0;
StringBuilder successMsg = new StringBuilder();
StringBuilder failureMsg = new StringBuilder();
for (KhEmployee employee : empList)
{
try
{
// 验证是否存在这个职工
KhEmployee param = new KhEmployee();
param.setEmpName(employee.getEmpName());
param.setDeptId(employee.getDeptId());
List<KhEmployee> e = khEmployeeMapper.selectKhEmployeeList(param);
if (StringUtils.isNull(e)||e.size()==0)
{
khEmployeeMapper.insertKhEmployee(employee);
successNum++;
successMsg.append("<br/>" + successNum + "、账号 " + employee.getEmpName() + " 导入成功");
}
else if (updateSupport)
{
employee.setId(param.getId());
khEmployeeMapper.updateKhEmployee(employee);
successNum++;
successMsg.append("<br/>" + successNum + "、账号 " + employee.getEmpName() + " 更新成功");
}
else
{
failureNum++;
failureMsg.append("<br/>" + failureNum + "、账号 " + employee.getEmpName() + " 已存在");
}
}
catch (Exception e)
{
failureNum++;
String msg = "<br/>" + failureNum + "、账号 " + employee.getEmpName() + " 导入失败:";
failureMsg.append(msg + e.getMessage());
log.error(msg, e);
}
}
if (failureNum > 0)
{
failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
throw new ServiceException(failureMsg.toString());
}
else
{
successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:");
}
return successMsg.toString();
}
}

Loading…
Cancel
Save