Kaynağa Gözat

Merge remote-tracking branch 'origin/dev' into dev

大数据与最优化研究所 7 ay önce
ebeveyn
işleme
c295e98a83

+ 20 - 9
src/main/java/com/xjrsoft/module/attendance/controller/StatisticsController.java

@@ -127,27 +127,38 @@ public class StatisticsController {
         statisticsVo.setAbsenteeismCount(absenteeismCount);
 
         //查询不需要考勤的人
-        AttendanceRuleCategory ruleCategory = ruleCategoryService.getOne(
+        List<AttendanceRuleCategory> ruleCategories = ruleCategoryService.list(
                 new QueryWrapper<AttendanceRuleCategory>().lambda()
                         .eq(AttendanceRuleCategory::getDeleteMark, DeleteMark.NODELETE.getCode())
                         .eq(AttendanceRuleCategory::getRoleId, 2)
                         .le(AttendanceRuleCategory::getStartDate, LocalDate.now())
-                        .ge(AttendanceRuleCategory::getStartDate, LocalDate.now())
+                        .ge(AttendanceRuleCategory::getEndDate, LocalDate.now())
         );
-        if(ruleCategory != null && ruleCategory.getUserRelation() != null){
+        if(!ruleCategories.isEmpty()){
             BaseTeacherPageDto teacherPageDto = new BaseTeacherPageDto();
-            JsonArray userRelation = new JsonParser().parse(ruleCategory.getUserRelation()).getAsJsonArray();
             List<Long> userIds = new ArrayList<>();
             List<Long> deptIds = new ArrayList<>();
-            for (JsonElement jsonElement : userRelation) {
-                JsonObject jsonObject = jsonElement.getAsJsonObject();
-                deptIds.add(jsonObject.get("deptId").getAsLong());
-                userIds.add(jsonObject.get("userId").getAsLong());
+            for (AttendanceRuleCategory ruleCategory : ruleCategories) {
+                JsonArray userRelation = new JsonParser().parse(ruleCategory.getUserRelation()).getAsJsonArray();
+
+                for (JsonElement jsonElement : userRelation) {
+                    JsonObject jsonObject = jsonElement.getAsJsonObject();
+                    if(jsonObject.get("deptId") != null && !jsonObject.get("deptId").isJsonNull()){
+                        deptIds.add(jsonObject.get("deptId").getAsLong());
+                    }
+                    if(jsonObject.get("userId") != null && !jsonObject.get("userId").isJsonNull()){
+                        userIds.add(jsonObject.get("userId").getAsLong());
+                    }
+                }
             }
+
             teacherPageDto.setDeptIds(deptIds);
-            teacherPageDto.setUserIds(userIds);
             List<XjrUserPageVo> attendanceTeacherList = teacherbaseManagerService.getList(teacherPageDto);
 
+            teacherPageDto = new BaseTeacherPageDto();
+            teacherPageDto.setUserIds(userIds);
+            attendanceTeacherList.addAll(teacherbaseManagerService.getList(teacherPageDto));
+
             List<XjrUserPageVo> allTeacherList = teacherbaseManagerService.getList(new BaseTeacherPageDto());
 
             statisticsVo.setNotAttendanceCount(allTeacherList.size() - attendanceTeacherList.size());

+ 2 - 2
src/main/java/com/xjrsoft/module/base/service/impl/BaseClassServiceImpl.java

@@ -248,8 +248,8 @@ public class BaseClassServiceImpl extends MPJBaseServiceImpl<BaseClassMapper, Ba
             //增加异动记录
             teacherChangeMapper.insert(new BaseClassTeacherChange(){{
                 setClassId(aClass.getId());
-                setAfterTeacherId(aClass.getTeacherId());
-                setBeforeTeacherId(dto.getTeacherId());
+                setBeforeTeacherId(aClass.getTeacherId());
+                setAfterTeacherId(dto.getTeacherId());
                 setDeleteMark(DeleteMark.NODELETE.getCode());
                 setEnabledMark(EnabledMark.ENABLED.getCode());
                 setCreateDate(LocalDateTime.now());

+ 9 - 0
src/main/java/com/xjrsoft/module/student/service/impl/PbCseFeeobjupdateServiceImpl.java

@@ -170,6 +170,15 @@ public class PbCseFeeobjupdateServiceImpl extends MPJBaseServiceImpl<PbCseFeeobj
             }
         }
 
+        Map<String, List<PbCseFeeobjupdate>> payquarternameList = pbCseFeeobjupdateList.stream().filter(x -> x.getQuartername() != null && "已缴费".equals(x.getPaymnystate())).collect(Collectors.groupingBy(PbCseFeeobjupdate::getQuartername));
+        for (String quartername : payquarternameList.keySet()) {
+            Map<String, Long> collect = payquarternameList.get(quartername).stream().filter(x -> x.getQuartername() != null).collect(Collectors.groupingBy(PbCseFeeobjupdate::getSex, Collectors.counting()));
+            accommodationTypeRes.add(new EnrollmentStatisticsInfoKeyValue("缴费" + quartername, payquarternameList.get(quartername).stream().count()));
+            for (Map.Entry<String, Long> entry : collect.entrySet()) {
+                accommodationTypeRes.add(new EnrollmentStatisticsInfoKeyValue("缴费" + quartername + entry.getKey(), entry.getValue()));
+            }
+        }
+
         //性别
         Map<String, Long> gender = pbCseFeeobjupdateList.stream().collect(Collectors.groupingBy(PbCseFeeobjupdate::getSex, Collectors.counting()));
         List<EnrollmentStatisticsInfoKeyValue> genderRes = new ArrayList<>();

+ 1 - 1
src/main/java/com/xjrsoft/module/teacher/service/impl/TeacherbaseManagerServiceImpl.java

@@ -919,7 +919,7 @@ public class TeacherbaseManagerServiceImpl extends MPJBaseServiceImpl<XjrUserMap
 
     @Override
     public List<XjrUserPageVo> getList(BaseTeacherPageDto dto) {
-        return null;
+        return teacherMapper.getList(dto);
     }
 
     @Override

+ 7 - 7
src/main/resources/mapper/base/BaseClassTeacherChange.xml

@@ -13,25 +13,25 @@
         LEFT JOIN xjr_user t6 ON t1.create_user_id = t6.id
         WHERE t1.delete_mark = 0
         <if test="dto.className != null and dto.className != ''">
-            t2.name like concat('%', #{dto.className}, '%')
+            and t2.name like concat('%', #{dto.className}, '%')
         </if>
         <if test="dto.classCode != null and dto.classCode != ''">
-            t2.code like concat('%', #{dto.classCode}, '%')
+            and t2.code like concat('%', #{dto.classCode}, '%')
         </if>
         <if test="dto.afterTeacherName != null and dto.afterTeacherName != ''">
-            t5.name like concat('%', #{dto.afterTeacherName}, '%')
+            and t5.name like concat('%', #{dto.afterTeacherName}, '%')
         </if>
         <if test="dto.beforeTeacherName != null and dto.beforeTeacherName != ''">
-            t4.name like concat('%', #{dto.beforeTeacherName}, '%')
+            and t4.name like concat('%', #{dto.beforeTeacherName}, '%')
         </if>
         <if test="dto.gradeId != null">
-            t3.id = #{dto.gradeId}
+            and t3.id = #{dto.gradeId}
         </if>
         <if test="dto.gradeId != null">
-            t3.id = #{dto.gradeId}
+            and t3.id = #{dto.gradeId}
         </if>
         <if test="dto.createDateStart != null and dto.createDateEnd != null">
-            t1.create_date between #{dto.createDateStart} and #{dto.createDateEnd}
+            and t1.create_date between #{dto.createDateStart} and #{dto.createDateEnd}
         </if>
         order by t1.create_date desc
     </select>

+ 1 - 1
src/main/resources/mapper/student/BaseStudentAssessmentInspectionMapper.xml

@@ -4,7 +4,7 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.xjrsoft.module.student.mapper.BaseStudentAssessmentInspectionMapper">
     <select id="getPage" parameterType="com.xjrsoft.module.student.dto.BaseStudentAssessmentInspectionPageDto" resultType="com.xjrsoft.module.student.vo.BaseStudentAssessmentInspectionPageVo">
-        SELECT t.id,t.score,(t.score * IF(personal_student_user_ids IS NULL, 1, (SELECT COUNT(*) FROM base_student_assessment_student_relation WHERE base_student_assessment_inspection_id = t.id AND delete_mark = 0 AND enabled_mark = 1))) as total_score,t.score_type,t.assessment_date,t.reason,t1.name AS assessment_category_name,t2.name AS assessment_project_name,t3.name AS semester_name,t4.name AS grade_name,t5.name AS assessment_user_name,t6.name AS score_type_cn,
+        SELECT t.id,t.score,IF(t.base_student_assessment_category_id = 1782327704603373570, (t.score * IF(personal_student_user_ids IS NULL, 1, (SELECT COUNT(*) FROM base_student_assessment_student_relation WHERE base_student_assessment_inspection_id = t.id AND delete_mark = 0 AND enabled_mark = 1))),t.total_score) as total_score,t.score_type,t.assessment_date,t.reason,t1.name AS assessment_category_name,t2.name AS assessment_project_name,t3.name AS semester_name,t4.name AS grade_name,t5.name AS assessment_user_name,t6.name AS score_type_cn,
         (
         SELECT NAME FROM base_class
         WHERE id = t.class_ids