Explorar el Código

优化考勤垃圾数据问题

wuxw hace 1 año
padre
commit
252fbc4497

+ 9 - 3
service-common/src/main/java/com/java110/common/cmd/attendanceClasses/CheckInCmd.java

@@ -26,6 +26,7 @@ import com.java110.po.attendance.AttendanceLogPo;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.DateUtil;
+import com.java110.utils.util.ListUtil;
 import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -123,21 +124,26 @@ public class CheckInCmd extends Cmd {
         attendanceClassesStaffDto.setStoreId(storeUserDtos.get(0).getStoreId());
         List<AttendanceClassesStaffDto> attendanceClassesStaffs = attendanceClassesStaffV1InnerServiceSMOImpl.queryAttendanceClassesStaffs(attendanceClassesStaffDto);
 
-        if (attendanceClassesStaffs == null || attendanceClassesStaffs.size() < 1) {
+        if (ListUtil.isNull(attendanceClassesStaffs)) {
             throw new CmdException("员工没有考勤任务");
         }
 
+        boolean hasCheckInAttendance = false;
         for (AttendanceClassesStaffDto tmpAttendanceClassesStaffDto : attendanceClassesStaffs) {
             // 考勤班次是否存在
             AttendanceClassesDto attendanceClassesDto = new AttendanceClassesDto();
             attendanceClassesDto.setStoreId(storeUserDtos.get(0).getStoreId());
             attendanceClassesDto.setClassesId(tmpAttendanceClassesStaffDto.getClassesId());
             List<AttendanceClassesDto> attendanceClassesDtos = attendanceClassesV1InnerServiceSMOImpl.queryAttendanceClassess(attendanceClassesDto);
-            if (attendanceClassesDtos == null || attendanceClassesDtos.size() < 1) {
-                throw new CmdException("班次不存在");
+            if (ListUtil.isNull(attendanceClassesDtos)) {
+                continue;
             }
+            hasCheckInAttendance = true;
             doCheckInAttendanceLog(context, reqJson, storeUserDtos, userDtos, attendanceClassesDtos.get(0));
         }
+        if (!hasCheckInAttendance) {
+            throw new CmdException("班次不存在");
+        }
     }
 
     private void doCheckInAttendanceLog(ICmdDataFlowContext context, JSONObject reqJson, List<StoreUserDto> storeUserDtos, List<UserDto> userDtos, AttendanceClassesDto attendanceClassesDto) {