From ace3af57e7fa29e9808dedaba5b21a5c964a060c Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期三, 12 八月 2026 09:54:01 +0800
Subject: [PATCH] 增加专家的身份证重复判断

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java   |    5 +-
 ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceExternalpersonMapper.java            |    2 +
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceExternalpersonServiceImpl.java |    7 +++
 ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceExternalpersonService.java         |    2 +
 ruoyi-project/src/main/resources/mapper/project/ServiceExternalpersonMapper.xml                  |   36 ++++--------------
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceExternalpersonController.java  |   21 ++++++++++
 6 files changed, 42 insertions(+), 31 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceExternalpersonController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceExternalpersonController.java
index 57efec3..30d25e9 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceExternalpersonController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceExternalpersonController.java
@@ -6,6 +6,7 @@
 
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.project.domain.BaseOnlyvalue;
+import com.ruoyi.project.domain.ServiceDonatebaseinfo;
 import com.ruoyi.project.service.IBaseOnlyvalueService;
 import com.ruoyi.web.controller.common.OnlyValueCommon;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -88,6 +89,21 @@
     @PostMapping("/add")
     @RepeatSubmit
     public AjaxResult add(@RequestBody ServiceExternalperson serviceExternalperson) {
+       //鏍¢獙浜哄憳绫诲瀷銆佽韩浠借瘉
+        String usertype = serviceExternalperson.getUsertype();
+
+        if (usertype == null || usertype.isEmpty())
+        {
+            return AjaxResult.error("鏂板浜哄憳闇�瑕佺‘瀹氫汉鍛樼被鍨�!");
+        }
+        if (!"org".equals(usertype)){
+            String idcardno = serviceExternalperson.getIdcardno();
+            List<ServiceExternalperson> existpsersons = serviceExternalpersonService.getInfoByIDCardNo(idcardno);
+            if (existpsersons.size() > 0) {
+                return AjaxResult.error("鏂板浜哄憳韬唤璇�" + idcardno + "宸插瓨鍦�,浜哄憳淇℃伅涓嶈兘閲嶅娣诲姞!");
+            }
+        }
+
         if (StringUtils.isEmpty(serviceExternalperson.getUserno())) {
             String zj = onlyValueCommon.addOnlyValue("zj");
             String formattedNumber = String.format("%05d", zj);
@@ -127,4 +143,9 @@
     public AjaxResult getInfoByUserNo(@PathVariable("userno") String userno) {
         return AjaxResult.success(serviceExternalpersonService.getInfoByUserNo(userno));
     }
+
+    @GetMapping(value = "/getInfoByIDCardNo/{idcardno}")
+    public AjaxResult getInfoByIDCardNo(@PathVariable("idcardno") String idcardno) {
+        return AjaxResult.success(serviceExternalpersonService.getInfoByIDCardNo(idcardno));
+    }
 }
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java
index b83d5ad..035d050 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java
@@ -105,9 +105,8 @@
     @GetMapping("/list")
     public TableDataInfo list(ServiceReimbursement serviceReimbursement) {
         SysUser user = SecurityUtils.getLoginUser().getUser();
-
-//            serviceReimbursement.setCreateBy(user.getUserName());
-//            serviceReimbursement.setUsername(user.getNickName());
+        serviceReimbursement.setCreateBy(user.getUserName());
+        serviceReimbursement.setUsername(user.getNickName());
         startPage();
         List<ServiceReimbursement> list = serviceReimbursementService.queryList(serviceReimbursement);
         return getDataTable(list);
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceExternalpersonMapper.java b/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceExternalpersonMapper.java
index 4eaf6d9..de761cb 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceExternalpersonMapper.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceExternalpersonMapper.java
@@ -28,4 +28,6 @@
     List<ServiceExternalperson> getAllpeople(String usertype);
 
     ServiceExternalperson getInfoByUserNo(String userno);
+
+    List<ServiceExternalperson> getInfoByIDCardNo(String idcardno);
 }
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceExternalpersonService.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceExternalpersonService.java
index 543446e..e2b2145 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceExternalpersonService.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceExternalpersonService.java
@@ -26,4 +26,6 @@
 
 
     ServiceExternalperson getInfoByUserNo(String userno);
+
+    List<ServiceExternalperson> getInfoByIDCardNo(String idcardno);
 }
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceExternalpersonServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceExternalpersonServiceImpl.java
index 112ea26..d9f13a0 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceExternalpersonServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceExternalpersonServiceImpl.java
@@ -51,6 +51,9 @@
         if (StringUtils.isNotBlank(serviceExternalperson.getUsertype())) {
             wrappers.eq(ServiceExternalperson::getUsertype, serviceExternalperson.getUsertype());
         }
+        if (StringUtils.isNotBlank(serviceExternalperson.getUnitname())) {
+            wrappers.like(ServiceExternalperson::getUnitname, serviceExternalperson.getUnitname());
+        }
         return this.list(wrappers);
     }
 
@@ -81,4 +84,8 @@
         return serviceExternalpersonMapper.getInfoByUserNo(userno);
     }
 
+    @Override
+    public List<ServiceExternalperson> getInfoByIDCardNo(String idcardno) {
+        return serviceExternalpersonMapper.getInfoByIDCardNo(idcardno);
+    }
 }
diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceExternalpersonMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceExternalpersonMapper.xml
index 2b3e119..89a9c29 100644
--- a/ruoyi-project/src/main/resources/mapper/project/ServiceExternalpersonMapper.xml
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceExternalpersonMapper.xml
@@ -32,30 +32,7 @@
     </resultMap>
 
     <sql id="selectServiceExternalpersonVo">
-        select ID,
-               UserNo,
-               unit_tax_no,
-               UserName,
-               UserStatus,
-               IDCardNo,
-               UserType,
-               PersonnelUnitNo,
-               Sex,
-               Telephone,
-               Address,
-               UnitNo,
-               UnitName,
-               Title,
-               DepositBank,
-               BranchBankName,
-               BankCardNo,
-               del_flag,
-               create_by,
-               create_time,
-               update_by,
-               update_time,
-               PYM,
-               WBM
+        select *
         from service_externalperson
     </sql>
 
@@ -63,6 +40,7 @@
             resultMap="ServiceExternalpersonResult">
         <include refid="selectServiceExternalpersonVo"/>
         <where>
+            service_externalperson.del_flag = 0
             <if test="userno != null  and userno != ''">and UserNo = #{userno}</if>
             <if test="username != null  and username != ''">and UserName like concat('%', #{username}, '%')</if>
             <if test="usertype != null  and usertype != ''">and UserType = #{usertype}</if>
@@ -76,18 +54,20 @@
             <if test="branchbankname != null  and branchbankname != ''">and BranchBankName = #{branchbankname}</if>
             <if test="bankcardno != null  and bankcardno != ''">and BankCardNo = #{bankcardno}</if>
             <if test="unitTaxNo != null  and unitTaxNo != ''">and unit_tax_no = #{unitTaxNo}</if>
-
         </where>
     </select>
 
     <select id="getAllpeople" resultType="com.ruoyi.project.domain.ServiceExternalperson">
         <include refid="selectServiceExternalpersonVo"/>
-        where UserType = #{usertype}
+        where service_externalperson.del_flag = 0 and UserType = #{usertype}
     </select>
     <select id="getInfoByUserNo" resultType="com.ruoyi.project.domain.ServiceExternalperson">
         <include refid="selectServiceExternalpersonVo"/>
-        where UserNo = #{userno}
+        where del_flag = 0 and UserNo = #{userno}
     </select>
 
-
+    <select id="getInfoByIDCardNo" resultType="com.ruoyi.project.domain.ServiceExternalperson">
+        <include refid="selectServiceExternalpersonVo"/>
+        where del_flag = 0 and idcardno = #{idcardno}
+    </select>
 </mapper>

--
Gitblit v1.9.3