From 126ae649e7bbe07369d8802dd06f546fee138cb1 Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: 星期一, 01 二月 2021 14:29:43 +0800
Subject: [PATCH] 修改用户arp问题

---
 src/main/java/com/nanometer/smartlab/service/SysUserService.java       |    2 ++
 src/main/java/com/nanometer/smartlab/controller/UserMngController.java |   10 ++++++++--
 src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml                |    4 ++++
 src/main/java/com/nanometer/smartlab/service/SysUserServiceImpl.java   |    5 +++++
 src/main/java/com/nanometer/smartlab/dao/SysUserDao.java               |    2 ++
 5 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java
index 9656bc2..92407d3 100644
--- a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java
@@ -412,8 +412,14 @@
                     return;
                 }
 
-                // 检查ARP号
-                if (this.sysUserService.isSysUserExist(this.sysUser.getArp(), null, null, this.sysUser.getId())) {
+                // 检查ARP号 //除自己外的arp
+//                if (this.sysUserService.isSysUserExist(this.sysUser.getArp(), null, null, this.sysUser.getId())) {
+//                    FacesUtils.warn("ARP已存在。");
+//                    return;
+//                }
+                List<SysUser> list = sysUserService.getUserByArp(this.sysUser.getArp());
+                assert list.size() < 2;
+                if (list.size() > 0 && !list.get(0).getId().equals(this.sysUser.getId())) {
                     FacesUtils.warn("ARP已存在。");
                     return;
                 }
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysUserDao.java b/src/main/java/com/nanometer/smartlab/dao/SysUserDao.java
index 581b524..a9eb355 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysUserDao.java
+++ b/src/main/java/com/nanometer/smartlab/dao/SysUserDao.java
@@ -51,4 +51,6 @@
     HazardousWasteUser getUserByAccount(Map params);
 
     List<LaboratoryVo.LaboratoryUser> getUserByProject(@Param("project") String project);
+
+    List<SysUser> getUserByArp(String arp);
 }
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml
index e171985..06c7961 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml
@@ -272,6 +272,10 @@
     AND waster = '1'
     AND project = #{project};
     </select>
+    <select id="getUserByArp" resultMap="SysUser">
+        select * from sys_user
+        where arp = #{0} and valid_flag = 1
+    </select>
     <update id="updateUserPointBySelective" parameterType="java.util.Map">
     update sys_user set point=#{point}
     <where>
diff --git a/src/main/java/com/nanometer/smartlab/service/SysUserService.java b/src/main/java/com/nanometer/smartlab/service/SysUserService.java
index 5fd2f5b..329a102 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysUserService.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysUserService.java
@@ -44,4 +44,6 @@
     HazardousWasteUser getUserByAccount(String account,String name);
 
     List<LaboratoryVo.LaboratoryUser> getUserByProject(String project);
+
+    List<SysUser> getUserByArp(String arp);
 }
diff --git a/src/main/java/com/nanometer/smartlab/service/SysUserServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysUserServiceImpl.java
index c9bd4d4..c5c11dc 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysUserServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysUserServiceImpl.java
@@ -369,5 +369,10 @@
         return sysUserDao.getUserByProject(project);
     }
 
+    @Override
+    public List<SysUser> getUserByArp(String arp) {
+        return sysUserDao.getUserByArp(arp);
+    }
+
 
 }

--
Gitblit v1.9.2