Просмотр исходного кода

Merge branch 'master' of https://e.coding.net/chuanghaikeji/smartCampus/backend_code

夏文涛 2 лет назад
Родитель
Сommit
43bdd5f401

+ 1 - 1
src/main/java/com/template/api/SmartUserControllerAPI.java

@@ -267,7 +267,7 @@ public interface SmartUserControllerAPI {
 
     @GetMapping(value = "/statisticsCampusManag")
     @ApiOperation(value = "管理端——在校统计", notes = "管理端——在校统计", httpMethod = "GET")
-    CommonResult statisticsCampusManage(@RequestParam Integer classId,@RequestParam String dateTime,String keyWord);
+    CommonResult statisticsCampusManage(@RequestParam Integer gradeId,@RequestParam Integer classId,@RequestParam String dateTime,@RequestParam Integer type,String keyWord);
 
 
 }

+ 46 - 10
src/main/java/com/template/controller/SmartUserController.java

@@ -4976,39 +4976,75 @@ public class SmartUserController implements SmartUserControllerAPI {
     }
 
     @Override
-    public CommonResult statisticsCampusManage(Integer classId, String dateTime,String keyWord) {
+    @DESRespondSecret(validated = true)
+    public CommonResult statisticsCampusManage(Integer gradeId,Integer classId, String dateTime,Integer type,String keyWord) {
         DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
         LocalDateTime startTime = LocalDateTime.parse(dateTime, dateTimeFormatter1);
         LocalDateTime endTime = startTime.plusDays(1);
 
+        List<StatisticsCampusManageVo> ackVos=null;
+        JSONObject jsonObject = new JSONObject();
+        if (3==type) {
+//            请假
+            //        查找请假记录
+            ackVos= smartUserService.getAckStatisticsCampusManage(gradeId,classId,startTime,endTime,keyWord);
+            jsonObject.put("count",ackVos.size());
+            jsonObject.put("data",ackVos);
+
+            return CommonResult.ok(jsonObject);
+        }
+
         //        正常
         Set<StatisticsCampusManageVo> vos = new HashSet<>();
 
 //        查找门禁记录
-        List<StatisticsCampusManageVo> accessVos=smartUserService.getAccessStatisticsCampusManage(classId,startTime,endTime,keyWord);
+        List<StatisticsCampusManageVo> accessVos=smartUserService.getAccessStatisticsCampusManage(gradeId,classId,startTime,endTime,keyWord);
         for (StatisticsCampusManageVo accessVo : accessVos) {
             vos.add(accessVo);
         }
 //        查找打卡记录
-        List<StatisticsCampusManageVo> attendanceVos=smartUserService.getAttendanceStatisticsCampusManage(classId,startTime,endTime,keyWord);
+        List<StatisticsCampusManageVo> attendanceVos=smartUserService.getAttendanceStatisticsCampusManage(gradeId,classId,startTime,endTime,keyWord);
         for (StatisticsCampusManageVo attendanceVo : attendanceVos) {
             vos.add(attendanceVo);
         }
 //        查找人脸记录
-        List<StatisticsCampusManageVo> faceDiscernVos=smartUserService.getFaceDiscernStatisticsCampusManage(classId,startTime,endTime,keyWord);
+        List<StatisticsCampusManageVo> faceDiscernVos=smartUserService.getFaceDiscernStatisticsCampusManage(gradeId,classId,startTime,endTime,keyWord);
         for (StatisticsCampusManageVo faceDiscernVo : faceDiscernVos) {
             vos.add(faceDiscernVo);
         }
-
-//        查找请假记录
-        List<StatisticsCampusManageVo> ackVos= smartUserService.getAckStatisticsCampusManage(classId,startTime,endTime,keyWord);
-        for (StatisticsCampusManageVo ackVo : ackVos) {
-            vos.add(ackVo);
+        if (ObjectUtils.isNotEmpty(ackVos)&&ackVos.size()>0) {
+            for (StatisticsCampusManageVo ackVo : ackVos) {
+                vos.add(ackVo);
+            }
         }
 
 
+        if (2==type) {
+//            正常
+            jsonObject.put("count",vos.size());
+            jsonObject.put("data",vos);
+
+            return CommonResult.ok(jsonObject);
+        }else if (1==type){
+//            异常
+            //        查找该班级下的所有人
+            List<StatisticsCampusManageVo> campusVos= smartUserService.getClassStudentManage(gradeId,classId,keyWord);
+
+//        不在正常记录里面的就是异常记录
+            ArrayList<StatisticsCampusManageVo> abnormalVos = new ArrayList<>();
+            for (StatisticsCampusManageVo campusVo : campusVos) {
+                if (!vos.contains(campusVo)) {
+                    abnormalVos.add(campusVo);
+                }
+            }
+            jsonObject.put("count",abnormalVos.size());
+            jsonObject.put("data",abnormalVos);
+            return CommonResult.ok(jsonObject);
+
+        }else {
+            return CommonResult.fail("查询状态有误");
+        }
 
-        return null;
     }
     //endregion
 

+ 5 - 4
src/main/java/com/template/mapper/SmartUserMapper.java

@@ -62,12 +62,13 @@ public interface SmartUserMapper extends BaseMapper<SmartUser> {
 
     List<StatisticsCampusVo> getClassStudent(@Param("classId") Integer classId);
 
-    List<StatisticsCampusManageVo> getAccessStatisticsCampusManage(@Param("classId") Integer classId, @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime,@Param("keyWord")String keyWord);
+    List<StatisticsCampusManageVo> getAccessStatisticsCampusManage(@Param("gradeId") Integer gradeId,@Param("classId") Integer classId, @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime,@Param("keyWord")String keyWord);
 
-    List<StatisticsCampusManageVo> getAttendanceStatisticsCampusManage(@Param("classId") Integer classId, @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime,@Param("keyWord")String keyWord);
+    List<StatisticsCampusManageVo> getAttendanceStatisticsCampusManage(@Param("gradeId") Integer gradeId, @Param("classId") Integer classId, @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime,@Param("keyWord")String keyWord);
 
-    List<StatisticsCampusManageVo> getFaceDiscernStatisticsCampusManage(@Param("classId") Integer classId, @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime,@Param("keyWord")String keyWord);
+    List<StatisticsCampusManageVo> getFaceDiscernStatisticsCampusManage(@Param("gradeId") Integer gradeId, @Param("classId") Integer classId, @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime,@Param("keyWord")String keyWord);
 
-    List<StatisticsCampusManageVo> getAckStatisticsCampusManage(@Param("classId") Integer classId, @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime,@Param("keyWord")String keyWord);
+    List<StatisticsCampusManageVo> getAckStatisticsCampusManage(@Param("gradeId") Integer gradeId, @Param("classId") Integer classId, @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime,@Param("keyWord")String keyWord);
 
+    List<StatisticsCampusManageVo> getClassStudentManage(@Param("gradeId") Integer gradeId, @Param("classId")Integer classId,@Param("keyWord")String keyWord);
 }

+ 7 - 4
src/main/java/com/template/services/SmartUserService.java

@@ -160,11 +160,14 @@ public interface SmartUserService extends IService<SmartUser> {
 
     List<SmartUser> getAddressBook(Integer userId);
 
-    List<StatisticsCampusManageVo> getAccessStatisticsCampusManage(Integer classId, LocalDateTime startTime, LocalDateTime endTime,String keyWord);
+    List<StatisticsCampusManageVo> getAccessStatisticsCampusManage(Integer gradeId,Integer classId, LocalDateTime startTime, LocalDateTime endTime,String keyWord);
 
-    List<StatisticsCampusManageVo> getAttendanceStatisticsCampusManage(Integer classId, LocalDateTime startTime, LocalDateTime endTime,String keyWord);
+    List<StatisticsCampusManageVo> getAttendanceStatisticsCampusManage(Integer gradeId,Integer classId, LocalDateTime startTime, LocalDateTime endTime,String keyWord);
 
-    List<StatisticsCampusManageVo> getFaceDiscernStatisticsCampusManage(Integer classId, LocalDateTime startTime, LocalDateTime endTime,String keyWord);
+    List<StatisticsCampusManageVo> getFaceDiscernStatisticsCampusManage(Integer gradeId,Integer classId, LocalDateTime startTime, LocalDateTime endTime,String keyWord);
+
+    List<StatisticsCampusManageVo> getAckStatisticsCampusManage(Integer gradeId,Integer classId, LocalDateTime startTime, LocalDateTime endTime, String keyWord);
+
+    List<StatisticsCampusManageVo> getClassStudentManage(Integer gradeId,Integer classId,String keyWord);
 
-    List<StatisticsCampusManageVo> getAckStatisticsCampusManage(Integer classId, LocalDateTime startTime, LocalDateTime endTime, String keyWord);
 }

+ 13 - 8
src/main/java/com/template/services/impl/SmartUserServiceImpl.java

@@ -419,23 +419,28 @@ public class SmartUserServiceImpl extends ServiceImpl<SmartUserMapper, SmartUser
     }
 
     @Override
-    public List<StatisticsCampusManageVo> getAccessStatisticsCampusManage(Integer classId, LocalDateTime startTime, LocalDateTime endTime,String keyWord) {
-        return smartUserMapper.getAccessStatisticsCampusManage(classId,startTime,endTime,keyWord);
+    public List<StatisticsCampusManageVo> getAccessStatisticsCampusManage(Integer gradeId,Integer classId, LocalDateTime startTime, LocalDateTime endTime,String keyWord) {
+        return smartUserMapper.getAccessStatisticsCampusManage(gradeId,classId,startTime,endTime,keyWord);
     }
 
     @Override
-    public List<StatisticsCampusManageVo> getAttendanceStatisticsCampusManage(Integer classId, LocalDateTime startTime, LocalDateTime endTime,String keyWord) {
-        return smartUserMapper.getAttendanceStatisticsCampusManage(classId,startTime,endTime,keyWord);
+    public List<StatisticsCampusManageVo> getAttendanceStatisticsCampusManage(Integer gradeId,Integer classId, LocalDateTime startTime, LocalDateTime endTime,String keyWord) {
+        return smartUserMapper.getAttendanceStatisticsCampusManage(gradeId,classId,startTime,endTime,keyWord);
     }
 
     @Override
-    public List<StatisticsCampusManageVo> getFaceDiscernStatisticsCampusManage(Integer classId, LocalDateTime startTime, LocalDateTime endTime,String keyWord) {
-        return smartUserMapper.getFaceDiscernStatisticsCampusManage(classId,startTime,endTime,keyWord);
+    public List<StatisticsCampusManageVo> getFaceDiscernStatisticsCampusManage(Integer gradeId,Integer classId, LocalDateTime startTime, LocalDateTime endTime,String keyWord) {
+        return smartUserMapper.getFaceDiscernStatisticsCampusManage(gradeId,classId,startTime,endTime,keyWord);
     }
 
     @Override
-    public List<StatisticsCampusManageVo> getAckStatisticsCampusManage(Integer classId, LocalDateTime startTime, LocalDateTime endTime, String keyWord) {
-        return smartUserMapper.getAckStatisticsCampusManage(classId,startTime,endTime,keyWord);
+    public List<StatisticsCampusManageVo> getAckStatisticsCampusManage(Integer gradeId,Integer classId, LocalDateTime startTime, LocalDateTime endTime, String keyWord) {
+        return smartUserMapper.getAckStatisticsCampusManage(gradeId,classId,startTime,endTime,keyWord);
+    }
+
+    @Override
+    public List<StatisticsCampusManageVo> getClassStudentManage(Integer gradeId,Integer classId,String keyWord) {
+        return smartUserMapper.getClassStudentManage(gradeId,classId,keyWord);
     }
 
 

+ 22 - 0
src/main/resources/mapper/template/SmartUserMapper.xml

@@ -351,6 +351,7 @@
         WHERE su.deleted = 0
         AND su.is_cancel = 0
         AND su.identity_id = 2
+        AND sc.grade_id = #{gradeId}
         AND su.school_class = #{classId}
         AND sa.date_time >= #{startTime}
         AND #{endTime} >= sa.date_time
@@ -374,6 +375,7 @@
         WHERE su.deleted = 0
         AND su.is_cancel = 0
         AND su.identity_id = 2
+        AND sc.grade_id = #{gradeId}
         AND su.school_class = #{classId}
         AND sat.`status`!=3
         AND sat.attend_time >= #{startTime}
@@ -401,6 +403,7 @@
         su.deleted = 0
         AND su.is_cancel = 0
         AND su.identity_id = 2
+        AND sc.grade_id = #{gradeId}
         AND su.school_class=#{classId}
         AND sfd.date_time >= #{startTime}
         AND #{endTime} >= sfd.date_time
@@ -426,6 +429,7 @@
         su.deleted = 0
         AND su.is_cancel = 0
         AND su.identity_id = 2
+        AND sc.grade_id = #{gradeId}
         AND su.school_class=#{classId}
         AND sat.`status`=6
         AND sat.initiate_time >= #{startTime}
@@ -435,5 +439,23 @@
         </if>
         GROUP BY su.id
     </select>
+    <select id="getClassStudentManage" resultType="com.template.model.vo.StatisticsCampusManageVo">
+        SELECT su.id      as userId,
+               su.`name`  as name,
+               su.card_no as cardNo,
+               sc.`name`  as className,
+               sg.`name`  as gradeName
+        FROM `smart_user` su
+                 LEFT JOIN smart_class sc on sc.id = su.school_class
+                 LEFT JOIN smart_grade sg on sg.id = sc.grade_id
+        WHERE su.deleted = 0
+          AND su.is_cancel = 0
+          AND su.identity_id = 2
+          AND sc.grade_id = #{gradeId}
+          AND su.school_class = #{classId}
+        <if test="keyWord != null and keyWord != '' ">
+            and (su.name like '%' #{keyWord} '%' or su.card_no like '%' #{keyWord} '%')
+        </if>
+    </select>
 
 </mapper>