Pārlūkot izejas kodu

fix. 打卡保存异常

caozixuan 7 mēneši atpakaļ
vecāks
revīzija
94757d114a

+ 12 - 6
sop-business/src/main/java/com/qmth/sop/business/service/impl/TBDingServiceImpl.java

@@ -397,8 +397,14 @@ public class TBDingServiceImpl extends ServiceImpl<TBDingMapper, TBDing> impleme
             throw ExceptionResultEnum.ERROR.exception("打卡失败,时间异常");
         }
 
-        List<TBDing> todayDingList = this.list(
-                new QueryWrapper<TBDing>().lambda().eq(TBDing::getUserId, userId).eq(TBDing::getSignYear, signYear).eq(TBDing::getSignDate, signDate));
+        QueryWrapper<TBDing> dingQueryWrapper = new QueryWrapper<>();
+        dingQueryWrapper.lambda().eq(TBDing::getUserId, userId).eq(TBDing::getUserId, userId).eq(TBDing::getSignYear, signYear).eq(TBDing::getSignDate, signDate);
+        if (isCoordinator) {
+            dingQueryWrapper.lambda().isNull(TBDing::getSopNo);
+        } else {
+            dingQueryWrapper.lambda().isNotNull(TBDing::getSopNo);
+        }
+        List<TBDing> todayDingList = this.list(dingQueryWrapper);
         // 该用户在其他sop的当天打卡记录
         List<TBDing> otherSopDingList;
         if (isCoordinator) {
@@ -472,7 +478,7 @@ public class TBDingServiceImpl extends ServiceImpl<TBDingMapper, TBDing> impleme
                 tbDing.setAxisInX(axisX);
                 tbDing.setAxisInY(axisY);
                 tbDing.setFaceInPass(facePass);
-                if (coordinatorCustomId != null){
+                if (coordinatorCustomId != null) {
                     tbDing.setSignInCustomId(coordinatorCustomId);
                 }
                 break;
@@ -482,7 +488,7 @@ public class TBDingServiceImpl extends ServiceImpl<TBDingMapper, TBDing> impleme
                 tbDing.setAxisOutX(axisX);
                 tbDing.setAxisOutY(axisY);
                 tbDing.setFaceOutPass(facePass);
-                if (coordinatorCustomId != null){
+                if (coordinatorCustomId != null) {
                     tbDing.setSignOutCustomId(coordinatorCustomId);
                 }
                 break;
@@ -501,7 +507,7 @@ public class TBDingServiceImpl extends ServiceImpl<TBDingMapper, TBDing> impleme
                 tbDing.setAxisInX(axisX);
                 tbDing.setAxisInY(axisY);
                 tbDing.setFaceInPass(facePass);
-                if (coordinatorCustomId != null){
+                if (coordinatorCustomId != null) {
                     tbDing.setSignInCustomId(coordinatorCustomId);
                 }
                 break;
@@ -511,7 +517,7 @@ public class TBDingServiceImpl extends ServiceImpl<TBDingMapper, TBDing> impleme
                 tbDing.setAxisOutX(axisX);
                 tbDing.setAxisOutY(axisY);
                 tbDing.setFaceOutPass(facePass);
-                if (coordinatorCustomId != null){
+                if (coordinatorCustomId != null) {
                     tbDing.setSignOutCustomId(coordinatorCustomId);
                 }
                 break;