Просмотр исходного кода

问题修改 刷卡 指纹添加是否值班人员判断 2023-04-13

donggaosheng лет назад: 2
Родитель
Сommit
0458716929

+ 47 - 5
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabSecurityApplyController.java

@@ -5,10 +5,12 @@ import java.util.*;
 import java.io.IOException;
 import javax.servlet.http.HttpServletResponse;
 
+import NetSDKDemo.HCNetSDK;
 import com.github.pagehelper.PageHelper;
 import com.zd.common.core.utils.*;
 import com.zd.laboratory.domain.LabWhitelist;
 import com.zd.laboratory.service.*;
+import com.zd.model.constant.HttpStatus;
 import com.zd.model.constant.UserConstants;
 import com.zd.model.domain.R;
 import com.zd.model.domain.per.PerFun;
@@ -84,6 +86,9 @@ public class LabSecurityApplyController extends BaseController
     @Autowired
     private ILabWhitelistService labWhitelistService;
 
+    @Autowired
+    private IXxpDutyService xxpDutyService;
+
 
     /**
      * @param labSecurityApplyVO
@@ -846,13 +851,37 @@ public class LabSecurityApplyController extends BaseController
      * @return
      */
     @RequestMapping("/app/securityFingerList")
-    public ResultData securityFingerList(Long labId)
-    {
-        List<Map<String,Object>> list = labSecurityApplyService.selectSecurityFingerList(labId);
+    public ResultData securityFingerList(Long labId) {
+        List<Map<String, Object>> list = labSecurityApplyService.selectSecurityFingerList(labId);
+        for (Map<String, Object> map : list) {
+            map.put("isDutyUser", 0);
+            Long userId = Long.parseLong(map.get("userId") + "");
+            String userType = String.valueOf(map.get("userType"));
+            String isWhite = String.valueOf(map.get("isWhite"));
+            //如果是学生 或者白名单的老师 进二类页面
+            if (userType.equals("22") || (userType.equals("11") && isWhite.equals("0"))) {
+                map.put("pageType", 2);
+            }
+            int number = iLabSubjectService.isAdminOrSafeUser(labId, userId);
+            //一类首页对应身份为白名单老师、实验室负责人、安全责任人
+            if (number > 0 || (userType.equals("11") && isWhite.equals("1"))) {
+                map.put("pageType", 1);
+            }
+            String dateTime = DateUtils.getDate();
+            List<Map<String, Object>> dutyList = xxpDutyService.selectDutyUser(labId, dateTime);
+            //判断是否当天值班
+            for (Map<String, Object> dutyMap : dutyList) {
+                String userObj = String.valueOf(dutyMap.get("userId"));
+                if (StringUtils.isNotEmpty(userObj) && StringUtils.isNotNull(userObj)) {
+                    if (Long.parseLong(userObj) == userId) {
+                        map.put("isDutyUser", 1);
+                        break;
+                    }
+                }
+            }
+        }
         return ResultData.success(list);
     }
-
-
     /**
      * 电子信息牌获取准入人员的指纹信息列表
      * @param labId
@@ -864,6 +893,7 @@ public class LabSecurityApplyController extends BaseController
         cardNum=cardNum.replaceAll("\\s*|\r|\n|\t","");
         List<Map<String,Object>> list = labSecurityApplyService.selectSecurityCardList(labId);
         for(Map<String,Object> map:list){
+            map.put("isDutyUser",0);
             if(StringUtils.isNotNull(map.get("cardNum"))){
                 String decryptCard=DESUtils.decrypt(String.valueOf(map.get("cardNum")));
                 logger.info("decryptCard卡号解密:"+decryptCard);
@@ -880,6 +910,18 @@ public class LabSecurityApplyController extends BaseController
                     if(num>0 || (userType.equals("11") && isWhite.equals("1"))){
                         map.put("pageType",1);
                     }
+                    String dateTime = DateUtils.getDate();
+                    //判断是否当天值班
+                    List<Map<String,Object>> dutyList=xxpDutyService.selectDutyUser(labId,dateTime);
+                    for(Map<String,Object> dutyMap:dutyList){
+                        String userObj=String.valueOf(dutyMap.get("userId"));
+                        if(StringUtils.isNotEmpty(userObj) && StringUtils.isNotNull(userObj)){
+                            if(Long.parseLong(userObj)==userId){
+                                map.put("isDutyUser",1);
+                                break;
+                            }
+                        }
+                    }
                     map.remove("cardNum");
                     map.remove("isWhite");
                     return ResultData.success(map);

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

@@ -601,10 +601,10 @@
     <select id="selectSecurityFingerList" resultType="java.util.Map">
             <!--SELECT  finger,user_id userId,user_name userName,user_type userType 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 DATE_FORMAT(valid_end_time,'%Y-%m-%d') >= DATE_FORMAT(NOW(),'%Y-%m-%d') AND DATE_FORMAT(valid_begin_time,'%Y-%m-%d') <![CDATA[<=]]> DATE_FORMAT(NOW(),'%Y-%m-%d'))-->
-        SELECT  xxp.finger,xxp.user_id userId,xxp.user_name userName,xxp.user_type userType FROM  xxp_user_auth xxp WHERE (SELECT user_id
+        SELECT  xxp.finger,xxp.user_id userId,xxp.user_name userName,xxp.user_type userType,0 AS isWhite FROM  xxp_user_auth xxp WHERE (SELECT count(user_id)
         FROM  lab_security_apply AS lab WHERE audit_status=2 AND subject_id=#{subjectId} AND DATE_FORMAT(valid_end_time,'%Y-%m-%d') >= DATE_FORMAT(NOW(),'%Y-%m-%d') AND DATE_FORMAT(valid_begin_time,'%Y-%m-%d') <![CDATA[<=]]> DATE_FORMAT(NOW(),'%Y-%m-%d') AND xxp.user_id=lab.user_id)>0
         UNION
-        SELECT  xxp.finger,xxp.user_id userId,xxp.user_name userName,xxp.user_type userType FROM  xxp_user_auth xxp WHERE (SELECT COUNT(user_id)
+        SELECT  xxp.finger,xxp.user_id userId,xxp.user_name userName,xxp.user_type userType,1 AS isWhite FROM  xxp_user_auth xxp WHERE (SELECT COUNT(user_id)
         FROM  lab_whitelist AS lw INNER JOIN lab_white_join_sublist lwjs ON lw.user_id=lwjs.white_user_id WHERE  xxp.user_id=lw.user_id AND lwjs.subject_id=#{subjectId})>0
 
     </select>