Selaa lähdekoodia

添加数据总览功能

liu 1 vuosi sitten
vanhempi
commit
603ca2d0f3
20 muutettua tiedostoa jossa 343 lisäystä ja 12 poistoa
  1. 16 4
      src/main/java/com/template/api/WelcomeStudentControllerAPI.java
  2. 42 1
      src/main/java/com/template/controller/WelcomeDormitoryController.java
  3. 58 3
      src/main/java/com/template/controller/WelcomeStudentController.java
  4. 2 0
      src/main/java/com/template/mapper/WelcomeDormitoryMapper.java
  5. 9 0
      src/main/java/com/template/mapper/WelcomeStudentMapper.java
  6. 3 0
      src/main/java/com/template/model/request/InsertStudentRequest.java
  7. 10 1
      src/main/java/com/template/model/vo/StudentRegisterVo.java
  8. 13 1
      src/main/java/com/template/model/vo/StudentSexRatioVo.java
  9. 32 1
      src/main/java/com/template/model/vo/StudentStayVo.java
  10. 10 1
      src/main/java/com/template/model/vo/StudentTrafficVo.java
  11. 2 0
      src/main/java/com/template/services/WelcomeBedService.java
  12. 2 0
      src/main/java/com/template/services/WelcomeBuildService.java
  13. 3 0
      src/main/java/com/template/services/WelcomeDormitoryService.java
  14. 14 0
      src/main/java/com/template/services/WelcomeStudentService.java
  15. 9 0
      src/main/java/com/template/services/impl/WelcomeBedServiceImpl.java
  16. 8 0
      src/main/java/com/template/services/impl/WelcomeBuildServiceImpl.java
  17. 6 0
      src/main/java/com/template/services/impl/WelcomeDormitoryServiceImpl.java
  18. 37 0
      src/main/java/com/template/services/impl/WelcomeStudentServiceImpl.java
  19. 14 0
      src/main/resources/mapper/template/WelcomeDormitoryMapper.xml
  20. 53 0
      src/main/resources/mapper/template/WelcomeStudentMapper.xml

+ 16 - 4
src/main/java/com/template/api/WelcomeStudentControllerAPI.java

@@ -57,13 +57,25 @@ public interface WelcomeStudentControllerAPI {
     void welcomeStudentExport(HttpServletResponse response, Integer collegeId, Integer majorId, Integer classstrId, String trafficMethod, String name);
 
 
-    @GetMapping(value = "/dataOverview")
-    @ApiOperation(value = "数据总览", notes = "数据总览", httpMethod = "GET")
-    CommonResult dataOverview();
+    @GetMapping(value = "/studentOverview")
+    @ApiOperation(value = "学生总览", notes = "学生总览", httpMethod = "GET")
+    CommonResult studentOverview();
 
     @GetMapping(value = "/studentRegister")
-    @ApiOperation(value = "新生报到情况", notes = "数据总览", httpMethod = "GET")
+    @ApiOperation(value = "新生报到情况", notes = "新生报到情况", httpMethod = "GET")
     CommonResult studentRegister();
 
 
+    @GetMapping(value = "/studentTraffic")
+    @ApiOperation(value = "学生交通方式", notes = "学生交通方式", httpMethod = "GET")
+    CommonResult studentTraffic();
+
+    @GetMapping(value = "/studentSexRatio")
+    @ApiOperation(value = "学生性别比例", notes = "学生性别比例", httpMethod = "GET")
+    CommonResult studentSexRatio();
+
+    @GetMapping(value = "/studentStay")
+    @ApiOperation(value = "学生住宿情况", notes = "学生住宿情况", httpMethod = "GET")
+    CommonResult studentStay();
+
 }

+ 42 - 1
src/main/java/com/template/controller/WelcomeDormitoryController.java

@@ -13,6 +13,7 @@ import com.template.model.result.CommonResult;
 import com.template.model.result.PageUtils;
 import com.template.model.vo.WelcomeDormitoryVo;
 import com.template.services.*;
+import org.apache.poi.hssf.record.chart.FontIndexRecord;
 import org.apache.poi.hssf.usermodel.HSSFRow;
 import org.apache.poi.hssf.usermodel.HSSFSheet;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
@@ -79,6 +80,27 @@ public class WelcomeDormitoryController implements WelcomeDormitoryControllerAPI
         welcomeDormitoryService.save(welcomeDormitory);
 
         //动态生成床位
+        Integer bedNumber = welcomeDormitory.getBedNumber();
+        ArrayList<WelcomeBed> welcomeBeds = new ArrayList<>();
+        for (int i = 1; i <= bedNumber; i++) {
+            WelcomeBed welcomeBed = new WelcomeBed();
+            welcomeBed.setNumber(i);
+            welcomeBed.setSchool(welcomeDormitory.getSchool());
+            welcomeBed.setSchoolId(welcomeDormitory.getSchoolId());
+            welcomeBed.setBuild(welcomeDormitory.getBuild());
+            welcomeBed.setBuildId(welcomeDormitory.getBuildId());
+            welcomeBed.setDormitory(welcomeDormitory.getDormitory());
+            welcomeBed.setDormitoryId(welcomeDormitory.getId());
+            welcomeBed.setSex(welcomeDormitory.getSex());
+            welcomeBed.setCollege(welcomeDormitory.getCollege());
+            welcomeBed.setCollegeId(welcomeDormitory.getCollegeId());
+            welcomeBed.setMajor(welcomeDormitory.getMajor());
+            welcomeBed.setMajorId(welcomeDormitory.getMajorId());
+            welcomeBed.setIsCheck(0);
+            welcomeBeds.add(welcomeBed);
+        }
+
+        welcomeBedService.saveBatch(welcomeBeds);
 
         return CommonResult.ok();
     }
@@ -88,6 +110,9 @@ public class WelcomeDormitoryController implements WelcomeDormitoryControllerAPI
 
         welcomeDormitoryService.removeById(dormitoryId);
         //        动态删除床位
+        LambdaQueryWrapper<WelcomeBed> wrapper=new LambdaQueryWrapper<>();
+        wrapper.eq(WelcomeBed::getDormitoryId,dormitoryId);
+        welcomeBedService.remove(wrapper);
 
         return CommonResult.ok();
     }
@@ -110,7 +135,23 @@ public class WelcomeDormitoryController implements WelcomeDormitoryControllerAPI
         welcomeDormitoryService.updateById(welcomeDormitory);
 
 //        动态修改床位
-
+        List<WelcomeBed> list = welcomeBedService.listWelcomeBed(welcomeDormitory.getId());
+        ArrayList<WelcomeBed> welcomeBeds = new ArrayList<>();
+        for (WelcomeBed welcomeBed : list) {
+            welcomeBed.setSchool(welcomeDormitory.getSchool());
+            welcomeBed.setSchoolId(welcomeDormitory.getSchoolId());
+            welcomeBed.setBuild(welcomeDormitory.getBuild());
+            welcomeBed.setBuildId(welcomeDormitory.getBuildId());
+            welcomeBed.setDormitory(welcomeDormitory.getDormitory());
+            welcomeBed.setDormitoryId(welcomeDormitory.getId());
+            welcomeBed.setSex(welcomeDormitory.getSex());
+            welcomeBed.setCollege(welcomeDormitory.getCollege());
+            welcomeBed.setCollegeId(welcomeDormitory.getCollegeId());
+            welcomeBed.setMajor(welcomeDormitory.getMajor());
+            welcomeBed.setMajorId(welcomeDormitory.getMajorId());
+            welcomeBeds.add(welcomeBed);
+        }
+        welcomeBedService.updateBatchById(welcomeBeds);
         return CommonResult.ok();
     }
 

+ 58 - 3
src/main/java/com/template/controller/WelcomeStudentController.java

@@ -3,6 +3,7 @@ package com.template.controller;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.api.R;
 import com.template.api.WelcomeStudentControllerAPI;
 import com.template.common.utils.ExcelUtils;
 import com.template.common.utils.paramUtils;
@@ -76,6 +77,16 @@ public class WelcomeStudentController implements WelcomeStudentControllerAPI {
     @Autowired
     private WelcomeCityService welcomeCityService;
 
+    @Autowired
+    WelcomeSchoolService welcomeSchoolService;
+
+    @Autowired
+    WelcomeBuildService welcomeBuildService;
+
+    @Autowired
+    WelcomeDormitoryService welcomeDormitoryService;
+
+
     private static Logger logger = LoggerFactory.getLogger(WelcomeStudentController.class);
 
     @Override
@@ -1301,7 +1312,7 @@ public class WelcomeStudentController implements WelcomeStudentControllerAPI {
     }
 
     @Override
-    public CommonResult dataOverview() {
+    public CommonResult studentOverview() {
         return null;
     }
 
@@ -1309,10 +1320,54 @@ public class WelcomeStudentController implements WelcomeStudentControllerAPI {
     public CommonResult studentRegister() {
 
 //        获取总数
-        int count = welcomeStudentService.count(new QueryWrapper<>());
+        Integer count = welcomeStudentService.totalCount();
+        List<StudentRegisterVo> vos = welcomeStudentService.studentRegister();
+        StudentRegisterVo vo = new StudentRegisterVo();
+        vo.setCollegeName("报到总数");
+        vo.setCount(count);
+        vos.add(vo);
+        return CommonResult.ok(vos);
+    }
 
+    @Override
+    public CommonResult studentTraffic() {
+        List<StudentTrafficVo> vos = welcomeStudentService.studentTraffic();
+        return CommonResult.ok(vos);
+    }
 
-        return null;
+    @Override
+    public CommonResult studentSexRatio() {
+
+        Integer manCount = welcomeStudentService.genderCount("男");
+        Integer girlCount = welcomeStudentService.genderCount("女");
+        StudentSexRatioVo vo = new StudentSexRatioVo();
+        vo.setCollegeName("全部");
+        vo.setManCount(manCount);
+        vo.setGirlCount(girlCount);
+
+        List<StudentSexRatioVo> vos = welcomeStudentService.studentSexRatio();
+        vos.add(vo);
+
+        return CommonResult.ok(vos);
+    }
+
+    @Override
+    public CommonResult studentStay() {
+        ArrayList<StudentStayVo> vos = new ArrayList<>();
+        List<WelcomeSchool> list = welcomeSchoolService.list(new QueryWrapper<>());
+        for (WelcomeSchool welcomeSchool : list) {
+            Integer schoolId = welcomeSchool.getId();
+            List<WelcomeBuild> builds=welcomeBuildService.getBuild(schoolId);
+            for (WelcomeBuild build : builds) {
+                Integer buildId = build.getId();
+                StudentStayVo vo =welcomeDormitoryService.getTotalCount(buildId);
+                vo.setSchoolName(welcomeSchool.getSchool());
+                vo.setBuildName(build.getBuild());
+                vos.add(vo);
+            }
+        }
+
+        return CommonResult.ok(vos);
     }
 }
 

+ 2 - 0
src/main/java/com/template/mapper/WelcomeDormitoryMapper.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.template.model.pojo.WelcomeDormitory;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.template.model.vo.StudentStayVo;
 import com.template.model.vo.WelcomeDormitoryVo;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -31,4 +32,5 @@ public interface WelcomeDormitoryMapper extends BaseMapper<WelcomeDormitory> {
                                             @Param("majorId") Integer majorId, @Param("collegeId") Integer collegeId);
 
 
+    StudentStayVo getTotalCount(@Param("buildId") Integer buildId);
 }

+ 9 - 0
src/main/java/com/template/mapper/WelcomeStudentMapper.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.template.model.pojo.WelcomeStudent;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.template.model.vo.StudentPageVo;
+import com.template.model.vo.StudentRegisterVo;
+import com.template.model.vo.StudentSexRatioVo;
+import com.template.model.vo.StudentTrafficVo;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
@@ -22,4 +25,10 @@ public interface WelcomeStudentMapper extends BaseMapper<WelcomeStudent> {
     IPage<StudentPageVo> queryStudentPageList(IPage<StudentPageVo> page, @Param("collegeId") Integer collegeId,@Param("majorId") Integer majorId,@Param("classstrId") Integer classstrId,@Param("trafficMethod") String trafficMethod ,@Param("name") String name);
 
     List<StudentPageVo> queryStudentList(@Param("collegeId") Integer collegeId, @Param("majorId") Integer majorId, @Param("classstrId") Integer classstrId, @Param("trafficMethod") String trafficMethod , @Param("name") String name);
+
+    List<StudentRegisterVo> studentRegister();
+
+    List<StudentTrafficVo> studentTraffic();
+
+    List<StudentSexRatioVo> studentSexRatio();
 }

+ 3 - 0
src/main/java/com/template/model/request/InsertStudentRequest.java

@@ -41,6 +41,9 @@ public class InsertStudentRequest implements Serializable {
     @ApiModelProperty(value = "出生年月")
     private String birthday;
 
+    @ApiModelProperty(value = "校区Id")
+    private Integer schoolId;
+
     @ApiModelProperty(value = "校区")
     private String school;
 

+ 10 - 1
src/main/java/com/template/model/vo/StudentRegisterVo.java

@@ -1,2 +1,11 @@
-package com.template.model.vo;public class StudentRegisterVo {
+package com.template.model.vo;
+
+import lombok.Data;
+
+@Data
+public class StudentRegisterVo {
+//    学院名称
+    private String collegeName;
+//    总数
+    private Integer count;
 }

+ 13 - 1
src/main/java/com/template/model/vo/StudentSexRatioVo.java

@@ -1,2 +1,14 @@
-package com.template.model.vo;public class StudentSexRatioVo {
+package com.template.model.vo;
+
+import lombok.Data;
+
+@Data
+public class StudentSexRatioVo {
+    //    学院名称
+    private String collegeName;
+    //    男总数
+    private Integer manCount;
+    //    女总数
+    private Integer girlCount;
+
 }

+ 32 - 1
src/main/java/com/template/model/vo/StudentStayVo.java

@@ -1,2 +1,33 @@
-package com.template.model.vo;public class StudentStayVo {
+package com.template.model.vo;
+
+import lombok.Data;
+
+@Data
+public class StudentStayVo {
+//    校区名称
+    private String schoolName;
+
+//    楼栋名称
+    private String buildName;
+
+//    寝室总数
+    private Integer dormitoryTotalCount;
+
+//    床位总数
+    private Integer bedTotalCount;
+
+//    男寝数量
+    private Integer manDormitoryCount;
+
+//    女寝数量
+    private Integer girlDormitoryCount;
+
+//    已入住床位数量
+    private Integer checkInTotalCount;
+
+//    入住男生数量
+    private Integer checkInManCount;
+
+//    入住女生数量
+    private Integer checkInGirlCount;
 }

+ 10 - 1
src/main/java/com/template/model/vo/StudentTrafficVo.java

@@ -1,2 +1,11 @@
-package com.template.model.vo;public class StudentTrafficVo {
+package com.template.model.vo;
+
+import lombok.Data;
+
+@Data
+public class StudentTrafficVo {
+    //    交通方式
+    private String trafficMethod;
+    //    总数
+    private Integer count;
 }

+ 2 - 0
src/main/java/com/template/services/WelcomeBedService.java

@@ -31,4 +31,6 @@ public interface WelcomeBedService extends IService<WelcomeBed> {
     List<WelcomeBed> queryPageWelcomeBeds( Integer schoolId, Integer buildId, Integer dormitoryId, String sex, Integer isCheck, Integer collegeId, Integer majorId, Integer classstrId);
 
     WelcomeBed getBedByCardId(String studentCard);
+
+    List<WelcomeBed> listWelcomeBed(Integer id);
 }

+ 2 - 0
src/main/java/com/template/services/WelcomeBuildService.java

@@ -32,4 +32,6 @@ public interface WelcomeBuildService extends IService<WelcomeBuild> {
     List<WelcomeBuild> listBuild( String schoolName, String buildName, String sex);
 
     List<WelcomeBuild> buildGroup(Integer schoolId);
+
+    List<WelcomeBuild> getBuild(Integer schoolId);
 }

+ 3 - 0
src/main/java/com/template/services/WelcomeDormitoryService.java

@@ -4,6 +4,7 @@ import com.template.model.pojo.WelcomeDormitory;
 import com.template.model.pojo.WelcomeDormitory;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.template.model.result.PageUtils;
+import com.template.model.vo.StudentStayVo;
 import com.template.model.vo.WelcomeDormitoryVo;
 
 import java.util.List;
@@ -36,4 +37,6 @@ public interface WelcomeDormitoryService extends IService<WelcomeDormitory> {
     List<WelcomeDormitory> listDormitory( String schoolName, String buildName, String dormitory, String sex, Integer status, String major, String college);
 
     List<WelcomeDormitory> dormitoryGroup(Integer schoolId, Integer buildId);
+
+    StudentStayVo getTotalCount(Integer buildId);
 }

+ 14 - 0
src/main/java/com/template/services/WelcomeStudentService.java

@@ -6,6 +6,9 @@ import com.template.model.pojo.WelcomeStudent;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.template.model.result.PageUtils;
 import com.template.model.vo.StudentPageVo;
+import com.template.model.vo.StudentRegisterVo;
+import com.template.model.vo.StudentSexRatioVo;
+import com.template.model.vo.StudentTrafficVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -42,4 +45,15 @@ public interface WelcomeStudentService extends IService<WelcomeStudent> {
     WelcomeStudent queryStudentInfo(Integer collegeId, Integer majorId, Integer classstrId,String admissNum);
 
     List<WelcomeStudent> getDataByAdmissNum(List<String> admissNum);
+
+    List<StudentRegisterVo> studentRegister();
+
+    List<StudentTrafficVo> studentTraffic();
+
+    Integer genderCount(String gender);
+
+    List<StudentSexRatioVo> studentSexRatio();
+
+    Integer totalCount();
+
 }

+ 9 - 0
src/main/java/com/template/services/impl/WelcomeBedServiceImpl.java

@@ -1,5 +1,6 @@
 package com.template.services.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -104,4 +105,12 @@ public class WelcomeBedServiceImpl extends ServiceImpl<WelcomeBedMapper, Welcome
         return result != null && result.size() > 0 ? result.get(0) : null;
     }
 
+    @Override
+    public List<WelcomeBed> listWelcomeBed(Integer id) {
+        LambdaQueryWrapper<WelcomeBed> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(WelcomeBed::getDormitoryId,id);
+        List<WelcomeBed> result = welcomeBedMapper.selectList(queryWrapper);
+        return result;
+    }
+
 }

+ 8 - 0
src/main/java/com/template/services/impl/WelcomeBuildServiceImpl.java

@@ -92,5 +92,13 @@ public class WelcomeBuildServiceImpl extends ServiceImpl<WelcomeBuildMapper, Wel
         return result;
     }
 
+    @Override
+    public List<WelcomeBuild> getBuild(Integer schoolId) {
+        LambdaQueryWrapper<WelcomeBuild> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(WelcomeBuild::getSchoolId,schoolId);
+        List<WelcomeBuild> result = welcomeBuildMapper.selectList(queryWrapper);
+        return result;
+    }
+
 
 }

+ 6 - 0
src/main/java/com/template/services/impl/WelcomeDormitoryServiceImpl.java

@@ -10,6 +10,7 @@ import com.template.model.pojo.WelcomeDormitory;
 import com.template.model.pojo.WelcomeDormitory;
 import com.template.mapper.WelcomeDormitoryMapper;
 import com.template.model.result.PageUtils;
+import com.template.model.vo.StudentStayVo;
 import com.template.model.vo.WelcomeDormitoryVo;
 import com.template.services.WelcomeDormitoryService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -108,4 +109,9 @@ public class WelcomeDormitoryServiceImpl extends ServiceImpl<WelcomeDormitoryMap
         List<WelcomeDormitory> welcomeDormitories = welcomeDormitoryMapper.selectList(wrapper);
         return welcomeDormitories;
     }
+
+    @Override
+    public StudentStayVo getTotalCount(Integer buildId) {
+        return welcomeDormitoryMapper.getTotalCount(buildId);
+    }
 }

+ 37 - 0
src/main/java/com/template/services/impl/WelcomeStudentServiceImpl.java

@@ -1,5 +1,7 @@
 package com.template.services.impl;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -10,6 +12,9 @@ import com.template.model.pojo.WelcomeStudent;
 import com.template.mapper.WelcomeStudentMapper;
 import com.template.model.result.PageUtils;
 import com.template.model.vo.StudentPageVo;
+import com.template.model.vo.StudentRegisterVo;
+import com.template.model.vo.StudentSexRatioVo;
+import com.template.model.vo.StudentTrafficVo;
 import com.template.services.WelcomeStudentService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -110,6 +115,38 @@ public class WelcomeStudentServiceImpl extends ServiceImpl<WelcomeStudentMapper,
     }
 
     @Override
+    public List<StudentRegisterVo> studentRegister() {
+        return welcomeStudentMapper.studentRegister();
+    }
+
+    @Override
+    public List<StudentTrafficVo> studentTraffic() {
+        return welcomeStudentMapper.studentTraffic();
+    }
+
+    @Override
+    public Integer genderCount(String gender) {
+        LambdaQueryWrapper<WelcomeStudent> wrapper=new LambdaQueryWrapper<>();
+        wrapper.eq(WelcomeStudent::getSex,gender)
+                .eq(WelcomeStudent::getIdenType,1);
+        Integer count = welcomeStudentMapper.selectCount(wrapper);
+        return count;
+    }
+
+    @Override
+    public List<StudentSexRatioVo> studentSexRatio() {
+        return welcomeStudentMapper.studentSexRatio();
+    }
+
+    @Override
+    public Integer totalCount() {
+        LambdaQueryWrapper<WelcomeStudent> wrapper=new LambdaQueryWrapper<>();
+        wrapper.eq(WelcomeStudent::getIdenType,1);
+        Integer count = welcomeStudentMapper.selectCount(wrapper);
+        return count;
+    }
+
+    @Override
     public WelcomeStudent getDataByIdcardOrNum(String admissNum, String cardId) {
         QueryWrapper<WelcomeStudent> queryWrapper = new QueryWrapper<>();
         queryWrapper.and(e -> e.eq(StringUtils.hasText(admissNum), "admiss_num", admissNum)

+ 14 - 0
src/main/resources/mapper/template/WelcomeDormitoryMapper.xml

@@ -71,4 +71,18 @@
             and wd.college_id = #{collegeId}
         </if>
     </select>
+    <select id="getTotalCount" resultType="com.template.model.vo.StudentStayVo">
+        SELECT
+            COUNT(wd.id) as dormitoryTotalCount,
+            SUM(wd.bed_number) as bedTotalCount,
+            (SELECT COUNT(wd.id) FROM `welcome_dormitory` wd WHERE wd.sex="男" AND wd.deleted=0 AND wd.build_id=#{buildId}) as manDormitoryCount,
+            (SELECT COUNT(wd.id) FROM `welcome_dormitory` wd WHERE wd.sex="女" AND wd.deleted=0 AND wd.build_id=#{buildId}) as girlDormitoryCount,
+            (SELECT COUNT(wb.id) FROM `welcome_bed` wb WHERE wb.deleted=0 AND wb.is_check=1 AND wd.build_id=#{buildId}) as checkInTotalCount,
+            (SELECT COUNT(wb.id) FROM `welcome_bed` wb WHERE wb.deleted=0 AND wb.is_check=1 AND wd.build_id=#{buildId} and wb.sex="男") as checkInManCount,
+            (SELECT COUNT(wb.id) FROM `welcome_bed` wb WHERE wb.deleted=0 AND wb.is_check=1 AND wd.build_id=#{buildId} and wb.sex="女") as checkInGirlCount
+        FROM
+            `welcome_dormitory` wd
+        WHERE wd.deleted=0
+          AND wd.build_id=#{buildId}
+    </select>
 </mapper>

+ 53 - 0
src/main/resources/mapper/template/WelcomeStudentMapper.xml

@@ -42,4 +42,57 @@
         </if>
         order by ws.update_time desc
     </select>
+    <select id="studentRegister" resultType="com.template.model.vo.StudentRegisterVo">
+        SELECT count(ws.id) AS count,
+	           wo.`name` AS collegeName
+        FROM
+            `welcome_student` ws
+            LEFT JOIN welcome_org wo
+        ON ws.college_id = wo.id AND wo.deleted = 0
+        WHERE
+            ws.deleted = 0
+            AND ws.iden_type=1
+        GROUP BY
+            college_id
+    </select>
+    <select id="studentTraffic" resultType="com.template.model.vo.StudentTrafficVo">
+        SELECT count(ws.id) AS count,
+	        ws.traffic_method as trafficMethod
+        FROM
+            `welcome_student` ws
+        WHERE
+            ws.deleted = 0
+          AND ws.iden_type=1
+        GROUP BY
+            traffic_method
+    </select>
+    <select id="studentSexRatio" resultType="com.template.model.vo.StudentSexRatioVo">
+        SELECT wo.`name` as collegeName,
+               new.count  AS manCount,
+               new2.count AS girlCount
+        FROM `welcome_student` w
+                 LEFT JOIN (SELECT ws.college_id AS collegeId,
+                                   count(ws.id) AS count
+                            FROM
+                                `welcome_student` ws
+                            WHERE
+                                ws.deleted = 0
+                              AND ws.sex = '男'
+                              AND ws.iden_type=1
+                            GROUP BY
+                                college_id) new ON w.college_id = new.collegeId
+                 LEFT JOIN (SELECT ws.college_id AS collegeId,
+                                   count(ws.id) AS count
+                            FROM
+                                `welcome_student` ws
+                            WHERE
+                                ws.deleted = 0
+                              AND ws.sex = '女'
+                              AND ws.iden_type=1
+                            GROUP BY
+                                college_id) new2 ON w.college_id = new2.collegeId
+                 LEFT JOIN welcome_org wo ON w.college_id = wo.id
+            AND wo.deleted = 0
+        GROUP BY w.college_id
+    </select>
 </mapper>