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 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 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 args = CollectionUtils.newList(keyword + "%",subjectId); hql.append(" order by createTime desc"); List 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 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 args = CollectionUtils.newList(keyword + "%",subjectId); return findCount(hql.toString(),args); } }