From e20c58a63d3827d9c55cd5f387568fb0916b9590 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期五, 17 三月 2023 23:37:12 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity

---
 service-common/src/main/java/com/java110/common/cmd/attendanceClasses/CheckInCmd.java |   47 +++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 45 insertions(+), 2 deletions(-)

diff --git a/service-common/src/main/java/com/java110/common/cmd/attendanceClasses/CheckInCmd.java b/service-common/src/main/java/com/java110/common/cmd/attendanceClasses/CheckInCmd.java
index e14fb20..375ab31 100644
--- a/service-common/src/main/java/com/java110/common/cmd/attendanceClasses/CheckInCmd.java
+++ b/service-common/src/main/java/com/java110/common/cmd/attendanceClasses/CheckInCmd.java
@@ -182,9 +182,26 @@
         attendanceClassesTaskDetailDto.setNowCheckTime(reqJson.getString("checkTime"));
         attendanceClassesTaskDetailDto.setClassId(attendanceClassesDto.getClassesId());
         attendanceClassesTaskDetailDto.setStaffId(reqJson.getString("staffId"));
+        attendanceClassesTaskDetailDto.setState(AttendanceClassesTaskDetailDto.STATE_WAIT);
         List<AttendanceClassesTaskDetailDto> attendanceClassesTaskDetailDtos = attendanceClassesTaskDetailInnerServiceSMOImpl.queryAttendanceClassesTaskDetails(attendanceClassesTaskDetailDto);
 
         if (attendanceClassesTaskDetailDtos == null || attendanceClassesTaskDetailDtos.size() < 1) {
+            attendanceClassesTaskDetailDto = new AttendanceClassesTaskDetailDto();
+            attendanceClassesTaskDetailDto.setNowCheckTime(reqJson.getString("checkTime"));
+            attendanceClassesTaskDetailDto.setClassId(attendanceClassesDto.getClassesId());
+            attendanceClassesTaskDetailDto.setStaffId(reqJson.getString("staffId"));
+            attendanceClassesTaskDetailDtos = attendanceClassesTaskDetailInnerServiceSMOImpl.queryAttendanceClassesTaskDetails(attendanceClassesTaskDetailDto);
+
+            if (attendanceClassesTaskDetailDtos != null || attendanceClassesTaskDetailDtos.size() > 0) {
+                String specName = "涓婄彮:";
+                if (!AttendanceClassesTaskDetailDto.SPEC_CD_START.equals(attendanceClassesTaskDetailDtos.get(0).getSpecCd())) {
+                    specName = "涓嬬彮:";
+                }
+                updateAttendanceLogRemark(attendanceLogPo.getLogId(), specName + "閲嶅鎵撳崱");
+                context.setResponseEntity(ResultVo.error("閲嶅鎵撳崱"));
+                return;
+            }
+            updateAttendanceLogRemark(attendanceLogPo.getLogId(), "鏈埌鏃堕棿");
             context.setResponseEntity(ResultVo.error("鏈埌鏃堕棿"));
             return;
         }
@@ -199,8 +216,13 @@
         attendanceClassesTaskDetailPo.setState(getState(nowAttendanceClassesTaskDetailDto, DateUtil.getDateFromStringA(reqJson.getString("checkTime"))));
         attendanceClassesTaskDetailPo.setFacePath(photo);
         flag = attendanceClassesTaskDetailInnerServiceSMOImpl.updateAttendanceClassesTaskDetail(attendanceClassesTaskDetailPo);
+        String specName = "涓婄彮:";
+        if (!AttendanceClassesTaskDetailDto.SPEC_CD_START.equals(nowAttendanceClassesTaskDetailDto.getSpecCd())) {
+            specName = "涓嬬彮:";
+        }
 
         if (flag < 1) {
+            updateAttendanceLogRemark(attendanceLogPo.getLogId(), specName + "鑰冨嫟澶辫触");
             throw new CmdException("鑰冨嫟澶辫触");
         }
 
@@ -219,9 +241,30 @@
 
         flag = attendanceClassesTaskInnerServiceSMOImpl.updateAttendanceClassesTask(attendanceClassesTaskPo);
 
-        if (flag < 1) {
-            throw new CmdException("鑰冨嫟澶辫触");
+//        if (flag < 1) {
+//            updateAttendanceLogRemark(attendanceLogPo.getLogId(), specName + "鑰冨嫟澶辫触");
+//            throw new CmdException("鑰冨嫟澶辫触");
+//        }
+
+        String msg = "鎵撳崱鎴愬姛";
+        if (AttendanceClassesTaskDetailDto.STATE_LATE.equals(attendanceClassesTaskDetailPo.getState())) {
+            msg = "鎵撳崱杩熷埌";
         }
+
+        if (AttendanceClassesTaskDetailDto.STATE_LEAVE.equals(attendanceClassesTaskDetailPo.getState())) {
+            msg = "鎵撳崱鏃╅��";
+        }
+        updateAttendanceLogRemark(attendanceLogPo.getLogId(), specName + msg);
+        context.setResponseEntity(ResultVo.createResponseEntity(ResultVo.CODE_OK, msg));
+
+    }
+
+    private void updateAttendanceLogRemark(String logId, String remark) {
+
+        AttendanceLogPo attendanceLogPo = new AttendanceLogPo();
+        attendanceLogPo.setLogId(logId);
+        attendanceLogPo.setRemark(remark.length() > 1000 ? remark.substring(0, 1000) : remark);
+        attendanceLogInnerServiceSMOImpl.updateAttendanceLog(attendanceLogPo);
     }
 
     /**

--
Gitblit v1.8.0