| | |
| | | |
| | | 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; |
| | | 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.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; |
| | |
| | | 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 projectName,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 + "%"); |
| | | } |
| | | if (StringUtils.isNotBlank(projectName)) { |
| | | params.put("projectName", projectName); |
| | | } |
| | | params.put("company", company); |
| | | params.put("first", first); |
| | | params.put("pageSize", pageSize); |
| | | return this.sysUserDao.getSysUserList(params); |
| | |
| | | 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) { |
| | | public int getSysUserTotalCount(String arp, String name,String departmentName,String projectName,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("projectName", projectName); |
| | | params.put("company", company); |
| | | return this.sysUserDao.getSysUserTotalCount(params); |
| | | } catch (DataAccessException e) { |
| | | logger.error(e.getMessage(), e); |
| | |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public int getUserCountInProject(String arp, String name, String departmentName, String projectName, String company) { |
| | | Map<String, Object> params = new HashMap<String, Object>(); |
| | | params.put("arp", arp); |
| | | params.put("name", name); |
| | | params.put("departmentNameLike", departmentName); |
| | | params.put("projectName", projectName); |
| | | params.put("company", company); |
| | | return sysUserDao.getUserCountInProject(params); |
| | | } |
| | | |
| | | @Override |
| | | public List<SysUser> getUserInProject(String arp, String name, String departmentName, String projectName, 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("projectName", projectName); |
| | | params.put("company", company); |
| | | return sysUserDao.getUserInProject(params); |
| | | } |
| | | |
| | | @Transactional(propagation = Propagation.REQUIRED) |
| | | public SysUser getSysUser(String id) { |
| | | public SysUser getSysUser(Long id) { |
| | | try { |
| | | return this.sysUserDao.getSysUser(id); |
| | | } catch (DataAccessException e) { |
| | |
| | | } |
| | | |
| | | @Transactional(propagation = Propagation.REQUIRED) |
| | | public SysUser getSysUserForSuppllier(String id) { |
| | | public SysUser getSysUserForSuppllier(Long id) { |
| | | try { |
| | | return this.sysUserDao.getSysUserForSuppllier(id); |
| | | } catch (DataAccessException e) { |
| | |
| | | } |
| | | |
| | | @Transactional(propagation = Propagation.REQUIRED) |
| | | public boolean isSysUserExist(String arp, String account, String idCard, String editId) { |
| | | public boolean isSysUserExist(String arp, String account, String idCard, Long editId) { |
| | | try { |
| | | Map<String, Object> params = new HashMap<String, Object>(); |
| | | params.put("arp", arp); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<SysUser> getHasProjectSysUserList(String department) { |
| | | public List<SysUser> getHasProjectSysUserList(Long department, Long projectId) { |
| | | try { |
| | | Map<String, Object> params = new HashMap<String, Object>(); |
| | | params.put("department", department); |
| | | params.put("projectId", projectId); |
| | | params.put("approverFlag", ApproverFlag.YES); |
| | | return this.sysUserDao.getHasProjectSysUserList(params); |
| | | } catch (DataAccessException e) { |
| | |
| | | } |
| | | |
| | | @Transactional(propagation = Propagation.REQUIRED) |
| | | public List<SysUser> getSeeUserList(String department) { |
| | | public List<SysUser> getSeeUserList(Long department) { |
| | | try { |
| | | Map<String, Object> params = new HashMap<String, Object>(); |
| | | params.put("department", department); |
| | |
| | | @Transactional(propagation = Propagation.REQUIRED) |
| | | public SysUser insertSysUser(SysUser sysUser) { |
| | | try { |
| | | if (sysUser.getId() == null) { |
| | | sysUser.setId(IDUtils.uuid()); |
| | | } |
| | | // if (sysUser.getId() == null) { |
| | | // sysUser.setId(IDUtils.uuid()); |
| | | // } |
| | | this.sysUserDao.insertSysUser(sysUser); |
| | | return sysUser; |
| | | } catch (DuplicateKeyException ex) { |
| | |
| | | return false; |
| | | } |
| | | |
| | | List<String> ids = new ArrayList<String>(); |
| | | List<Long> ids = new ArrayList<Long>(); |
| | | for (SysUser sysUser : sysUserList) { |
| | | ids.add(sysUser.getId()); |
| | | } |
| | |
| | | |
| | | @Transactional(propagation = Propagation.REQUIRED) |
| | | @Override |
| | | public void updateUserPointBySelective(Integer point,String id) { |
| | | public void updateUserPointBySelective(Integer point,Long id) { |
| | | sysUserDao.updateUserPointBySelective(point,id); |
| | | } |
| | | |
| | |
| | | }else { |
| | | SysUser sysUser=sysUserDao.selectByAccount(user); |
| | | if(sysUser==null){ |
| | | if (user.getId() == null) { |
| | | user.setId(IDUtils.uuid()); |
| | | } |
| | | // if (user.getId() == null) { |
| | | // user.setId(IDUtils.uuid()); |
| | | // } |
| | | sysUserDao.insertSysUser(user); |
| | | }else { |
| | | sysUserDao.updateSysUser(user); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Map getUser(String id) { |
| | | public SysUser getUser(Long id) { |
| | | try { |
| | | return this.sysUserDao.getUser(id); |
| | | } catch (DataAccessException e) { |
| | |
| | | } |
| | | |
| | | @Override |
| | | public SysUser getUserByAccount(String account) { |
| | | Map<String, String> params = new HashMap<>(); |
| | | public HazardousWasteUser getUserByAccount(String account,Long userId) { |
| | | Map<String, Object> params = new HashMap<>(); |
| | | params.put("account", account); |
| | | params.put("useId", userId); |
| | | return sysUserDao.getUserByAccount(params); |
| | | } |
| | | |
| | | @Override |
| | | public List<LaboratoryVo.LaboratoryUser> getUserByProject(Long projectId) { |
| | | return sysUserDao.getUserByProject(projectId); |
| | | } |
| | | |
| | | @Override |
| | | public List<SysUser> getUserByArp(String arp) { |
| | | return sysUserDao.getUserByArp(arp); |
| | | } |
| | | |
| | | @Override |
| | | public List<Map> getExportUserList(String arp, String name, String departmentName, Long projectId, String company) { |
| | | return sysUserDao.getExportUserList(arp, name, departmentName, projectId, company); |
| | | } |
| | | |
| | | @Override |
| | | public void exportUser2Excel(List<Map> list)throws Exception { |
| | | Map<String, String> map = new LinkedHashMap<>(); |
| | | map.put("companyName", "单位"); |
| | | map.put("departmentName", "部门"); |
| | | map.put("projectName", "课题组"); |
| | | 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); |
| | | } |
| | | |
| | | |
| | | } |