| | |
| | | import com.nanometer.smartlab.dao.SysUserDao; |
| | | import com.nanometer.smartlab.entity.SysReagent; |
| | | import com.nanometer.smartlab.entity.SysUser; |
| | | import com.nanometer.smartlab.entity.dto.HazardousWasteUser; |
| | | import com.nanometer.smartlab.entity.dto.LaboratoryVo; |
| | | import com.nanometer.smartlab.entity.dto.SysUserDto; |
| | | import com.nanometer.smartlab.entity.enumtype.ApproverFlag; |
| | | import com.nanometer.smartlab.entity.enumtype.SeeFlag; |
| | |
| | | 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; |
| | |
| | | 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. |
| | |
| | | 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)) { |
| | |
| | | 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); |
| | |
| | | } |
| | | } |
| | | @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)) { |
| | |
| | | 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) |
| | |
| | | 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){ |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Map getUser(String id) { |
| | | public SysUser getUser(String id) { |
| | | try { |
| | | return this.sysUserDao.getUser(id); |
| | | } catch (DataAccessException e) { |
| | |
| | | } |
| | | |
| | | @Override |
| | | public SysUser 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); |
| | | } |
| | | |
| | | @Override |
| | | public List<LaboratoryVo.LaboratoryUser> getUserByProject(String project) { |
| | | 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); |
| | | } |
| | | |
| | | |
| | | } |