Prechádzať zdrojové kódy

信息牌接口 指纹和刷卡 2023-04-04

donggaosheng 2 rokov pred
rodič
commit
fcf32eb8b7
13 zmenil súbory, kde vykonal 251 pridanie a 6 odobranie
  1. 28 0
      zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/feign/RemoteDutyService.java
  2. 15 0
      zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/feign/fallback/RemoteDutyFailback.java
  3. 58 4
      zd-modules/zd-base/src/main/java/com/zd/base/app/controller/LabBoardApi.java
  4. 38 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabSecurityApplyController.java
  5. 17 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabXxpCardInfoController.java
  6. 14 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/LabSecurityApplyMapper.java
  7. 8 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/XxpCardInfoMapper.java
  8. 15 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/ILabSecurityApplyService.java
  9. 8 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/IXxpCardInfoService.java
  10. 20 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabSecurityApplyServiceImpl.java
  11. 11 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/XxpCardInfoServiceImpl.java
  12. 14 2
      zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabSecurityApplyMapper.xml
  13. 5 0
      zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/XxpCardInfoMapper.xml

+ 28 - 0
zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/feign/RemoteDutyService.java

@@ -109,4 +109,32 @@ public interface RemoteDutyService {
      */
      */
     @RequestMapping(value = "/subject/getSubjectName/{id}")
     @RequestMapping(value = "/subject/getSubjectName/{id}")
     ResultData getSubjectName(@PathVariable("id") Long id);
     ResultData getSubjectName(@PathVariable("id") Long id);
+
+
+
+    /**
+     * 根据一体机编号查询实验室编号
+     * @param num
+     * @return
+     */
+    @RequestMapping("/XxpCardInfo/XxpCardInfoByCard/{num}")
+    ResultData XxpCardInfoByCard(@PathVariable("num") String num);
+
+
+    /**
+     * 电子信息牌获取准入人员的指纹信息列表
+     * @param labId
+     * @return
+     */
+    @RequestMapping("/apply/app/securityFingerList")
+    ResultData securityFingerList(@RequestParam("labId") Long labId);
+
+    /**
+     * 电子信息牌获取准入人员的指纹信息列表
+     * @param labId
+     * @return
+     */
+    @RequestMapping("/apply/app/securityNumList")
+    ResultData securityNumList(@RequestParam("labId") Long labId);
+
 }
 }

+ 15 - 0
zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/feign/fallback/RemoteDutyFailback.java

@@ -79,6 +79,21 @@ public class RemoteDutyFailback implements FallbackFactory<RemoteDutyService> {
             public ResultData getSubjectName(Long id) {
             public ResultData getSubjectName(Long id) {
                 return ResultData.fail("获取实验室名称失败:" + cause.getMessage());
                 return ResultData.fail("获取实验室名称失败:" + cause.getMessage());
             }
             }
+
+            @Override
+            public ResultData XxpCardInfoByCard(String num) {
+                return ResultData.fail("根据电子信息牌编号获取实验室失败:" + cause.getMessage());
+            }
+
+            @Override
+            public ResultData securityFingerList(Long labId) {
+                return ResultData.fail("电子信息牌获取准入人员的指纹信息列表:" + cause.getMessage());
+            }
+
+            @Override
+            public ResultData securityNumList(Long labId) {
+                return ResultData.fail("电子信息牌获取准入人员的指纹信息列表:" + cause.getMessage());
+            }
         };
         };
     }
     }
 }
 }

+ 58 - 4
zd-modules/zd-base/src/main/java/com/zd/base/app/controller/LabBoardApi.java

@@ -260,11 +260,24 @@ public class LabBoardApi {
         if (sysLogo == null || sysLogo.getCode() != 200) {
         if (sysLogo == null || sysLogo.getCode() != 200) {
             return ResultData.fail(500, "获取logo失败!");
             return ResultData.fail(500, "获取logo失败!");
         }
         }
-        Map<String,Object> map=new HashMap<String,Object>();
-        if(StringUtils.isNull(resultData.getData())){
-            return ResultData.fail("获取实验室编号失败!");
+        Object subjectId=resultData.getData();
+        String isRelationGuard="2";
+        String authType="";
+        Map<String,Object> map= new HashMap<>();
+        if(StringUtils.isNull(subjectId)){
+            ResultData xxpMap=remoteDutyService.XxpCardInfoByCard(num);
+            Object obj=xxpMap.getData();
+            if (obj == null) {
+                return ResultData.fail("获取实验室编号失败!");
+            }
+            Map<String,Object> dataMap= (Map<String, Object>) xxpMap.getData();
+            subjectId=String.valueOf(dataMap.get("subjectId"));
+            isRelationGuard=String.valueOf(dataMap.get("isRelationGuard"));
+            authType=String.valueOf(dataMap.get("authType"));
         }
         }
-        map.put("labId",resultData.getData());
+        map.put("labId",subjectId);
+        map.put("authType",authType);
+        map.put("isRelationGuard",isRelationGuard);
         map.put("logoutTime",sysLogo.getData().getLogoutTime());
         map.put("logoutTime",sysLogo.getData().getLogoutTime());
         map.put("returnTime",sysLogo.getData().getReturnTime());
         map.put("returnTime",sysLogo.getData().getReturnTime());
         map.put("isStart",sysLogo.getData().getIsStart());
         map.put("isStart",sysLogo.getData().getIsStart());
@@ -356,4 +369,45 @@ public class LabBoardApi {
         }
         }
         return allDate;
         return allDate;
     }
     }
+
+
+    /**
+     * 电子信息牌获取准入人员的指纹信息列表
+     * @param labId
+     * @return
+     */
+    @ApiOperation(value = "电子信息牌获取准入人员的指纹信息列表")
+    @GetMapping(value = "/getFingerList")
+    public ResultData getFingerList(@RequestParam("labId") Long labId) {
+        ResultData resultData=remoteDutyService.securityFingerList(labId);
+        return resultData;
+    }
+
+
+    /**
+     * 电子信息牌获取准入人员的指纹信息列表
+     * @param labId
+     * @return
+     */
+    @ApiOperation(value = "刷卡是否可以开门禁 1可以,0不可以")
+    @GetMapping(value = "/getCardIsOpen")
+    public ResultData getCardIsOpen(@RequestParam("labId") Long labId,@RequestParam("cardNum") String cardNum) {
+        Integer isOpen=0;
+        ResultData resultData=remoteDutyService.securityNumList(labId);
+        if(resultData==null && resultData.getCode()!=HttpStatus.SUCCESS){
+            return ResultData.fail("获取准入人员卡号失败!");
+        }
+        Object resultObj=resultData.getData();
+        if(null==resultObj){
+            return ResultData.fail("获取准入人员卡号失败!");
+        }
+        List<String> cardList= (List<String>)resultObj;
+        for(String str:cardList){
+             if(str.equals(cardNum)){
+                 isOpen=1;
+                 break;
+             }
+        }
+        return ResultData.success(isOpen);
+    }
 }
 }

+ 38 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabSecurityApplyController.java

@@ -807,4 +807,42 @@ public class LabSecurityApplyController extends BaseController
         }
         }
         return ResultData.success(list);
         return ResultData.success(list);
     }
     }
+
+    /**
+     * 电子信息牌获取准入人员的指纹信息列表
+     * @param labId
+     * @return
+     */
+    @RequestMapping("/app/securityFingerList")
+    public ResultData securityFingerList(Long labId)
+    {
+        List fingerList=new ArrayList();
+        List<String> list = labSecurityApplyService.selectSecurityFingerList(labId);
+        for(String str: list){
+            if(null!=str){
+                fingerList.add(str);
+            }
+        }
+        return ResultData.success(fingerList);
+    }
+
+
+    /**
+     * 电子信息牌获取准入人员的指纹信息列表
+     * @param labId
+     * @return
+     */
+    @RequestMapping("/app/securityNumList")
+    public ResultData securityNumList(Long labId)
+    {
+        List cardList=new ArrayList();
+        List<String> list = labSecurityApplyService.selectSecurityCardList(labId);
+        for(String str:list){
+            if(StringUtils.isNotNull(str) && StringUtils.isNotEmpty(str)){
+                String decryptCard=DESUtils.decrypt(str);
+                cardList.add(decryptCard);
+            }
+        }
+        return ResultData.success(cardList);
+    }
 }
 }

+ 17 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabXxpCardInfoController.java

@@ -21,6 +21,7 @@ import org.springframework.web.bind.annotation.*;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.IOException;
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 /**
 /**
  * 电子信息牌Controller
  * 电子信息牌Controller
@@ -175,4 +176,20 @@ public class LabXxpCardInfoController extends BaseController
         return ResultData.result(xxpCardInfoService.deleteXxpCardInfoById(id));
         return ResultData.result(xxpCardInfoService.deleteXxpCardInfoById(id));
     }
     }
 
 
+
+    /**
+     * 根据卡号获取电子信息牌信息
+     * @param cardNum
+     * @return
+     */
+    @RequestMapping("/XxpCardInfoByCard/{num}")
+    public ResultData XxpCardInfoByCard(@PathVariable("num") String cardNum)
+    {
+        List<Map<String, Object>> list = xxpCardInfoService.selectXxpCardInfoByCard(cardNum);
+        if(list.size()>0){
+            return ResultData.success(list.get(0));
+        }
+        return ResultData.success();
+    }
+
 }
 }

+ 14 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/LabSecurityApplyMapper.java

@@ -148,4 +148,18 @@ public interface LabSecurityApplyMapper
      * @return
      * @return
      */
      */
     List<Map<String, Object>> selectLabSecurityApply(Long subjectId);
     List<Map<String, Object>> selectLabSecurityApply(Long subjectId);
+
+    /**
+     * 电子信息牌获取准入人员的指纹信息列表
+     * @param subjectId
+     * @return
+     */
+    List<String> selectSecurityFingerList(Long subjectId);
+
+    /**
+     * 电子信息牌获取卡号列表
+     * @param subjectId
+     * @return
+     */
+    List<String> selectSecurityCardList(Long subjectId);
 }
 }

+ 8 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/XxpCardInfoMapper.java

@@ -3,6 +3,7 @@ package com.zd.laboratory.mapper;
 import com.zd.laboratory.domain.XxpCardInfo;
 import com.zd.laboratory.domain.XxpCardInfo;
 
 
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 /**
 /**
  * 巡查信息 Mapper接口
  * 巡查信息 Mapper接口
@@ -60,4 +61,11 @@ public interface XxpCardInfoMapper
      * @return 结果
      * @return 结果
      */
      */
     public int deleteXxpCardInfoByIds(Long[] ids);
     public int deleteXxpCardInfoByIds(Long[] ids);
+
+    /**
+     * 根据卡号查询是否有门禁
+     * @param cardNum
+     * @return
+     */
+    List<Map<String,Object>> selectXxpCardInfoByCard(String cardNum);
 }
 }

+ 15 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/ILabSecurityApplyService.java

@@ -177,4 +177,19 @@ public interface ILabSecurityApplyService
      * @return
      * @return
      */
      */
     List<LabSecurityApply>  selectValidApply(LabSecurityApply labSecurityApply);
     List<LabSecurityApply>  selectValidApply(LabSecurityApply labSecurityApply);
+
+
+    /**
+     * 电子信息牌获取准入人员的指纹信息列表
+     * @param subjectId
+     * @return
+     */
+    List<String> selectSecurityFingerList(Long subjectId);
+
+    /**
+     *获取安全准入人员的卡号信息
+     * @param subjectId
+     * @return
+     */
+    List<String> selectSecurityCardList(Long subjectId);
 }
 }

+ 8 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/IXxpCardInfoService.java

@@ -3,6 +3,7 @@ package com.zd.laboratory.service;
 import com.zd.laboratory.domain.XxpCardInfo;
 import com.zd.laboratory.domain.XxpCardInfo;
 
 
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 /**
 /**
  * 电子信息牌 Service接口
  * 电子信息牌 Service接口
@@ -63,4 +64,11 @@ public interface IXxpCardInfoService
      * @return 结果
      * @return 结果
      */
      */
     public int deleteXxpCardInfoById(Long id);
     public int deleteXxpCardInfoById(Long id);
+
+    /**
+     * 根据卡号查询是否有门禁
+     * @param card
+     * @return
+     */
+    public List<Map<String,Object>> selectXxpCardInfoByCard(String card);
 }
 }

+ 20 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabSecurityApplyServiceImpl.java

@@ -491,4 +491,24 @@ public class LabSecurityApplyServiceImpl implements ILabSecurityApplyService
     public List<LabSecurityApply> selectValidApply(LabSecurityApply labSecurityApply) {
     public List<LabSecurityApply> selectValidApply(LabSecurityApply labSecurityApply) {
         return labSecurityApplyMapper.selectValidApply(labSecurityApply);
         return labSecurityApplyMapper.selectValidApply(labSecurityApply);
     }
     }
+
+    /**
+     * 电子信息牌获取准入人员的指纹信息列表
+     * @param subjectId
+     * @return
+     */
+    @Override
+    public List<String> selectSecurityFingerList(Long subjectId) {
+        return labSecurityApplyMapper.selectSecurityFingerList(subjectId);
+    }
+
+    /**
+     * 电子信息牌获取卡号列表
+     * @param subjectId
+     * @return
+     */
+    @Override
+    public List<String> selectSecurityCardList(Long subjectId) {
+        return labSecurityApplyMapper.selectSecurityCardList(subjectId);
+    }
 }
 }

+ 11 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/XxpCardInfoServiceImpl.java

@@ -15,6 +15,7 @@ import org.springframework.stereotype.Service;
 
 
 import java.util.Date;
 import java.util.Date;
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 /**
 /**
  * 巡查Service业务层处理
  * 巡查Service业务层处理
@@ -136,4 +137,14 @@ public class XxpCardInfoServiceImpl implements IXxpCardInfoService
         }
         }
         return xxpCardInfoMapper.deleteXxpCardInfoById(id);
         return xxpCardInfoMapper.deleteXxpCardInfoById(id);
     }
     }
+
+    /**
+     * 根据卡号查询是否有门禁
+     * @param cardNum
+     * @return
+     */
+    @Override
+    public List<Map<String,Object>> selectXxpCardInfoByCard(String cardNum) {
+        return xxpCardInfoMapper.selectXxpCardInfoByCard(cardNum);
+    }
 }
 }

+ 14 - 2
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabSecurityApplyMapper.xml

@@ -573,10 +573,22 @@
 
 
     <!--获取实验室准入人员信息-->
     <!--获取实验室准入人员信息-->
     <select id="selectLabSecurityApply" resultType="java.util.Map">
     <select id="selectLabSecurityApply" resultType="java.util.Map">
-          SELECT  id id,user_name userName,date_format(valid_begin_time,'%Y-%m-%d') validBeginTime,date_format(valid_end_time,'%Y-%m-%d') validEndTime,
+          SELECT  id id,user_id userId,user_name userName,date_format(valid_begin_time,'%Y-%m-%d') validBeginTime,date_format(valid_end_time,'%Y-%m-%d') validEndTime,
           (SELECT avatar FROM sys_user WHERE user_id=lab.user_id) AS avatar,
           (SELECT avatar FROM sys_user WHERE user_id=lab.user_id) AS avatar,
           (SELECT user_name FROM sys_user WHERE user_id=lab.user_id) AS jobNumber
           (SELECT user_name FROM sys_user WHERE user_id=lab.user_id) AS jobNumber
-                FROM  lab_security_apply AS lab WHERE audit_status=2 AND subject_id=#{subjectId} and valid_end_time &gt;= now()
+                FROM  lab_security_apply AS lab WHERE audit_status=2 AND subject_id=#{subjectId} and valid_end_time <![CDATA[<]]> now()
+    </select>
+
+    <!--获取准入人员的手指信息-->
+    <select id="selectSecurityFingerList" resultType="java.lang.String">
+            SELECT  finger  FROM  xxp_user_auth WHERE user_id IN (SELECT user_id
+                FROM  lab_security_apply AS lab WHERE audit_status=2 AND subject_id=#{subjectId} and valid_end_time <![CDATA[<]]> now())
+    </select>
+
+    <!--获取准入人员的卡号信息-->
+    <select id="selectSecurityCardList" resultType="java.lang.String">
+            SELECT  card_num_simple  FROM  sys_user WHERE user_id IN (SELECT user_id
+                FROM  lab_security_apply  WHERE audit_status=2 AND subject_id=#{subjectId} and valid_end_time <![CDATA[<]]> now())
     </select>
     </select>
 
 
 </mapper>
 </mapper>

+ 5 - 0
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/XxpCardInfoMapper.xml

@@ -73,6 +73,11 @@
         where t.id = #{id}
         where t.id = #{id}
     </select>
     </select>
 
 
+    <select id="selectXxpCardInfoByCard" resultType="java.util.Map">
+         SELECT  card_num cardNum,is_start isRelationGuard,subject_id subjectId,auth_type authType FROM  `xxp_card_info` WHERE card_num=#{cardNum}
+         ORDER BY id DESC
+    </select>
+
     <insert id="insertXxpCardInfo" parameterType="com.zd.laboratory.domain.XxpCardInfo">
     <insert id="insertXxpCardInfo" parameterType="com.zd.laboratory.domain.XxpCardInfo">
         insert into xxp_card_info
         insert into xxp_card_info
         <trim prefix="(" suffix=")" suffixOverrides=",">
         <trim prefix="(" suffix=")" suffixOverrides=",">