snihwxf 3 veckor sedan
förälder
incheckning
75a7825ee1

+ 49 - 24
src/main/java/com/xjrsoft/module/attendance/entity/ClassAttendanceStatistics.java

@@ -49,58 +49,83 @@ public class ClassAttendanceStatistics  implements Serializable {
     @ApiModelProperty("修改日期")
     @TableField(fill = FieldFill.UPDATE)
     private Date modifyDate;
-    /**
-     * 删除标记
-     */
-    @ApiModelProperty("删除标记")
-    @TableField(fill = FieldFill.INSERT)
-    @TableLogic
-    private Integer deleteMark;
-    /**
-     * 有效标记
-     */
-    @ApiModelProperty("有效标记")
-    @TableField(fill = FieldFill.INSERT)
-    private Integer enabledMark;
+//    /**
+//     * 删除标记
+//     */
+//    @ApiModelProperty("删除标记")
+//    @TableField(fill = FieldFill.INSERT)
+//    @TableLogic
+//    private Integer deleteMark;
+//    /**
+//     * 有效标记
+//     */
+//    @ApiModelProperty("有效标记")
+//    @TableField(fill = FieldFill.INSERT)
+//    private Integer enabledMark;
     /**
      * 班级ID(base_class)
      */
     @ApiModelProperty("班级ID(base_class)")
     private Long classId;
 
+    /**
+     * 学生总人数
+     */
     @ApiModelProperty("学生总人数")
     private Integer studentCount;
-
+    /**
+     * 住校人数
+     */
     @ApiModelProperty("住校人数")
     private Integer stayCount;
-
+    /**
+     * 走读人数
+     */
     @ApiModelProperty("走读人数")
     private Integer notStayCount;
-
+    /**
+     * 请假人数
+     */
     @ApiModelProperty("请假人数")
     private Integer leaveCount;
-
+    /**
+     * 迟到人数
+     */
     @ApiModelProperty("迟到人数")
     private Integer lateCount;
-
+    /**
+     * 旷课人数
+     */
     @ApiModelProperty("旷课人数")
     private Integer playTruantCount;
-
+    /**
+     * 实到人数
+     */
     @ApiModelProperty("实到人数")
     private Integer actualCount;
-
+    /**
+     * 缺勤人数
+     */
     @ApiModelProperty("缺勤人数")
     private Integer absenteeismCount;
-
+    /**
+     * 出勤率
+     */
     @ApiModelProperty("出勤率")
     private String attendanceRate;
-
+    /**
+     * 应该离校人数
+     */
     @ApiModelProperty("应该离校人数")
     private Integer ygLeaveSchoolCount;
-
+    /**
+     * 已经离校人数
+     */
     @ApiModelProperty("已经离校人数")
     private Integer yjLeaveSchoolCount;
-
+    /**
+     * 未离校人数
+     */
     @ApiModelProperty("未离校人数")
     private Integer wLeaveSchoolCount;
     /**

+ 13 - 13
src/main/java/com/xjrsoft/module/attendance/entity/StudentAttendanceStatistics.java

@@ -47,19 +47,19 @@ public class StudentAttendanceStatistics implements Serializable {
     @ApiModelProperty("修改日期")
     @TableField(fill = FieldFill.UPDATE)
     private Date modifyDate;
-    /**
-     * 删除标记
-     */
-    @ApiModelProperty("删除标记")
-    @TableField(fill = FieldFill.INSERT)
-    @TableLogic
-    private Integer deleteMark;
-    /**
-     * 有效标记
-     */
-    @ApiModelProperty("有效标记")
-    @TableField(fill = FieldFill.INSERT)
-    private Integer enabledMark;
+//    /**
+//     * 删除标记
+//     */
+//    @ApiModelProperty("删除标记")
+//    @TableField(fill = FieldFill.INSERT)
+//    @TableLogic
+//    private Integer deleteMark;
+//    /**
+//     * 有效标记
+//     */
+//    @ApiModelProperty("有效标记")
+//    @TableField(fill = FieldFill.INSERT)
+//    private Integer enabledMark;
     /**
      * 学生userId(xjr_user)
      */

+ 14 - 3
src/main/java/com/xjrsoft/module/attendance/service/impl/StudentStatisticsServiceImpl.java

@@ -241,17 +241,28 @@ public class StudentStatisticsServiceImpl  extends MPJBaseServiceImpl<StudentAtt
                     actualCount++;
                     userIds.add(outInRecordVo.getUserId());
                 }
+                // 实到人数 加上住读人数
+                actualCount=actualCount+classAttendanceStatistics.getStayCount();
+
                 classAttendanceStatistics.setActualCount(actualCount);
                 classAttendanceStatistics.setPlayTruantCount(playTruantCount);
                 classAttendanceStatistics.setLateCount(lateCount);
 
                 //最后通过总人数-实到人数-请假人数计算出缺勤人数
-                classAttendanceStatistics.setAbsenteeismCount(classAttendanceStatistics.getNotStayCount() - classAttendanceStatistics.getLeaveCount() - classAttendanceStatistics.getActualCount());
+//                int absenteeismCount = classAttendanceStatistics.getNotStayCount() - classAttendanceStatistics.getLeaveCount() - classAttendanceStatistics.getActualCount();
+
+                //总人数 - 实到人数- 请假人数
+                int absenteeismCount = classAttendanceStatistics.getStudentCount()-classAttendanceStatistics.getActualCount()-classAttendanceStatistics.getLeaveCount();
+
+                classAttendanceStatistics.setAbsenteeismCount(absenteeismCount);
 
                 //计算出勤率
                 BigDecimal divide = BigDecimal.ZERO;
-                if (classAttendanceStatistics.getNotStayCount() != null && classAttendanceStatistics.getNotStayCount() != 0) {
-                    divide = BigDecimal.valueOf(classAttendanceStatistics.getActualCount()).divide(BigDecimal.valueOf(classAttendanceStatistics.getNotStayCount()), 4, RoundingMode.HALF_UP);
+//                if (classAttendanceStatistics.getNotStayCount() != null && classAttendanceStatistics.getNotStayCount() != 0) {
+//                    divide = BigDecimal.valueOf(classAttendanceStatistics.getActualCount()).divide(BigDecimal.valueOf(classAttendanceStatistics.getNotStayCount()), 4, RoundingMode.HALF_UP);
+//                }
+                if (classAttendanceStatistics.getStudentCount() != null && classAttendanceStatistics.getStudentCount() != 0) {
+                    divide = BigDecimal.valueOf(classAttendanceStatistics.getActualCount()).divide(BigDecimal.valueOf(classAttendanceStatistics.getStudentCount()), 4, RoundingMode.HALF_UP);
                 }
                 classAttendanceStatistics.setAttendanceRate(divide.doubleValue() + "");
 

+ 0 - 4
src/main/resources/sqlScript/20251111_sql.sql

@@ -8,8 +8,6 @@ CREATE TABLE `student_attendance_statistics` (
   `create_date` DATETIME(3) DEFAULT NULL COMMENT '创建时间',
   `modify_user_id` BIGINT DEFAULT NULL COMMENT '修改人id',
   `modify_date` DATETIME(3) DEFAULT NULL COMMENT '修改日期',
-  `delete_mark` INT DEFAULT NULL COMMENT '删除标记',
-  `enabled_mark` INT DEFAULT NULL COMMENT '有效标记',
   `user_id` BIGINT DEFAULT NULL COMMENT '学生userId(xjr_user)',
   `attendance_status` VARCHAR(50) DEFAULT NULL COMMENT '考勤状态(xjr_dictionary_detail[attendance_status])',
   `time_interval` INT DEFAULT NULL COMMENT '时段(1:上午,2:下午,3:晚上)',
@@ -32,8 +30,6 @@ CREATE TABLE `class_attendance_statistics` (
   `create_date` DATETIME(3) DEFAULT NULL COMMENT '创建时间',
   `modify_user_id` BIGINT DEFAULT NULL COMMENT '修改人id',
   `modify_date` DATETIME(3) DEFAULT NULL COMMENT '修改日期',
-  `delete_mark` INT DEFAULT NULL COMMENT '删除标记',
-  `enabled_mark` INT DEFAULT NULL COMMENT '有效标记',
   `class_id` BIGINT DEFAULT NULL COMMENT '班级ID(base_class)',
   `student_count` INT DEFAULT NULL COMMENT '学生总人数',
   `stay_count` INT DEFAULT NULL COMMENT '住校人数',