浏览代码

儿童节后台统计

zouxuan 4 年之前
父节点
当前提交
02fc3755e2

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ChildrenDayReserveDao.java

@@ -1,9 +1,12 @@
 package com.ym.mec.biz.dal.dao;
 
 
+import com.ym.mec.biz.dal.dto.ChildrenStatisticsDto;
 import com.ym.mec.biz.dal.entity.ChildrenDayReserve;
 import com.ym.mec.common.dal.BaseDAO;
 
 public interface ChildrenDayReserveDao extends BaseDAO<Integer, ChildrenDayReserve> {
 
+    ChildrenStatisticsDto queryChildrenStatisticsList();
+
 }

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupDao.java

@@ -395,4 +395,6 @@ public interface MusicGroupDao extends BaseDAO<String, MusicGroup> {
      * @return
      */
     List<Map<Long, String>> queryEduNameMapByCourseId(@Param("courseIds") List<Long> courseIds);
+
+    List<MusicGroup> findByCooperationId(Integer cooperationId);
 }

+ 126 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ChildrenStatisticsDto.java

@@ -0,0 +1,126 @@
+package com.ym.mec.biz.dal.dto;
+
+import java.math.BigDecimal;
+
+public class ChildrenStatisticsDto {
+
+    private String organName;
+
+    private String cooperationOrganName;
+
+    private  String musicGroupName;
+
+    private  Integer normalNum;
+
+    private Integer reserveNum;
+
+    private Integer noReserveNum;
+
+    private Integer instrumentalMusicNum;
+
+    private Integer musicTheoryNum;
+
+    private Integer buyVipNum;
+
+    private BigDecimal buyVipAmount;
+
+    private Integer buyMusicTheoryNum;
+
+    private BigDecimal buyMusicTheoryAmount;
+
+    public String getOrganName() {
+        return organName;
+    }
+
+    public void setOrganName(String organName) {
+        this.organName = organName;
+    }
+
+    public String getCooperationOrganName() {
+        return cooperationOrganName;
+    }
+
+    public void setCooperationOrganName(String cooperationOrganName) {
+        this.cooperationOrganName = cooperationOrganName;
+    }
+
+    public String getMusicGroupName() {
+        return musicGroupName;
+    }
+
+    public void setMusicGroupName(String musicGroupName) {
+        this.musicGroupName = musicGroupName;
+    }
+
+    public Integer getNormalNum() {
+        return normalNum;
+    }
+
+    public void setNormalNum(Integer normalNum) {
+        this.normalNum = normalNum;
+    }
+
+    public Integer getReserveNum() {
+        return reserveNum;
+    }
+
+    public void setReserveNum(Integer reserveNum) {
+        this.reserveNum = reserveNum;
+    }
+
+    public Integer getNoReserveNum() {
+        return noReserveNum;
+    }
+
+    public void setNoReserveNum(Integer noReserveNum) {
+        this.noReserveNum = noReserveNum;
+    }
+
+    public Integer getInstrumentalMusicNum() {
+        return instrumentalMusicNum;
+    }
+
+    public void setInstrumentalMusicNum(Integer instrumentalMusicNum) {
+        this.instrumentalMusicNum = instrumentalMusicNum;
+    }
+
+    public Integer getMusicTheoryNum() {
+        return musicTheoryNum;
+    }
+
+    public void setMusicTheoryNum(Integer musicTheoryNum) {
+        this.musicTheoryNum = musicTheoryNum;
+    }
+
+    public Integer getBuyVipNum() {
+        return buyVipNum;
+    }
+
+    public void setBuyVipNum(Integer buyVipNum) {
+        this.buyVipNum = buyVipNum;
+    }
+
+    public BigDecimal getBuyVipAmount() {
+        return buyVipAmount;
+    }
+
+    public void setBuyVipAmount(BigDecimal buyVipAmount) {
+        this.buyVipAmount = buyVipAmount;
+    }
+
+    public Integer getBuyMusicTheoryNum() {
+        return buyMusicTheoryNum;
+    }
+
+    public void setBuyMusicTheoryNum(Integer buyMusicTheoryNum) {
+        this.buyMusicTheoryNum = buyMusicTheoryNum;
+    }
+
+    public BigDecimal getBuyMusicTheoryAmount() {
+        return buyMusicTheoryAmount;
+    }
+
+    public void setBuyMusicTheoryAmount(BigDecimal buyMusicTheoryAmount) {
+        this.buyMusicTheoryAmount = buyMusicTheoryAmount;
+    }
+}

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupService.java

@@ -365,4 +365,11 @@ public interface MusicGroupService extends BaseService<String, MusicGroup> {
 	 * @return 关闭结果
 	 */
 	Boolean closeMusicGroup(CloseMusicGroupDto closeMusicGroupDto);
+
+	/**
+	 * 根据合作单位获取所有乐团列表
+	 * @param cooperationId
+	 * @return
+	 */
+	List<MusicGroup> findByCooperationId(Integer cooperationId);
 }

+ 5 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -123,9 +123,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     private CourseScheduleTeacherSalaryDao courseScheduleTeacherSalaryDao;
 
     @Autowired
-    private CourseScheduleStudentPaymentDao courseScheduleStudentPaymentDao;
-
-    @Autowired
     private CourseScheduleStudentPaymentService courseScheduleStudentPaymentService;
 
     @Autowired
@@ -3013,4 +3010,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         return true;
     }
 
+    @Override
+    public List<MusicGroup> findByCooperationId(Integer cooperationId) {
+        return musicGroupDao.findByCooperationId(cooperationId);
+    }
+
 }

+ 25 - 0
mec-biz/src/main/resources/config/mybatis/ChildrenDayReserveMapper.xml

@@ -72,4 +72,29 @@
         SELECT COUNT(*)
         FROM children_day_reserve
     </select>
+    <resultMap id="ChildrenStatisticsDtoMap" type="com.ym.mec.biz.dal.dto.ChildrenStatisticsDto">
+        <result property="buyMusicTheoryAmount" column="buy_music_theory_amount_"/>
+        <result property="buyMusicTheoryNum" column="buy_music_theory_num_"/>
+        <result property="buyVipAmount" column="buy_vip_amount_"/>
+        <result property="buyVipNum" column="buy_vip_num_"/>
+        <result property="cooperationOrganName" column="cooperation_organ_name_"/>
+        <result property="instrumentalMusicNum" column="instrumental_music_num_"/>
+        <result property="musicGroupName" column="music_group_name_"/>
+        <result property="musicTheoryNum" column="music_theory_num_"/>
+        <result property="noReserveNum" column="no_reserve_num_"/>
+        <result property="normalNum" column="normal_num_"/>
+        <result property="organName" column="organ_name_"/>
+        <result property="reserveNum" column="reserve_num_"/>
+    </resultMap>
+    <select id="queryChildrenStatisticsList" resultMap="ChildrenStatisticsDtoMap">
+        SELECT o.name_ organ_name_,co.name_ cooperation_organ_name_,mg.name_ music_group_name_,COUNT(sr.user_id_) normal_num_,
+               COUNT(CASE WHEN cdr.is_reserve_ = 1 THEN 1 ELSE NULL END) 'reserve_num_',
+               COUNT(CASE WHEN cdr.is_reserve_ = 0 THEN 1 ELSE NULL END) 'no_reserve_num_'
+        FROM children_day_reserve cdr
+                 LEFT JOIN music_group mg ON mg.id_ = cdr.music_group_id_
+                 LEFT JOIN student_registration sr ON sr.music_group_id_ = cdr.music_group_id_ AND sr.music_group_status_ = 'NORMAL'
+                 LEFT JOIN cooperation_organ co ON co.id_ = cdr.cooperation_organ_id_
+                 LEFT JOIN organization o ON o.id_ = cdr.organ_id_
+        GROUP BY cdr.music_group_id_
+    </select>
 </mapper>

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml

@@ -739,4 +739,7 @@
         </foreach>
         AND mg.educational_teacher_id_ IS NOT NULL
     </select>
+    <select id="findByCooperationId" resultMap="MusicGroup">
+        SELECT * FROM music_group WHERE status_ = 'PROGRESS' AND cooperation_organ_id_ = #{cooperationId}
+    </select>
 </mapper>

+ 12 - 0
mec-web/src/main/java/com/ym/mec/web/controller/ChildrenReserveController.java

@@ -0,0 +1,12 @@
+package com.ym.mec.web.controller;
+
+import com.ym.mec.common.controller.BaseController;
+import io.swagger.annotations.Api;
+import org.springframework.web.bind.annotation.*;
+
+@RequestMapping("childrenReserve")
+@Api(tags = "儿童节活动")
+@RestController
+public class ChildrenReserveController extends BaseController {
+
+}

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupController.java

@@ -331,4 +331,12 @@ public class MusicGroupController extends BaseController {
 		return succeed(organizationService.getGradeList(musicGroup.getOrganId()));
 	}
 
+	@ApiOperation(value = "根据合作单位获取所有乐团列表")
+	@GetMapping("/findByCooperationId")
+	@PreAuthorize("@pcs.hasPermissions('musicGroup/findByCooperationId')")
+	@ApiImplicitParams({@ApiImplicitParam(name = "cooperationId", value = "合作单位", required = true, dataType = "Integer")})
+	public HttpResponseResult<List<MusicGroup>> findByCooperationId(Integer cooperationId) {
+		return succeed(musicGroupService.findByCooperationId(cooperationId));
+	}
+
 }