From d7963a84282c548fee3595b3343e6ae6ca49bb29 Mon Sep 17 00:00:00 2001 From: yn147 <2270338776@qq.com> Date: 星期五, 24 十一月 2023 14:12:01 +0800 Subject: [PATCH] 学籍,考勤 --- src/main/java/com/qxueyou/scc/admin/attendance/impl/AttendanceServiceImpl.java | 85 ++++++++++++++++++++++++------------------ 1 files changed, 48 insertions(+), 37 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 b783964..8930431 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 @@ -3,13 +3,10 @@ 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 com.qxueyou.scc.teach.subject.model.Subject; import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; @@ -20,42 +17,52 @@ public class AttendanceServiceImpl extends CommonAppService implements AttendanceService { @Override - public String attendanceUpAndAdd(String studentId, String subjectId) { + public String attendanceUpAndAdd(String userId, String subjectId, String subjectName) { String s=""; - StringBuffer hql=new StringBuffer("from StuStudent where studentId=? and deleteFlag is false"); + StringBuffer hql=new StringBuffer("from StuStudent where userId=? and deleteFlag is false"); - List<Object> args = CollectionUtils.newList(studentId); + List<Object> args = CollectionUtils.newList(userId); 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()); - int compareTo = s1.compareTo(s2); + String hqlTwo = "from Subject where name = ?"; + List<Object> argsTwo = CollectionUtils.newList(subjectName); + Subject subject = findUnique(hqlTwo,argsTwo,Subject.class); + //涓婅鏃堕棿 + String classTime = subject.getEndTime(); + //褰撳墠鏃堕棿 + String currentTime = sdf.format(new Date()); + //娣诲姞subjectId + if(subject.getSubjectId() == subjectId){ + stuStudent.setSubjectId(subjectId); + }else { + stuStudent.setSubjectId(subject.getSubjectId()); + } + //濡傛灉涓婅鏃堕棿(9鐐�)>褰撳墠鏃堕棿 + int compareTo = classTime.compareTo(currentTime); if(compareTo>0) { - s="签到时间已过,本节课按照旷课处理"; - stuStudent.setAttendanceStatus("旷课"); + s="绛惧埌鏃堕棿宸茶繃"; + stuStudent.setAttendanceStatus(stuStudent.STATUS_TRUANCY); } else { - String s3 = "8:50:00"; - compareTo = s2.compareTo(s3); + //鎵撳崱鏃堕棿 + String clockTime = subject.getEndTime(); + compareTo = currentTime.compareTo(clockTime); if(compareTo<0) { - s="未到签到时间,请与上课时间前10分钟签到"; - stuStudent.setAttendanceStatus("未打卡"); + s="鏈埌绛惧埌鏃堕棿"; + stuStudent.setAttendanceStatus(stuStudent.STATUS_NO_CLOCKING); } else { if(stuStudent!=null && subjectId!=null){ - stuStudent.setSubjectId(subjectId); - stuStudent.setAttendanceStatus("已打卡"); - s = "成功完成签到"; + stuStudent.setAttendanceStatus(stuStudent.STATUS_PUNCHE); + s = "鎴愬姛绛惧埌"; } } } @@ -69,10 +76,10 @@ } @Override - public List<StuStudent> findAttendanceList(Integer limit, Integer pageNum, String keyword) { - StringBuffer hql=new StringBuffer("from StuStudent where name like ? and deleteFlag is false"); + public List<StuStudent> findAttendanceList(Integer limit, Integer pageNum, String keyword, String classId) { + StringBuffer hql=new StringBuffer("from StuStudent where name like ? and classId = ? and deleteFlag is false"); - List<Object> args = CollectionUtils.newList(keyword + "%"); + List<Object> args = CollectionUtils.newList(keyword + "%",classId); hql.append(" order by createTime desc"); @@ -82,27 +89,31 @@ } @Override - public Result updateAttendanceStatus(String studentId, String attendanceStatus) { - StringBuffer hql=new StringBuffer("from StuStudent where studentId=? and deleteFlag is false"); + 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(studentId); + List<Object> args = CollectionUtils.newList(studentIds); - StuStudent stuStudent = findUnique(hql.toString(), args, StuStudent.class); + StuStudent stuStudent = findUnique(hql.toString(), args, StuStudent.class); - if(stuStudent!=null && attendanceStatus!=null){ - stuStudent.setAttendanceStatus(attendanceStatus); - save(stuStudent); - return new Result(true); + if(stuStudent!=null && attendanceStatus!=null){ + stuStudent.setAttendanceStatus(attendanceStatus); + save(stuStudent); + pd = true; + }else { + pd = false; + } } - - return new Result(false); + return new Result(pd); } @Override - public int findAttendanceListCount(String keyword) { - StringBuffer hql=new StringBuffer("from StuStudent where name like ? and deleteFlag is false"); + 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 + "%"); + List<Object> args = CollectionUtils.newList(keyword + "%",subjectId); return findCount(hql.toString(),args); } -- Gitblit v1.8.0