kongzy
2023-11-28 59d9ea33f503e363f2e2941c7c00cc9dd9d9d1c7
src/main/java/com/nanometer/smartlab/service/SysUserServiceImpl.java
@@ -2,6 +2,7 @@
import com.google.common.collect.ImmutableMap;
import com.nanometer.smartlab.dao.SysUserDao;
import com.nanometer.smartlab.entity.SysLaboratoryContainer;
import com.nanometer.smartlab.entity.SysReagent;
import com.nanometer.smartlab.entity.SysUser;
import com.nanometer.smartlab.entity.dto.HazardousWasteUser;
@@ -13,6 +14,8 @@
import com.nanometer.smartlab.exception.AlarmException;
import com.nanometer.smartlab.exception.BusinessException;
import com.nanometer.smartlab.exception.ExceptionEnumCode;
import com.nanometer.smartlab.model.CommonPage;
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 +29,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.
@@ -65,6 +65,35 @@
            throw new BusinessException(ExceptionEnumCode.DB_ERR, MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), e);
        }
    }
    @Override
    public CommonPage<SysUser> getSysUserList(Integer pageNum, Integer pageSize, String name) {
        if(pageNum==null||pageNum<1){
            pageNum=1;
        }
        if(pageSize==null||pageSize<1){
            pageSize=10;
        }
        if(pageSize>50){
            pageSize=50;
        }
        Map<String, Object> params = new HashMap<>();
        if (StringUtils.isNotBlank(name)) {
            params.put("name","%" + name+ "%");
        }
        params.put("first", (pageNum-1)*pageSize);
        params.put("pageSize", pageSize);
        CommonPage commonPage=new CommonPage();
        commonPage.setPageNum(pageNum);
        commonPage.setPageSize(pageSize);
        Long total=new Long(sysUserDao.getSysUserTotalCount(params));
        commonPage.setTotal(total);
        commonPage.setTotalPage(CommonPage.getTotalPage(total,pageSize));
        List<SysUser> sysReagents=sysUserDao.getSysUserSimpleInfoList(params);
        commonPage.setList(sysReagents);
        return commonPage;
    }
    @Transactional(propagation = Propagation.REQUIRED)
    public int getSysUserTotalCount(String arp, String name,String departmentName,String project,String company) {
        try {
@@ -194,10 +223,11 @@
    }
    @Override
    public List<SysUser> getHasProjectSysUserList(String department) {
    public List<SysUser> getHasProjectSysUserList(String department, String project) {
        try {
            Map<String, Object> params = new HashMap<String, Object>();
            params.put("department", department);
            params.put("project", project);
            params.put("approverFlag", ApproverFlag.YES);
            return this.sysUserDao.getHasProjectSysUserList(params);
        } catch (DataAccessException e) {
@@ -396,5 +426,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);
    }
}