소스 검색

添加记录

WIN-20240318EJO\Administrator 1 년 전
부모
커밋
ad69ea4387

+ 18 - 2
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabSubAccessCheckLogController.java

@@ -1,9 +1,11 @@
 package com.zd.laboratory.controller;
 
+import com.alibaba.fastjson.JSON;
 import com.zd.common.core.redis.RedisService;
 import com.zd.common.core.utils.Assert;
 import com.zd.laboratory.domain.LabSubAccessCheckInLog;
 import com.zd.laboratory.domain.LabSubjectAccessRecord;
+import com.zd.laboratory.onemachine.service.OneMachineService;
 import com.zd.laboratory.service.ILabSubAccessCheckLogService;
 import com.zd.laboratory.service.ILabSubjectAccessRecordService;
 import com.zd.model.constant.BaseConstants;
@@ -11,6 +13,8 @@ import com.zd.model.domain.ResultData;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -25,6 +29,8 @@ import org.springframework.web.bind.annotation.*;
 @RequestMapping("/checklog")
 public class LabSubAccessCheckLogController {
 
+    private static Logger logger = LoggerFactory.getLogger(OneMachineService.class);
+
     @Autowired
     ILabSubAccessCheckLogService labSubAccessCheckLogService;
 
@@ -43,8 +49,13 @@ public class LabSubAccessCheckLogController {
     @ApiOperation("提交检查项结果")
     public ResultData add(@RequestBody @Validated LabSubAccessCheckInLog labSubAccessCheckInLog)
     {
+        logger.info("submit the inspection item results starting...,param:{}", JSON.toJSONString(labSubAccessCheckInLog));
+        int result = labSubAccessCheckLogService.insertLog(labSubAccessCheckInLog);
+        if(result > 0){
+            logger.info("submit the inspection item results successfully!");
+        }
         //新增日志
-        return ResultData.result(labSubAccessCheckLogService.insertLog(labSubAccessCheckInLog));
+        return ResultData.result(result);
     }
 
 
@@ -61,6 +72,7 @@ public class LabSubAccessCheckLogController {
         if (cacheObject == null) {
             return ResultData.fail(600, "签到&签出已超时,请重新刷卡重试!");
         }
+        logger.info("skipped check operation starting !id:{},code:{}",id,code);
         Assert.isNotNull(cacheObject, "签到超时!");
         LabSubAccessCheckInLog labSubAccessCheckInLog = new LabSubAccessCheckInLog();
         labSubAccessCheckInLog.setCode(code);
@@ -73,8 +85,12 @@ public class LabSubAccessCheckLogController {
         accessRecord.setId(id);
         subjectAccessRecordService.updateLabSubjectAccessRecordById(accessRecord);
 
+        int result = labSubAccessCheckLogService.insertLog(labSubAccessCheckInLog);
+        if(result > 0){
+            logger.info("skipped check operation successfully.");
+        }
         //新增日志
-        return ResultData.result(labSubAccessCheckLogService.insertLog(labSubAccessCheckInLog));
+        return ResultData.result(result);
     }
 
 

+ 12 - 2
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/onemachine/service/OneMachineService.java

@@ -2,6 +2,7 @@ package com.zd.laboratory.onemachine.service;
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
 import com.zd.algorithm.api.face.feign.RemoteFaceService;
 import com.zd.common.core.exception.NoRollException;
 import com.zd.common.core.exception.ServiceException;
@@ -307,7 +308,7 @@ public class OneMachineService implements ValidationSignInPerInfo {
      */
     public ResultData postSign(String code, SignEnum signEnum, byte[] face) {
         try {
-            logger.info("&&&&&&&&&&&&&&&&&&&&&&" + code + "," + signEnum);
+            logger.info("sign starting....,code:{},signEnum:{}",code,signEnum);
             if (StringUtils.isEmpty(code)) {
                 return ResultData.fail(600, "签到验证码错误,请重新刷卡重试!");
             }
@@ -412,6 +413,7 @@ public class OneMachineService implements ValidationSignInPerInfo {
      */
     public R commitSign(Long id) {
         String key = BaseConstants.SINGIN_id_KEY + id;
+        logger.info("commitSign starting,id:{}",id);
         Long subId = redisService.getCacheObject(key);
         if (subId == null) {
             return R.fail(600, "签到已超时,请重新刷卡重试!");
@@ -419,20 +421,25 @@ public class OneMachineService implements ValidationSignInPerInfo {
         //获取实验室配置的签到检查项
         LabSubject subject = subjectService.selectLabSubjectById(subId);
         Assert.isNotNull(subject, "实验室不存在");
-
+        logger.info("subject info:{}", JSON.toJSONString(subject));
         // 如果是白老师证号则不校验
         LabSubjectAccessRecord record = subjectAccessRecordService.selectLabSubjectAccessRecordById(id);
+        logger.info("subject access record:{}", JSON.toJSONString(record));
         if (record != null && record.getJoinUserId() != null && record.getJoinUserId() != 92612) {
             Optional.ofNullable(subject.getCheckIn())
                     .filter(a -> StrUtil.isNotBlank(a))
                     .ifPresent(a -> {
                         String[] split = a.split(",");
+                        logger.info("split:{}",split.toString());
                         //获取检查记录
                         List<String> strings = labSubAccessCheckLogService.selectSuccessTypeBySignId(id);
+                        logger.info("subject access check in logs:{}", JSON.toJSONString(strings));
                         if (CollUtil.isEmpty(strings) || strings.size() != split.length) {
+                            logger.error("fail 1");
                             throw new ServiceException("未完成全部检查记录!");
                         }
                         Arrays.stream(split).filter(b -> !strings.contains(b)).findFirst().ifPresent(b -> {
+                            logger.error("fail 2,b:{}",b);
                             throw new ServiceException("未完成全部检查记录!");
                         });
                     });
@@ -441,12 +448,15 @@ public class OneMachineService implements ValidationSignInPerInfo {
         //更新签到记录
         boolean b = subjectAccessRecordService.updateCheck(id);
         if (!b) {
+            logger.error("updateCheck fail");
             throw new ServiceException("更新签到记录失败!!");
         }
+
         //删除key
         redisService.deleteObject(key);
         LabSubjectAccessRecord labSubjectAccessRecord = subjectAccessRecordService.selectLabSubjectAccessRecordById(id);
         if (null == labSubjectAccessRecord) {
+            logger.error("query sign record fail");
             throw new ServiceException("查询签到记录失败!!");
         }