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/controller/AttendanceController.java             |   48 +++++++++++++++++++++---
 src/main/java/com/qxueyou/scc/teach/subject/model/Subject.java                 |   20 ++++++++++
 src/main/java/com/qxueyou/scc/teach/subject/service/ISubjectService.java       |    9 ++++
 src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectService.java   |   11 +++++
 src/main/java/com/qxueyou/scc/controller/SubjectController.java                |    8 ++--
 src/main/java/com/qxueyou/scc/admin/attendance/impl/AttendanceServiceImpl.java |   20 +++++-----
 6 files changed, 94 insertions(+), 22 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 bd39dae..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
@@ -28,13 +28,13 @@
 
         try{
             SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
-            //涓婅鏃堕棿
-            String classTime = "9:00:00";
-            //褰撳墠鏃堕棿
-            String currentTime = sdf.format(new Date());
             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);
@@ -45,17 +45,17 @@
             int compareTo = classTime.compareTo(currentTime);
             if(compareTo>0)
             {
-                s="绛惧埌鏃堕棿宸茶繃锛屾湰鑺傝鎸夌収鏃疯澶勭悊";
+                s="绛惧埌鏃堕棿宸茶繃";
                 stuStudent.setAttendanceStatus(stuStudent.STATUS_TRUANCY);
             }
             else
             {
                 //鎵撳崱鏃堕棿
-                String clockTime = "8:50:00";
+                String clockTime = subject.getEndTime();
                 compareTo = currentTime.compareTo(clockTime);
                 if(compareTo<0)
                 {
-                    s="鏈埌绛惧埌鏃堕棿锛岃涓庝笂璇炬椂闂村墠10鍒嗛挓绛惧埌";
+                    s="鏈埌绛惧埌鏃堕棿";
                     stuStudent.setAttendanceStatus(stuStudent.STATUS_NO_CLOCKING);
                 }
                 else
@@ -76,10 +76,10 @@
     }
 
     @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");
+    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 + "%",subjectId);
+        List<Object> args = CollectionUtils.newList(keyword + "%",classId);
 
         hql.append(" order by createTime desc");
 
diff --git a/src/main/java/com/qxueyou/scc/controller/AttendanceController.java b/src/main/java/com/qxueyou/scc/controller/AttendanceController.java
index 257f9ca..7e6cb3a 100644
--- a/src/main/java/com/qxueyou/scc/controller/AttendanceController.java
+++ b/src/main/java/com/qxueyou/scc/controller/AttendanceController.java
@@ -5,13 +5,18 @@
 import com.qxueyou.scc.base.util.CollectionUtils;
 import com.qxueyou.scc.base.util.QBeanUtils;
 import com.qxueyou.scc.teach.student.model.StuStudent;
+import com.qxueyou.scc.teach.subject.model.Subject;
+import com.qxueyou.scc.teach.subject.service.ISubjectService;
 import com.qxueyou.scc.teach.subject.service.impl.SubjectService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 @Api(tags="鑰冨嫟绠$悊鎺ュ彛")
 @RestController
@@ -20,7 +25,8 @@
     @Autowired
     private AttendanceService attendanceService;
 
-    private SubjectService subjectService;
+    @Autowired
+    private ISubjectService iSubjectService;
 
     @ApiOperation(value = "鎵撳崱", notes = "")
     @GetMapping(value = "/attendanceUpAndAdd")
@@ -30,17 +36,47 @@
 
     @ApiOperation(value = "鑰冨嫟淇℃伅", notes = "")
     @GetMapping(value = "/attendanceList")
-    public Result attendanceList(@RequestParam(defaultValue = "10") Integer limit, @RequestParam(defaultValue = "1") Integer pageNum, String keyword, String subjectId) {
+    public Result attendanceList(@RequestParam(defaultValue = "10") Integer limit, @RequestParam(defaultValue = "1") Integer pageNum, String keyword, String classId) {
 
-        List<StuStudent> attendanceList = attendanceService.findAttendanceList(limit, pageNum, keyword,subjectId);
+        List<StuStudent> attendanceList = attendanceService.findAttendanceList(limit, pageNum, keyword,classId);
 
-        int count = attendanceService.findAttendanceListCount(keyword,subjectId);
+        int count = attendanceService.findAttendanceListCount(keyword,classId);
+
+        List<Object> list = new ArrayList<>();
+        for (StuStudent stuStudent : attendanceList){
+                Map<String,String> mapList = new HashMap<>();
+                mapList.put("name",stuStudent.getName());
+                mapList.put("studentNo",stuStudent.getStudentNo());
+                mapList.put("sex",String.valueOf(stuStudent.getSex()));
+                mapList.put("mobilePhone",stuStudent.getMobilePhone());
+                mapList.put("attendanceStatus",stuStudent.getAttendanceStatus());
+                mapList.put("createTime",String.valueOf(stuStudent.getCreateTime()));
+                mapList.put("studentId",stuStudent.getStudentId());
+                mapList.put("photo",stuStudent.getPhoto());
+                mapList.put("passporName",stuStudent.getPassporName());
+                mapList.put("nationality",stuStudent.getNationality());
+                mapList.put("ancestralHome",stuStudent.getAncestralHome());
+                mapList.put("birthday",stuStudent.getBirthday());
+                mapList.put("birthplace",stuStudent.getBirthplace());
+                mapList.put("chinaStatus",stuStudent.getChinaStatus());
+                mapList.put("registeredAddress",stuStudent.getRegisteredAddress());
+                mapList.put("homeAddress",stuStudent.getHomeAddress());
+                mapList.put("religiousBelief",stuStudent.getReligiousBelief());
+                mapList.put("email",stuStudent.getEmail());
+                mapList.put("workUnit",stuStudent.getWorkUnit());
+                mapList.put("graduationDestination",stuStudent.getGraduationDestination());
+                if(stuStudent.getSubjectId()!=null){
+                    String subjectName = iSubjectService.findSubjectName(stuStudent.getSubjectId());
+                    mapList.put("subjectName",subjectName);
+                }
+                list.add(mapList);
+        }
 
 
         return new Result(true,"success", CollectionUtils.newObjectMap("attendanceList",
-                QBeanUtils.listBean2ListMap(attendanceList,
+                QBeanUtils.listBean2ListMap(list,
                         CollectionUtils.newStringMap("name", "studentName", "studentNo", "studentNo","sex","sex","mobilePhone","mobilePhone", "attendanceStatus",
-                                "attendanceStatus", "createTime", "createTime", "studentId", "studentId")),
+                                "attendanceStatus", "createTime", "createTime", "studentId", "studentId","photo","photo","passporName","passporName","nationality","nationality","ancestralHome","ancestralHome","birthday","birthday","birthplace","birthplace","chinaStatus","chinaStatus","registeredAddress","registeredAddress","homeAddress","homeAddress","religiousBelief","religiousBelief","email","email","workUnit","workUnit","graduationDestination","graduationDestination","subjectName","subjectName")),
                 "attendanceCount", count));
     }
 
diff --git a/src/main/java/com/qxueyou/scc/controller/SubjectController.java b/src/main/java/com/qxueyou/scc/controller/SubjectController.java
index 7530344..55a6fbe 100644
--- a/src/main/java/com/qxueyou/scc/controller/SubjectController.java
+++ b/src/main/java/com/qxueyou/scc/controller/SubjectController.java
@@ -177,8 +177,8 @@
 	 *            璇剧▼浠嬬粛
 	 */
 	@PostMapping(value = "/copy")
-	public Result copy(String subjectId, String subjectName, String imgPath, String content,int type) {
-		return add(subjectName, imgPath, content,type);
+	public Result copy(String subjectId, String subjectName, String imgPath, String content,int type,String startTime,String endTime) {
+		return add(subjectName, imgPath, content,type,startTime,endTime);
 	}
 
 	/**
@@ -193,7 +193,7 @@
 	 * @return
 	 */
 	@PostMapping(value = "/add")
-	public Result add(String subjectName, String imgPath, String content,int type) {
+	public Result add(String subjectName, String imgPath, String content,int type,String startTime,String endTime) {
 		String contentFileId = null;
 		
 		if(StringUtils.isNotEmpty(content)){
@@ -207,7 +207,7 @@
 			coverPageFileId = fileService.readIdByPath(imgPath);
 		}
 		
-		return subjectService.add(subjectName, coverPageFileId,contentFileId,type);
+		return subjectService.add(subjectName, coverPageFileId,contentFileId,type,startTime,endTime);
 	}
 
 	/**
diff --git a/src/main/java/com/qxueyou/scc/teach/subject/model/Subject.java b/src/main/java/com/qxueyou/scc/teach/subject/model/Subject.java
index 91e70a7..095c73b 100644
--- a/src/main/java/com/qxueyou/scc/teach/subject/model/Subject.java
+++ b/src/main/java/com/qxueyou/scc/teach/subject/model/Subject.java
@@ -101,6 +101,12 @@
 	
 	@Column(name="CONTENT_FILE_ID")
 	private String contentFileId;
+
+	@Column(name = "START_TIME")
+	private String startTime;
+
+	@Column(name = "END_TIME")
+	private String endTime;
 	
 	public final static String STATUS_DRAFT = "0";
 	
@@ -362,5 +368,19 @@
 		this.orgId = orgId;
 	}
 
+	public String getStartTime() {
+		return startTime;
+	}
 
+	public void setStartTime(String startTime) {
+		this.startTime = startTime;
+	}
+
+	public String getEndTime() {
+		return endTime;
+	}
+
+	public void setEndTime(String endTime) {
+		this.endTime = endTime;
+	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/qxueyou/scc/teach/subject/service/ISubjectService.java b/src/main/java/com/qxueyou/scc/teach/subject/service/ISubjectService.java
index baee3b0..4ad1abb 100644
--- a/src/main/java/com/qxueyou/scc/teach/subject/service/ISubjectService.java
+++ b/src/main/java/com/qxueyou/scc/teach/subject/service/ISubjectService.java
@@ -24,7 +24,7 @@
 	 *            鍐呭鏂囦欢id
 	 * @return
 	 */
-	Result add(String subjectName, String coverPageFileId, String contentFileId,int type);
+	Result add(String subjectName, String coverPageFileId, String contentFileId,int type,String startTime,String endTime);
 
 	/**
 	 * 淇敼璇剧▼
@@ -387,4 +387,11 @@
 	 * @return
 	 */
 	public long getLectureCount(String subjectId);
+
+	/**
+	 * 鑾峰彇璇剧▼鍚嶇О
+	 * @param subjectId
+	 * @return
+	 */
+	String findSubjectName(String subjectId);
 }
diff --git a/src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectService.java b/src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectService.java
index b387087..d84ceda 100644
--- a/src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectService.java
+++ b/src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectService.java
@@ -107,7 +107,7 @@
 
 
     @Override
-    public Result add(String subjectName, String coverPageFileId, String contentFileId, int type) {
+    public Result add(String subjectName, String coverPageFileId, String contentFileId, int type,String startTime,String endTime) {
 
         Subject subject = new Subject();
         if (StringUtils.isNotEmpty(coverPageFileId)) {
@@ -122,6 +122,9 @@
         subject.setStatus(Subject.STATUS_DRAFT);
         subject.setLectureCount(0);
         subject.setType(type);
+        //绛惧埌鏃堕棿
+        subject.setStartTime(startTime);
+        subject.setEndTime(endTime);
         subject.setOrgId(ClientUtils.getOrgId());
 
         save(subject);
@@ -1097,6 +1100,12 @@
         }
     }
 
+    @Override
+    public String findSubjectName(String subjectId) {
+        Subject subject = findUnique("from Subject where subjectId = ? ",CollectionUtils.newList(subjectId),Subject.class);
+        return subject.getName();
+    }
+
 
     /**
      * 鎴戠殑鍏紑璇惧垪琛�

--
Gitblit v1.8.0