李宇
2021-08-18 c3510da29a7974c6af7ff3de1ade3db429d6f848
src/main/java/com/nanometer/smartlab/service/SysUserServiceImpl.java
@@ -13,6 +13,7 @@
import com.nanometer.smartlab.exception.AlarmException;
import com.nanometer.smartlab.exception.BusinessException;
import com.nanometer.smartlab.exception.ExceptionEnumCode;
import com.nanometer.smartlab.util.ExcelUtils;
import com.nanometer.smartlab.util.FacesUtils;
import com.nanometer.smartlab.util.IDUtils;
import com.nanometer.smartlab.util.MessageUtil;
@@ -26,10 +27,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
 * Created by johnny on 17/11/20.
@@ -85,6 +83,28 @@
            logger.error(e.getMessage(), e);
            throw new BusinessException(ExceptionEnumCode.DB_ERR, MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), e);
        }
    }
    @Override
    public int getUserCountInProject(String arp, String name, String departmentName, String project, String company) {
        Map<String, Object> params = new HashMap<String, Object>();
        params.put("arp", arp);
        params.put("name", name);
        params.put("departmentNameLike", departmentName);
        params.put("project", project);
        params.put("company", company);
        return sysUserDao.getUserCountInProject(params);
    }
    @Override
    public List<SysUser> getUserInProject(String arp, String name, String departmentName, String project, String company, Integer first, Integer pageSize) {
        Map<String, Object> params = new HashMap<String, Object>();
        params.put("arp", arp);
        params.put("name", name);
        params.put("departmentNameLike", departmentName);
        params.put("project", project);
        params.put("company", company);
        return sysUserDao.getUserInProject(params);
    }
    @Transactional(propagation = Propagation.REQUIRED)
@@ -321,7 +341,7 @@
    }
    @Override
    public Map getUser(String id) {
    public SysUser getUser(String id) {
        try {
            return this.sysUserDao.getUser(id);
        } catch (DataAccessException e) {
@@ -374,5 +394,45 @@
        return sysUserDao.getUserByArp(arp);
    }
    @Override
    public List<Map> getExportUserList(String arp, String name, String departmentName, String project, String company) {
        return sysUserDao.getExportUserList(arp, name, departmentName, project, company);
    }
    @Override
    public void exportUser2Excel(List<Map> list)throws Exception {
        Map<String, String> map = new LinkedHashMap<>();
        map.put("companyName", "单位");
        map.put("departmentName", "部门");
        map.put("project", "课题组");
        map.put("arp", "ARP");
        map.put("name", "姓名");
        map.put("account", "账号");
        map.put("idCard", "ID卡号");
        map.put("phone", "电话");
        map.put("email", "邮箱");
        map.put("memo", "备注");
        map.put("roleName", "角色");
        map.put("approver", "审批者");
        map.put("seeName", "可见度");
        map.put("wasterName", "危废人员");
        map.put("updateTime", "更新时间");
        ExcelUtils.export2Excel(list,"人员信息",map);
    }
    //获取库管员邮箱
    @Override
    public List<String> getLibrarianEmail() {
        return sysUserDao.getLibrarianEmail();
    }
    @Override
    public SysUser getUserByName(String approveUserName) {
        List<SysUser> users = sysUserDao.getUserByName(approveUserName);
        if (users.size() != 1) return  null;
        return users.get(0);
    }
}