From 387db55978f2beff4caed57df75339682579f914 Mon Sep 17 00:00:00 2001
From: 胡仁荣 <897853850@qq.com>
Date: 星期四, 24 十一月 2022 16:05:13 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/main/java/com/qxueyou/scc/admin/attendance/impl/AttendanceServiceImpl.java |   73 +++++++++++++++++++++++++++---------
 1 files changed, 54 insertions(+), 19 deletions(-)

diff --git a/src/main/java/com/qxueyou/scc/admin/attendance/impl/AttendanceServiceImpl.java b/src/main/java/com/qxueyou/scc/admin/attendance/impl/AttendanceServiceImpl.java
index f3ce5c1..b783964 100644
--- a/src/main/java/com/qxueyou/scc/admin/attendance/impl/AttendanceServiceImpl.java
+++ b/src/main/java/com/qxueyou/scc/admin/attendance/impl/AttendanceServiceImpl.java
@@ -1,9 +1,12 @@
 package com.qxueyou.scc.admin.attendance.impl;
 
 import com.qxueyou.scc.admin.attendance.AttendanceService;
+import com.qxueyou.scc.base.model.Pager;
+import com.qxueyou.scc.base.model.Result;
 import com.qxueyou.scc.base.service.ICommonService;
 import com.qxueyou.scc.base.service.impl.CommonAppService;
 import com.qxueyou.scc.base.util.CollectionUtils;
+import com.qxueyou.scc.base.util.TraceUtils;
 import com.qxueyou.scc.teach.student.model.StuStudent;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
@@ -19,6 +22,13 @@
     @Override
     public String attendanceUpAndAdd(String studentId, String subjectId) {
         String s="";
+
+        StringBuffer hql=new StringBuffer("from StuStudent where studentId=? and deleteFlag is false");
+
+        List<Object> args = CollectionUtils.newList(studentId);
+
+        StuStudent stuStudent = findUnique(hql.toString(), args, StuStudent.class);
+
         try{
             SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
             //上课时间
@@ -29,17 +39,7 @@
             if(compareTo>0)
             {
                 s="签到时间已过,本节课按照旷课处理";
-                StringBuffer hql=new StringBuffer("from StuStudent where studentId=? and deleteFlag is false");
-
-                List<Object> args = CollectionUtils.newList(studentId);
-
-                StuStudent stuStudent = findUnique(hql.toString(), args, StuStudent.class);
-
-                if(stuStudent!=null && subjectId!=null){
-                    stuStudent.setSubjectId(subjectId);
-                    save(stuStudent);
-                    s = "成功完成签到";
-                }
+                stuStudent.setAttendanceStatus("旷课");
             }
             else
             {
@@ -48,19 +48,14 @@
                 if(compareTo<0)
                 {
                     s="未到签到时间,请与上课时间前10分钟签到";
+                    stuStudent.setAttendanceStatus("未打卡");
                 }
                 else
                 {
-                    StringBuffer hql=new StringBuffer("from StuStudent where studentId=? and deleteFlag is false");
-
-                    List<Object> args = CollectionUtils.newList(studentId);
-
-                    StuStudent stuStudent = findUnique(hql.toString(), args, StuStudent.class);
-
                     if(stuStudent!=null && subjectId!=null){
                         stuStudent.setSubjectId(subjectId);
-                        save(stuStudent);
-                        return "成功完成签到";
+                        stuStudent.setAttendanceStatus("已打卡");
+                        s = "成功完成签到";
                     }
                 }
             }
@@ -69,6 +64,46 @@
         {
             e.printStackTrace();
         }
+        save(stuStudent);
         return s;
     }
+
+    @Override
+    public List<StuStudent> findAttendanceList(Integer limit, Integer pageNum, String keyword) {
+        StringBuffer hql=new StringBuffer("from StuStudent where name like ? and deleteFlag is false");
+
+        List<Object> args = CollectionUtils.newList(keyword + "%");
+
+        hql.append(" order by createTime desc");
+
+        List<StuStudent> list = findList(hql.toString(), new Pager(limit, pageNum), args, StuStudent.class);
+
+        return list;
+    }
+
+    @Override
+    public Result updateAttendanceStatus(String studentId, String attendanceStatus) {
+        StringBuffer hql=new StringBuffer("from StuStudent where studentId=? and deleteFlag is false");
+
+        List<Object> args = CollectionUtils.newList(studentId);
+
+        StuStudent stuStudent = findUnique(hql.toString(), args, StuStudent.class);
+
+        if(stuStudent!=null && attendanceStatus!=null){
+            stuStudent.setAttendanceStatus(attendanceStatus);
+            save(stuStudent);
+            return new Result(true);
+        }
+
+        return new Result(false);
+    }
+
+    @Override
+    public int findAttendanceListCount(String keyword) {
+        StringBuffer hql=new StringBuffer("from StuStudent where name like ? and deleteFlag is false");
+
+        List<Object> args = CollectionUtils.newList(keyword + "%");
+
+        return findCount(hql.toString(),args);
+    }
 }

--
Gitblit v1.8.0