From 1eeae82f74cbb3469ad8931e45b6fc77a945b912 Mon Sep 17 00:00:00 2001 From: kongzy <kongzy> Date: 星期一, 23 十月 2023 16:10:08 +0800 Subject: [PATCH] 姑苏实验室去除价格确认过程 --- src/main/java/com/nanometer/smartlab/service/SysUserServiceImpl.java | 93 +++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 82 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/service/SysUserServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysUserServiceImpl.java index 449dc3d..9ddbbac 100644 --- a/src/main/java/com/nanometer/smartlab/service/SysUserServiceImpl.java +++ b/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. @@ -43,7 +41,7 @@ SysUserDao sysUserDao; @Transactional(propagation = Propagation.REQUIRED) - public List<SysUser> getSysUserList(String arp, String name,String departmentName, Integer first, Integer pageSize) { + public List<SysUser> getSysUserList(String arp, String name,String departmentName,String project,String company, Integer first, Integer pageSize) { try { Map<String, Object> params = new HashMap<String, Object>(); if (StringUtils.isNotBlank(arp)) { @@ -55,6 +53,8 @@ if (StringUtils.isNotBlank(departmentName)) { params.put("departmentNameLike", "%" + departmentName + "%"); } + params.put("project", project); + params.put("company", company); params.put("first", first); params.put("pageSize", pageSize); return this.sysUserDao.getSysUserList(params); @@ -64,7 +64,7 @@ } } @Transactional(propagation = Propagation.REQUIRED) - public int getSysUserTotalCount(String arp, String name,String departmentName) { + public int getSysUserTotalCount(String arp, String name,String departmentName,String project,String company) { try { Map<String, Object> params = new HashMap<String, Object>(); if (StringUtils.isNotBlank(arp)) { @@ -76,11 +76,35 @@ if (StringUtils.isNotBlank(departmentName)) { params.put("departmentNameLike", "%" + departmentName + "%"); } + params.put("project", project); + params.put("company", company); return this.sysUserDao.getSysUserTotalCount(params); } catch (DataAccessException e) { 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) @@ -168,10 +192,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) { @@ -285,9 +310,9 @@ if (userList.size()>0) { for (SysUser user:userList) { if (this.isSysUserExist(user.getArp(), null, null, null)) { - + throw new DuplicateKeyException("arp重复"); }else if(!com.alibaba.druid.util.StringUtils.isEmpty(user.getIdCard()) && this.isSysUserExist(null, null, user.getIdCard(), null)){ - + throw new DuplicateKeyException("idCard为空或重复"); }else { SysUser sysUser=sysUserDao.selectByAccount(user); if(sysUser==null){ @@ -317,7 +342,7 @@ } @Override - public Map getUser(String id) { + public SysUser getUser(String id) { try { return this.sysUserDao.getUser(id); } catch (DataAccessException e) { @@ -353,9 +378,10 @@ } @Override - public HazardousWasteUser getUserByAccount(String account) { + public HazardousWasteUser getUserByAccount(String account,String name) { Map<String, String> params = new HashMap<>(); params.put("account", account); + params.put("name", name); return sysUserDao.getUserByAccount(params); } @@ -364,5 +390,50 @@ return sysUserDao.getUserByProject(project); } + @Override + public List<SysUser> getUserByArp(String arp) { + 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); + } + } -- Gitblit v1.9.2