hanzhiwei лет назад: 2
Родитель
Сommit
919f192df4

+ 3 - 3
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/LabViolationScoreSite.java

@@ -66,12 +66,12 @@ public class LabViolationScoreSite extends BaseEntity
         this.wear = wear;
     }
 
-    public String getWear() 
+    public String getWear()
     {
         return wear;
     }
-    public void setLeaves(String leave)
-    {
+
+    public void setLeaves(String leaves) {
         this.leaves = leaves;
     }
 

+ 0 - 3
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/vo/HaikangUserVo.java

@@ -79,9 +79,6 @@ public class HaikangUserVo extends BaseEntity {
     }
 
     public String getVerifyMode() {
-        if(StringUtils.isNotBlank(verifyMode)){
-
-        }
         return null;
     }
 

+ 83 - 88
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/onemachine/service/OneMachineService.java

@@ -165,19 +165,18 @@ public class OneMachineService implements ValidationSignInPerInfo {
                 labWhitelistVO.setUserId(signInfoVO.getSingInUser().getUserId());
                 labWhitelistVO.setSubId(signInfoVO.getSubId());
                 List<LabWhitelist> list = iLabWhitelistService.selectLabWhiteJoinSubList(labWhitelistVO);
-                if(list.size()==0){
+                if(list.isEmpty() && !subject.getAdminId().equals(signInfoVO.getSingInUser().getUserId())){
                     //是否改实验室负责人
-                    if(!subject.getAdminId().equals(signInfoVO.getSingInUser().getUserId())){
-                        //1 获取验证安全准入凭证
-                        LabSecurityApplyVO labSecurityApply = new LabSecurityApplyVO();
-                        labSecurityApply.setSubjectId(signInfoVO.getSubId());
-                        labSecurityApply.setUserId(signInfoVO.getSingInUser().getUserId());
-                        labSecurityApply.setAuditStatus(2);
-                        List<LabSecurityApplyVO> listapply= iLabSecurityApplyService.selectLabSecurityApplyList(labSecurityApply);
-                        if (listapply.size()==0) {
-                            messages.add("您未获取准入凭证!您需要通过小程序申请实验室准入资格后才能签到。");
-                        }
+                    //1 获取验证安全准入凭证
+                    LabSecurityApplyVO labSecurityApply = new LabSecurityApplyVO();
+                    labSecurityApply.setSubjectId(signInfoVO.getSubId());
+                    labSecurityApply.setUserId(signInfoVO.getSingInUser().getUserId());
+                    labSecurityApply.setAuditStatus(2);
+                    List<LabSecurityApplyVO> listapply= iLabSecurityApplyService.selectLabSecurityApplyList(labSecurityApply);
+                    if (listapply.isEmpty()) {
+                        messages.add("您未获取准入凭证!您需要通过小程序申请实验室准入资格后才能签到。");
                     }
+
                 }
             }
 
@@ -319,79 +318,32 @@ public class OneMachineService implements ValidationSignInPerInfo {
             if (user == null || user.getUserId() == null) {
                 return ResultData.fail(600, "签到&签出人脸已超时,请重新刷卡重试!");
             }
-            if (user != null) {
-                String s = StrUtil.subAfter(code, "_", true);
-                if (signEnum.equals(SignEnum.SIGN_IN)) {
-                    logger.info("1111111签到调用人脸服务");
-                    //调用人脸验证
-                    R r;
-                    if(null!=face){
-                        r = faceCompare(user.getUserId(), face);
-                        //验证失败刷新验证码时间
-                        logger.info("r.getCode():"+r.getCode());
-                        if (r.getCode() != 200) {
-                            return ResultData.fail(r.getMsg());
-                        }
-                        logger.info("2222222人脸服务调用完成!");
-                    }
-                    //插入进入实验室记录
-                    LabSubjectAccessRecordVo subjectAccessRecord = new LabSubjectAccessRecordVo();
-                    subjectAccessRecord.setDeptId(user.getDeptId());
-                    subjectAccessRecord.setSubjectId(Long.parseLong(s));
-                    subjectAccessRecord.setJoinUserId(user.getUserId());
-
-                    long l = subjectAccessRecordService.leaveAgainSign(subjectAccessRecord);
-                    //
-                    if (l > 0) {
-                        redisService.deleteObject(verifyKey);
-                        //增加一个key 用记录ID作为key,值是实验室ID 有效期两分钟
-                        redisService.setCacheObject(BaseConstants.SINGIN_id_KEY + subjectAccessRecord.getId(), Long.parseLong(s), 2L, TimeUnit.MINUTES);
-                        // 这里通过实验室id查询楼层id
-                        LabBuildFloorLayout labBuildFloorLayout = new LabBuildFloorLayout();
-                        labBuildFloorLayout.setSubId(Long.parseLong(s));
-                        List <LabBuildFloorLayoutVo> floorLayoutVoList = labBuildFloorLayoutService.selectLabBuildFloorLayoutList(labBuildFloorLayout);
-                        if(floorLayoutVoList.size()>0){
-                            LabBuildFloorLayoutVo floorVo = floorLayoutVoList.get(0);
-                            // 这里需要给管控页面推送一个消息
-                            messageSendService.subUserByChange(floorVo.getFloorId(),Long.parseLong(s));
-                            // 这里需要给管控页面推送一个消息
-                            messageSendService.builUserByChange(floorVo.getBuildId());
-                        }
-                    }else{
-                        return ResultData.fail("当前用户已经签到成功,不能重复签到!");
-                    }
-
-                    //学生登陆时 给奖励分
-                    if(UserConstants.USER_TYPE_STUDENT.equals(user.getType())){
-                        Map map = new HashMap();
-                        map.put("userId", user.getUserId());
-                        map.put("status", "0");
-                        r = remoteExamService.addLoginfo(map);
-                        if (r.getCode() != 200) {
-                            logger.info("打卡签到奖励分记录保存失败!");
-                        }
+            String s = StrUtil.subAfter(code, "_", true);
+            if (signEnum.equals(SignEnum.SIGN_IN)) {
+                logger.info("1111111签到调用人脸服务");
+                //调用人脸验证
+                R r;
+                if(null!=face){
+                    r = faceCompare(user.getUserId(), face);
+                    //验证失败刷新验证码时间
+                    logger.info("r.getCode():"+r.getCode());
+                    if (r.getCode() != 200) {
+                        return ResultData.fail(r.getMsg());
                     }
-
-                    // 用户签到成功检测有无管控工作,有则发起通知
-                    labGradeManageRecordService.sendManageMsgBySiginUser(user.getUserId(), Long.parseLong(s));
-
-                    logger.info("333333用户签到完成!");
-                    return ResultData.result(subjectAccessRecord.getId());
-                } else if (signEnum.equals(SignEnum.SIGN_OUT)) {
+                    logger.info("2222222人脸服务调用完成!");
+                }
+                //插入进入实验室记录
+                LabSubjectAccessRecordVo subjectAccessRecord = new LabSubjectAccessRecordVo();
+                subjectAccessRecord.setDeptId(user.getDeptId());
+                subjectAccessRecord.setSubjectId(Long.parseLong(s));
+                subjectAccessRecord.setJoinUserId(user.getUserId());
+
+                long l = subjectAccessRecordService.leaveAgainSign(subjectAccessRecord);
+                //
+                if (l > 0) {
                     redisService.deleteObject(verifyKey);
-                    subjectAccessRecordService.out(Long.parseLong(s), user.getUserId());
-
-                    //学生登陆时 给奖励分
-                    if(UserConstants.USER_TYPE_STUDENT.equals(user.getType())){
-                        Map map = new HashMap();
-                        map.put("userId", user.getUserId());
-                        map.put("status", "1");
-                        R r = remoteExamService.addLoginfo(map);
-                        if (r.getCode() != 200) {
-                            logger.info("打卡签出奖励分记录保存失败!");
-                        }
-                    }
-
+                    //增加一个key 用记录ID作为key,值是实验室ID 有效期两分钟
+                    redisService.setCacheObject(BaseConstants.SINGIN_id_KEY + subjectAccessRecord.getId(), Long.parseLong(s), 2L, TimeUnit.MINUTES);
                     // 这里通过实验室id查询楼层id
                     LabBuildFloorLayout labBuildFloorLayout = new LabBuildFloorLayout();
                     labBuildFloorLayout.setSubId(Long.parseLong(s));
@@ -403,8 +355,53 @@ public class OneMachineService implements ValidationSignInPerInfo {
                         // 这里需要给管控页面推送一个消息
                         messageSendService.builUserByChange(floorVo.getBuildId());
                     }
-                    return ResultData.result(true);
+                }else{
+                    return ResultData.fail("当前用户已经签到成功,不能重复签到!");
                 }
+
+                //学生登陆时 给奖励分
+                if(UserConstants.USER_TYPE_STUDENT.equals(user.getType())){
+                    Map map = new HashMap();
+                    map.put("userId", user.getUserId());
+                    map.put("status", "0");
+                    r = remoteExamService.addLoginfo(map);
+                    if (r.getCode() != 200) {
+                        logger.info("打卡签到奖励分记录保存失败!");
+                    }
+                }
+
+                // 用户签到成功检测有无管控工作,有则发起通知
+                labGradeManageRecordService.sendManageMsgBySiginUser(user.getUserId(), Long.parseLong(s));
+
+                logger.info("333333用户签到完成!");
+                return ResultData.result(subjectAccessRecord.getId());
+            } else if (signEnum.equals(SignEnum.SIGN_OUT)) {
+                redisService.deleteObject(verifyKey);
+                subjectAccessRecordService.out(Long.parseLong(s), user.getUserId());
+
+                //学生登陆时 给奖励分
+                if(UserConstants.USER_TYPE_STUDENT.equals(user.getType())){
+                    Map map = new HashMap();
+                    map.put("userId", user.getUserId());
+                    map.put("status", "1");
+                    R r = remoteExamService.addLoginfo(map);
+                    if (r.getCode() != 200) {
+                        logger.info("打卡签出奖励分记录保存失败!");
+                    }
+                }
+
+                // 这里通过实验室id查询楼层id
+                LabBuildFloorLayout labBuildFloorLayout = new LabBuildFloorLayout();
+                labBuildFloorLayout.setSubId(Long.parseLong(s));
+                List <LabBuildFloorLayoutVo> floorLayoutVoList = labBuildFloorLayoutService.selectLabBuildFloorLayoutList(labBuildFloorLayout);
+                if(floorLayoutVoList.size()>0){
+                    LabBuildFloorLayoutVo floorVo = floorLayoutVoList.get(0);
+                    // 这里需要给管控页面推送一个消息
+                    messageSendService.subUserByChange(floorVo.getFloorId(),Long.parseLong(s));
+                    // 这里需要给管控页面推送一个消息
+                    messageSendService.builUserByChange(floorVo.getBuildId());
+                }
+                return ResultData.result(true);
             }
         } catch (Exception e) {
             e.getStackTrace();
@@ -569,11 +566,9 @@ public class OneMachineService implements ValidationSignInPerInfo {
                     if("1".equals(lo)){
                         // 实验室负责人
                         LabSubject labSubject = labSubjectMapper.selectLabSubjectById(subId);
-                        if(StringUtils.isNotNull(labSubject)){
-                            if(userId.longValue() == labSubject.getAdminId().longValue()){
-                                checkFlag = true;
-                                break;
-                            }
+                        if(StringUtils.isNotNull(labSubject) && userId.longValue() == labSubject.getAdminId().longValue()){
+                            checkFlag = true;
+                            break;
                         }
                     }else if("2".equals(lo)){
                         // 实验室负责人