Bladeren bron

双一流院校统计

jzh 1 jaar geleden
bovenliggende
commit
498b260110

+ 31 - 0
zjugis-module-adm/zjugis-module-adm-biz/src/main/java/com/zjugis/module/adm/dal/dataobject/staff/CollegeDO.java

@@ -0,0 +1,31 @@
+package com.zjugis.module.adm.dal.dataobject.staff;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.zjugis.framework.mybatis.core.dataobject.BaseDO;
+import lombok.*;
+
+import java.time.LocalDateTime;
+
+
+@TableName("first_class_college")
+@Data
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class CollegeDO {
+
+    /**
+     * 主键ID
+     */
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 大学名称
+     */
+    private String collegeName;
+
+}

+ 13 - 0
zjugis-module-adm/zjugis-module-adm-biz/src/main/java/com/zjugis/module/adm/dal/mysql/staff/CollegeMapper.java

@@ -0,0 +1,13 @@
+package com.zjugis.module.adm.dal.mysql.staff;
+
+import com.zjugis.framework.mybatis.core.mapper.BaseMapperX;
+import com.zjugis.module.adm.dal.dataobject.staff.CollegeDO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author jzh
+ * @since 2024/4/23 14:40
+ */
+@Mapper
+public interface CollegeMapper extends BaseMapperX<CollegeDO> {
+}

+ 20 - 0
zjugis-module-adm/zjugis-module-adm-biz/src/main/java/com/zjugis/module/adm/service/staff/CollegeService.java

@@ -0,0 +1,20 @@
+package com.zjugis.module.adm.service.staff;
+
+
+
+import com.zjugis.module.adm.controller.admin.staff.vo.records.StatisticInfoVO;
+import com.zjugis.module.adm.dal.dataobject.staff.CollegeDO;
+
+import java.util.Map;
+
+
+/**
+ * @Author:zjq
+ * @Date:2024-04-03
+ */
+
+public interface CollegeService {
+
+    Map<String, CollegeDO> getGoodCollege();
+
+}

+ 31 - 0
zjugis-module-adm/zjugis-module-adm-biz/src/main/java/com/zjugis/module/adm/service/staff/CollegeServiceImpl.java

@@ -0,0 +1,31 @@
+package com.zjugis.module.adm.service.staff;
+
+import cn.hutool.core.collection.CollectionUtil;
+import com.zjugis.module.adm.dal.dataobject.staff.CollegeDO;
+import com.zjugis.module.adm.dal.mysql.staff.CollegeMapper;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author jzh
+ * @since 2024/4/23 14:39
+ */
+@Service
+public class CollegeServiceImpl implements CollegeService {
+    @Resource
+    private CollegeMapper collegeMapper;
+
+    @Override
+    public Map<String, CollegeDO> getGoodCollege() {
+        Map<String, CollegeDO> resMap = new HashMap<>();
+        List<CollegeDO> colleges = collegeMapper.selectList();
+        if (CollectionUtil.isNotEmpty(colleges)) {
+            colleges.forEach(v -> resMap.put(v.getCollegeName(), v));
+        }
+        return resMap;
+    }
+}

+ 20 - 0
zjugis-module-adm/zjugis-module-adm-biz/src/main/java/com/zjugis/module/adm/service/staff/StaffStatisticServiceImpl.java

@@ -5,6 +5,7 @@ import cn.hutool.core.util.StrUtil;
 import com.zjugis.framework.common.pojo.CommonResult;
 import com.zjugis.framework.mybatis.core.query.LambdaQueryWrapperX;
 import com.zjugis.module.adm.controller.admin.staff.vo.records.*;
+import com.zjugis.module.adm.dal.dataobject.staff.CollegeDO;
 import com.zjugis.module.adm.dal.dataobject.staff.StaffRecordSDO;
 import com.zjugis.module.adm.dal.mysql.staff.RecordsMapper;
 import com.zjugis.module.system.api.user.AdminUserApi;
@@ -32,6 +33,9 @@ public class StaffStatisticServiceImpl implements StaffStatisticService {
     @Resource
     private RecordsMapper recordsMapper;
 
+    @Resource
+    private CollegeService collegeService;
+
 
     /**
      * 获取用户统计信息
@@ -91,6 +95,22 @@ public class StaffStatisticServiceImpl implements StaffStatisticService {
         degreeStatisticVO.setUndergraduateStaffNum(degreeGroupCounts.getOrDefault("undergraduateStaff", 0L).intValue());
         degreeStatisticVO.setJuniorCollegeStaffNum(degreeGroupCounts.getOrDefault("juniorCollegeStaff", 0L).intValue());
         degreeStatisticVO.setBelowJuniorCollegeStaffNum(degreeGroupCounts.getOrDefault("belowJuniorCollegeStaff", 0L).intValue());
+
+        Map<String, CollegeDO> collegeMap = collegeService.getGoodCollege();
+        Map<String, Long> collegeCount = staffList.stream().filter(employee -> employee.getByxx() != null)
+                .collect(Collectors.groupingBy(
+                        employee -> {
+                            if (collegeMap.get(employee.getByxx()) != null) {
+                                return "rsr";
+                            } else {
+                                return "rxr";
+                            }
+
+                        },
+                        Collectors.counting()
+                ));
+        degreeStatisticVO.setFirstClassCollegeStaffNum(collegeCount.getOrDefault("rsr", 0L).intValue());
+        degreeStatisticVO.setOrdinaryCollegeStaffNum(collegeCount.getOrDefault("rxr", 0L).intValue());
         return degreeStatisticVO;
     }
 

+ 5 - 0
zjugis-module-adm/zjugis-module-adm-biz/src/main/resources/mapper/staff/CollegeMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zjugis.module.adm.dal.mysql.staff.CollegeMapper">
+
+</mapper>