From 5fc2fc57afc63a906ec5567e91aeab72d20aab7d Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期一, 16 一月 2023 23:17:50 +0800
Subject: [PATCH] 优化代码

---
 service-common/src/main/java/com/java110/common/cmd/attendanceClasses/CheckInCmd.java |   34 +++++++++++++++++++++-------------
 1 files changed, 21 insertions(+), 13 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 41481e1..935a32f 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
@@ -98,7 +98,7 @@
     public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
 
         Assert.hasKeyAndValue(reqJson, "staffId", "鏈寘鍚憳宸�");
-        Assert.hasKeyAndValue(reqJson, "clockTime", "鏈寘鍚�冨嫟鏃堕棿");
+        Assert.hasKeyAndValue(reqJson, "checkTime", "鏈寘鍚�冨嫟鏃堕棿");
     }
 
     @Override
@@ -136,16 +136,24 @@
         attendanceClassesDto.setClassesObjIds(orgIds.toArray(new String[orgIds.size()]));
         List<AttendanceClassesDto> attendanceClassesDtos = attendanceClassesV1InnerServiceSMOImpl.queryAttendanceClassess(attendanceClassesDto);
 
-        Assert.listOnlyOne(attendanceClassesDtos, "鐝涓嶅瓨鍦�");
+        if(attendanceClassesDtos == null || attendanceClassesDtos.size() < 1){
+            throw new CmdException("鐝涓嶅瓨鍦�");
+        }
 
+       // Assert.listOnlyOne(attendanceClassesDtos, "鐝涓嶅瓨鍦�");
+        for(AttendanceClassesDto tmpAttendanceClassesDto : attendanceClassesDtos) {
+            doCheckInAttendanceLog(context, reqJson, storeUserDtos, userDtos, tmpAttendanceClassesDto);
+        }
+    }
 
+    private void doCheckInAttendanceLog(ICmdDataFlowContext context, JSONObject reqJson, List<StoreUserDto> storeUserDtos, List<UserDto> userDtos, AttendanceClassesDto attendanceClassesDto) {
         AttendanceLogPo attendanceLogPo = new AttendanceLogPo();
         attendanceLogPo.setLogId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_logId));
         attendanceLogPo.setStoreId(storeUserDtos.get(0).getStoreId());
         attendanceLogPo.setStaffId(reqJson.getString("staffId"));
-        attendanceLogPo.setClockTime(reqJson.getString("clockTime"));
-        attendanceLogPo.setDepartmentId(attendanceClassesDtos.get(0).getClassesObjId());
-        attendanceLogPo.setDepartmentName(attendanceClassesDtos.get(0).getClassesObjName());
+        attendanceLogPo.setClockTime(reqJson.getString("checkTime"));
+        attendanceLogPo.setDepartmentId(attendanceClassesDto.getClassesObjId());
+        attendanceLogPo.setDepartmentName(attendanceClassesDto.getClassesObjName());
         attendanceLogPo.setStaffName(userDtos.get(0).getName());
 
         int flag = attendanceLogInnerServiceSMOImpl.saveAttendanceLog(attendanceLogPo);
@@ -157,8 +165,8 @@
         // 鏌ヨ鏄惁涓轰笂鐝�
 
         AttendanceClassesTaskDetailDto attendanceClassesTaskDetailDto = new AttendanceClassesTaskDetailDto();
-        attendanceClassesTaskDetailDto.setNowCheckTime(reqJson.getString("clockTime"));
-        attendanceClassesTaskDetailDto.setClassId(attendanceClassesDtos.get(0).getClassesId());
+        attendanceClassesTaskDetailDto.setNowCheckTime(reqJson.getString("checkTime"));
+        attendanceClassesTaskDetailDto.setClassId(attendanceClassesDto.getClassesId());
         attendanceClassesTaskDetailDto.setStaffId(reqJson.getString("staffId"));
         List<AttendanceClassesTaskDetailDto> attendanceClassesTaskDetailDtos = attendanceClassesTaskDetailInnerServiceSMOImpl.queryAttendanceClassesTaskDetails(attendanceClassesTaskDetailDto);
 
@@ -183,8 +191,8 @@
 
         AttendanceClassesTaskDetailPo attendanceClassesTaskDetailPo = new AttendanceClassesTaskDetailPo();
         attendanceClassesTaskDetailPo.setDetailId(nowAttendanceClassesTaskDetailDto.getDetailId());
-        attendanceClassesTaskDetailPo.setCheckTime(reqJson.getString("clockTime"));
-        attendanceClassesTaskDetailPo.setState(getState(nowAttendanceClassesTaskDetailDto, DateUtil.getDateFromStringA(reqJson.getString("clockTime"))));
+        attendanceClassesTaskDetailPo.setCheckTime(reqJson.getString("checkTime"));
+        attendanceClassesTaskDetailPo.setState(getState(nowAttendanceClassesTaskDetailDto, DateUtil.getDateFromStringA(reqJson.getString("checkTime"))));
         attendanceClassesTaskDetailPo.setFacePath(photo);
         flag = attendanceClassesTaskDetailInnerServiceSMOImpl.updateAttendanceClassesTaskDetail(attendanceClassesTaskDetailPo);
 
@@ -216,23 +224,23 @@
      * 鑰冨嫟鐘舵�佽绠�
      *
      * @param nowAttendanceClassesTaskDetailDto
-     * @param clockTime
+     * @param checkTime
      * @return
      */
-    private String getState(AttendanceClassesTaskDetailDto nowAttendanceClassesTaskDetailDto, Date clockTime) {
+    private String getState(AttendanceClassesTaskDetailDto nowAttendanceClassesTaskDetailDto, Date checkTime) {
 
         Date value = DateUtil.getDateFromStringA(nowAttendanceClassesTaskDetailDto.getValue());
 
         if (AttendanceClassesTaskDetailDto.SPEC_CD_START.equals(nowAttendanceClassesTaskDetailDto.getSpecCd())) {
 
-            if (clockTime.after(value)) {
+            if (checkTime.after(value)) {
                 return AttendanceClassesTaskDetailDto.STATE_LATE;
             }
             return AttendanceClassesTaskDetailDto.STATE_NORMAL;
         }
 
 
-        if (clockTime.before(value)) {
+        if (checkTime.before(value)) {
             return AttendanceClassesTaskDetailDto.STATE_LEAVE;
         }
         return AttendanceClassesTaskDetailDto.STATE_NORMAL;

--
Gitblit v1.8.0