派生自 projectDept/qhighschool

EricsHu
2022-12-08 6ca7ca9feb1cc4a35cab3a3af8dddfae2580bddc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
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;
import org.springframework.stereotype.Service;
 
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
 
@Service
public class AttendanceServiceImpl extends CommonAppService implements AttendanceService {
 
    @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");
            //ÉÏ¿Îʱ¼ä
            String s1 = "9£º00:00";
            //Èç¹ûÉÏ¿Îʱ¼ä(9µã)>µ±Ç°Ê±¼ä
            String s2 = sdf.format(new Date());
 
            //¸³ÖµÒ»¸ö¿Î³Ìid
            stuStudent.setSubjectId(subjectId);
 
            //ʱ¼ä¼ÆËã
            int compareTo = s1.compareTo(s2);
            if(compareTo>0)
            {
                s="Ç©µ½Ê±¼äÒѹý£¬±¾½Ú¿Î°´ÕÕ¿õ¿Î´¦Àí";
                stuStudent.setAttendanceStatus("¿õ¿Î");
            }
            else
            {
                String s3 = "8£º50:00";
                compareTo = s2.compareTo(s3);
                if(compareTo<0)
                {
                    s="δµ½Ç©µ½Ê±¼ä£¬ÇëÓëÉÏ¿Îʱ¼äǰ10·ÖÖÓÇ©µ½";
                    stuStudent.setAttendanceStatus("δ´ò¿¨");
                }
                else
                {
                    if(stuStudent!=null && subjectId!=null){
                        stuStudent.setAttendanceStatus("ÒÑ´ò¿¨");
                        s = "³É¹¦Íê³ÉÇ©µ½";
                    }
                }
            }
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        save(stuStudent);
        return s;
    }
 
    @Override
    public List<StuStudent> findAttendanceList(Integer limit, Integer pageNum, String keyword, String subjectId) {
        StringBuffer hql=new StringBuffer("from StuStudent where name like ? and subjectId = ? and deleteFlag is false");
 
        List<Object> args = CollectionUtils.newList(keyword + "%",subjectId);
 
        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) {
        boolean pd = true;
        for (String studentIds: studentId){
            StringBuffer hql=new StringBuffer("from StuStudent where studentId=? and deleteFlag is false");
 
            List<Object> args = CollectionUtils.newList(studentIds);
 
            StuStudent stuStudent = findUnique(hql.toString(), args, StuStudent.class);
 
            if(stuStudent!=null && attendanceStatus!=null){
                stuStudent.setAttendanceStatus(attendanceStatus);
                save(stuStudent);
                pd = true;
            }else {
                pd = false;
            }
        }
        return new Result(pd);
    }
 
    @Override
    public int findAttendanceListCount(String keyword, String subjectId) {
        StringBuffer hql=new StringBuffer("from StuStudent where name like ? and subjectId = ? and deleteFlag is false");
 
        List<Object> args = CollectionUtils.newList(keyword + "%",subjectId);
 
        return findCount(hql.toString(),args);
    }
}