浏览代码

乐团缴费项目改造

zouxuan 2 年之前
父节点
当前提交
3cde661d80

+ 14 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupCalenderRefundPeriodDao.java

@@ -1,14 +1,28 @@
 package com.ym.mec.biz.dal.dao;
 
+import com.ym.mec.biz.dal.dto.CooperationCalenderRefundDto;
+import com.ym.mec.biz.dal.dto.CooperationRefundDto;
 import com.ym.mec.biz.dal.entity.MusicGroupCalenderRefundPeriod;
 import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 
+import java.math.BigDecimal;
 import java.util.List;
+import java.util.Map;
 
 public interface MusicGroupCalenderRefundPeriodDao extends BaseDAO<Integer, MusicGroupCalenderRefundPeriod> {
 
     void batchInsert(@Param("refundPeriods") List<MusicGroupCalenderRefundPeriod> refundPeriods);
 
     List<MusicGroupCalenderRefundPeriod> findByCalenderId(@Param("calenderId") Long calenderId);
+
+    int countCoopRefund(Map<String, Object> params);
+
+    List<CooperationRefundDto> queryCoopRefund(Map<String, Object> params);
+
+    BigDecimal sumCoopRefund(Map<String, Object> params);
+
+    int countCoopCalender(Map<String, Object> params);
+
+    List<CooperationCalenderRefundDto> queryCoopCalender(Map<String, Object> params);
 }

+ 130 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CooperationCalenderRefundDto.java

@@ -0,0 +1,130 @@
+package com.ym.mec.biz.dal.dto;
+
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+
+public class CooperationCalenderRefundDto {
+
+    @ApiModelProperty(value = "缴费项目编号",required = false)
+    private Long calenderId;
+
+    @ApiModelProperty(value = "乐团编号",required = false)
+    private String musicGroupId;
+
+    @ApiModelProperty(value = "乐团",required = false)
+    private String musicGroupName;
+
+    @ApiModelProperty(value = "缴费批次",required = false)
+    private String batchNo;
+
+    @ApiModelProperty(value = "缴费类型",required = false)
+    private String paymentType;
+
+    @ApiModelProperty(value = "计价方式",required = false)
+    private String calenderFeeType;
+
+    @ApiModelProperty(value = "应收账款",required = false)
+    private BigDecimal receivable = BigDecimal.ZERO;
+
+    @ApiModelProperty(value = "实际收入",required = false)
+    private BigDecimal income = BigDecimal.ZERO;
+
+    @ApiModelProperty(value = "预收",required = false)
+    private BigDecimal prepaidFee = BigDecimal.ZERO;
+
+    @ApiModelProperty(value = "下次回款时间",required = false)
+    private String nextRefundDate;
+
+    @ApiModelProperty(value = "回款状态",required = false)
+    private String refundStatus;
+
+    public Long getCalenderId() {
+        return calenderId;
+    }
+
+    public void setCalenderId(Long calenderId) {
+        this.calenderId = calenderId;
+    }
+
+    public String getMusicGroupId() {
+        return musicGroupId;
+    }
+
+    public void setMusicGroupId(String musicGroupId) {
+        this.musicGroupId = musicGroupId;
+    }
+
+    public String getMusicGroupName() {
+        return musicGroupName;
+    }
+
+    public void setMusicGroupName(String musicGroupName) {
+        this.musicGroupName = musicGroupName;
+    }
+
+    public String getBatchNo() {
+        return batchNo;
+    }
+
+    public void setBatchNo(String batchNo) {
+        this.batchNo = batchNo;
+    }
+
+    public String getPaymentType() {
+        return paymentType;
+    }
+
+    public void setPaymentType(String paymentType) {
+        this.paymentType = paymentType;
+    }
+
+    public String getCalenderFeeType() {
+        return calenderFeeType;
+    }
+
+    public void setCalenderFeeType(String calenderFeeType) {
+        this.calenderFeeType = calenderFeeType;
+    }
+
+    public BigDecimal getReceivable() {
+        return receivable;
+    }
+
+    public void setReceivable(BigDecimal receivable) {
+        this.receivable = receivable;
+    }
+
+    public BigDecimal getIncome() {
+        return income;
+    }
+
+    public void setIncome(BigDecimal income) {
+        this.income = income;
+    }
+
+    public BigDecimal getPrepaidFee() {
+        return prepaidFee;
+    }
+
+    public void setPrepaidFee(BigDecimal prepaidFee) {
+        this.prepaidFee = prepaidFee;
+    }
+
+    public String getNextRefundDate() {
+        return nextRefundDate;
+    }
+
+    public void setNextRefundDate(String nextRefundDate) {
+        this.nextRefundDate = nextRefundDate;
+    }
+
+    public String getRefundStatus() {
+        return refundStatus;
+    }
+
+    public void setRefundStatus(String refundStatus) {
+        this.refundStatus = refundStatus;
+    }
+}

+ 108 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CooperationRefundDto.java

@@ -0,0 +1,108 @@
+package com.ym.mec.biz.dal.dto;
+
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+
+public class CooperationRefundDto{
+
+    @ApiModelProperty(value = "分部",required = false)
+    private Integer organId;
+
+    @ApiModelProperty(value = "分部",required = false)
+    private String organName;
+
+    @ApiModelProperty(value = "合作单位",required = false)
+    private Integer cooperationOrganId;
+
+    @ApiModelProperty(value = "合作单位",required = false)
+    private String cooperationOrganName;
+
+    @ApiModelProperty(value = "乐团主管",required = false)
+    private Integer educationUserId;
+
+    @ApiModelProperty(value = "乐团主管",required = false)
+    private String educationUserName;
+
+    @ApiModelProperty(value = "应收账款",required = false)
+    private BigDecimal receivable = BigDecimal.ZERO;
+
+    @ApiModelProperty(value = "实际收入",required = false)
+    private BigDecimal income = BigDecimal.ZERO;
+
+    @ApiModelProperty(value = "预收",required = false)
+    private BigDecimal prepaidFee = BigDecimal.ZERO;
+
+    public Integer getCooperationOrganId() {
+        return cooperationOrganId;
+    }
+
+    public void setCooperationOrganId(Integer cooperationOrganId) {
+        this.cooperationOrganId = cooperationOrganId;
+    }
+
+    public Integer getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(Integer organId) {
+        this.organId = organId;
+    }
+
+    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 Integer getEducationUserId() {
+        return educationUserId;
+    }
+
+    public void setEducationUserId(Integer educationUserId) {
+        this.educationUserId = educationUserId;
+    }
+
+    public String getEducationUserName() {
+        return educationUserName;
+    }
+
+    public void setEducationUserName(String educationUserName) {
+        this.educationUserName = educationUserName;
+    }
+
+    public BigDecimal getReceivable() {
+        return receivable;
+    }
+
+    public void setReceivable(BigDecimal receivable) {
+        this.receivable = receivable;
+    }
+
+    public BigDecimal getIncome() {
+        return income;
+    }
+
+    public void setIncome(BigDecimal income) {
+        this.income = income;
+    }
+
+    public BigDecimal getPrepaidFee() {
+        return prepaidFee;
+    }
+
+    public void setPrepaidFee(BigDecimal prepaidFee) {
+        this.prepaidFee = prepaidFee;
+    }
+}

+ 51 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/CooperationRefundQueryInfo.java

@@ -0,0 +1,51 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+
+public class CooperationRefundQueryInfo extends QueryInfo {
+
+    @ApiModelProperty(value = "分部",required = false)
+    private String organId;
+
+    @ApiModelProperty(value = "回访状态",required = false)
+    private Integer refundStatus;
+
+    @ApiModelProperty(value = "缴费开始时间",required = false)
+    private String refundStartDate;
+
+    @ApiModelProperty(value = "缴费结束时间",required = false)
+    private String refundEndDate;
+
+    public Integer getRefundStatus() {
+        return refundStatus;
+    }
+
+    public void setRefundStatus(Integer refundStatus) {
+        this.refundStatus = refundStatus;
+    }
+
+    public String getRefundStartDate() {
+        return refundStartDate;
+    }
+
+    public void setRefundStartDate(String refundStartDate) {
+        this.refundStartDate = refundStartDate;
+    }
+
+    public String getRefundEndDate() {
+        return refundEndDate;
+    }
+
+    public void setRefundEndDate(String refundEndDate) {
+        this.refundEndDate = refundEndDate;
+    }
+
+    public String getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(String organId) {
+        this.organId = organId;
+    }
+}

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupCalenderRefundPeriodService.java

@@ -1,9 +1,14 @@
 package com.ym.mec.biz.service;
 
+import com.ym.mec.biz.dal.dto.CooperationCalenderRefundDto;
+import com.ym.mec.biz.dal.dto.CooperationRefundDto;
 import com.ym.mec.biz.dal.dto.MusicGroupPaymentBaseCalender;
 import com.ym.mec.biz.dal.entity.MusicGroupCalenderRefundPeriod;
+import com.ym.mec.biz.dal.page.CooperationRefundQueryInfo;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 public interface MusicGroupCalenderRefundPeriodService extends BaseService<Integer, MusicGroupCalenderRefundPeriod> {
@@ -11,4 +16,10 @@ public interface MusicGroupCalenderRefundPeriodService extends BaseService<Integ
     void savePeriod(MusicGroupPaymentBaseCalender musicGroupPaymentBaseCalender);
 
     List<MusicGroupCalenderRefundPeriod> findByCalenderId(Long calenderId);
+
+    PageInfo<CooperationRefundDto> queryCoopRefund(CooperationRefundQueryInfo queryInfo);
+
+    BigDecimal sumCoopRefund(CooperationRefundQueryInfo queryInfo);
+
+    PageInfo<CooperationCalenderRefundDto> queryCoopCalender(CooperationRefundQueryInfo queryInfo);
 }

+ 71 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupCalenderRefundPeriodServiceImpl.java

@@ -2,21 +2,27 @@ package com.ym.mec.biz.service.impl;
 
 import com.ym.mec.biz.dal.dao.MusicGroupCalenderRefundPeriodDao;
 import com.ym.mec.biz.dal.dao.MusicGroupDao;
+import com.ym.mec.biz.dal.dao.TeacherDao;
+import com.ym.mec.biz.dal.dto.CooperationCalenderRefundDto;
+import com.ym.mec.biz.dal.dto.CooperationRefundDto;
 import com.ym.mec.biz.dal.dto.MusicGroupPaymentBaseCalender;
 import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.MusicGroupCalenderRefundPeriod;
+import com.ym.mec.biz.dal.page.CooperationRefundQueryInfo;
 import com.ym.mec.biz.service.MusicGroupCalenderRefundPeriodService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.util.collection.MapUtil;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
 
 import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PayUserType.SCHOOL;
 
@@ -27,6 +33,8 @@ public class MusicGroupCalenderRefundPeriodServiceImpl extends BaseServiceImpl<I
     private MusicGroupCalenderRefundPeriodDao musicGroupCalenderRefundPeriodDao;
     @Autowired
     private MusicGroupDao musicGroupDao;
+    @Autowired
+    private TeacherDao teacherDao;
 
     @Override
     public BaseDAO<Integer, MusicGroupCalenderRefundPeriod> getDAO() {
@@ -60,4 +68,65 @@ public class MusicGroupCalenderRefundPeriodServiceImpl extends BaseServiceImpl<I
     public List<MusicGroupCalenderRefundPeriod> findByCalenderId(Long calenderId) {
         return musicGroupCalenderRefundPeriodDao.findByCalenderId(calenderId);
     }
+
+    @Override
+    public PageInfo<CooperationRefundDto> queryCoopRefund(CooperationRefundQueryInfo queryInfo) {
+        PageInfo<CooperationRefundDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<String, Object>();
+        MapUtil.populateMap(params, queryInfo);
+
+        List<CooperationRefundDto> dataList = null;
+        int count = musicGroupCalenderRefundPeriodDao.countCoopRefund(params);
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = musicGroupCalenderRefundPeriodDao.queryCoopRefund(params);
+            List<Integer> organIds = dataList.stream().map(e -> e.getOrganId()).distinct().collect(Collectors.toList());
+            List<Integer> eduUserIds = dataList.stream().map(e -> e.getEducationUserId()).distinct().collect(Collectors.toList());
+            Map<Integer, String> maps = MapUtil.convertIntegerMap(teacherDao.queryNameByIdList(eduUserIds));
+            Map<Integer, String> userOrganNameMap = this.getMap("organization","id_","name_",organIds,queryInfo.getTenantId(),Integer.class,String.class);
+            dataList.forEach(e->{
+                e.setEducationUserName(maps.get(e.getEducationUserId()));
+                e.setOrganName(userOrganNameMap.get(e.getOrganId()));
+                e.setIncome(e.getReceivable().subtract(e.getPrepaidFee()));
+            });
+        }
+        if (count == 0) {
+            dataList = new ArrayList<>();
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
+    }
+
+    @Override
+    public BigDecimal sumCoopRefund(CooperationRefundQueryInfo queryInfo) {
+        Map<String, Object> params = new HashMap<String, Object>();
+        MapUtil.populateMap(params, queryInfo);
+        return musicGroupCalenderRefundPeriodDao.sumCoopRefund(params);
+    }
+
+    @Override
+    public PageInfo<CooperationCalenderRefundDto> queryCoopCalender(CooperationRefundQueryInfo queryInfo) {
+        PageInfo<CooperationCalenderRefundDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<String, Object>();
+        MapUtil.populateMap(params, queryInfo);
+
+        List<CooperationCalenderRefundDto> dataList = null;
+        int count = musicGroupCalenderRefundPeriodDao.countCoopCalender(params);
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = musicGroupCalenderRefundPeriodDao.queryCoopCalender(params);
+            dataList.forEach(e->{
+                e.setIncome(e.getReceivable().subtract(e.getPrepaidFee()));
+                int compareTo = e.getPrepaidFee().compareTo(BigDecimal.ZERO);
+                e.setRefundStatus(compareTo > 0 ? "ING":"END");
+            });
+        }
+        if (count == 0) {
+            dataList = new ArrayList<>();
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
+    }
 }

+ 93 - 1
mec-biz/src/main/resources/config/mybatis/MusicGroupCalenderRefundPeriodMapper.xml

@@ -35,7 +35,8 @@
 														refund_date_,refund_amount_,sub_refund_amount_,create_time_,update_time_)
 		VALUES
 		<foreach collection="refundPeriods" separator="," item="bean">
-			(#{organId},#{cooperationOrganId},#{calenderId},#{refundDate},#{refundAmount},#{subRefundAmount},#{createTime},#{updateTime})
+			(#{bean.organId},#{bean.cooperationOrganId},#{bean.calenderId},#{bean.refundDate},
+			 #{bean.refundAmount},#{bean.subRefundAmount},#{bean.createTime},#{bean.updateTime})
 		</foreach>
 	</insert>
 
@@ -52,4 +53,95 @@
 	<select id="findByCalenderId" resultMap="MusicGroupCalenderRefundPeriod">
 		SELECT * FROM music_group_calender_refund_period where calender_id_ = #{calenderId} ORDER BY refund_date_
 	</select>
+	<resultMap id="CooperationRefundDto" type="com.ym.mec.biz.dal.dto.CooperationRefundDto">
+		<result property="organId" column="organ_id_"/>
+		<result property="cooperationOrganId" column="cooperation_organ_id_"/>
+		<result property="cooperationOrganName" column="cooperation_organ_name_"/>
+		<result property="receivable" column="receivable_"/>
+		<result property="prepaidFee" column="prepaidFee"/>
+		<result property="educationUserId" column="education_user_id_"/>
+	</resultMap>
+	<sql id="queryCoopRefundSql">
+		<where>
+			<if test="organId != null and organId != ''">
+				AND FIND_IN_SET(co.organ_id_,#{organId})
+			</if>
+			<if test="search != null and search != ''">
+				AND (co.name_ LIKE CONCAT('%',#{search},'%') OR co.id_ = #{search})
+			</if>
+		</where>
+	</sql>
+	<select id="countCoopRefund" resultType="java.lang.Integer">
+		select COUNT(DISTINCT crp.cooperation_organ_id_)
+		from music_group_calender_refund_period crp
+		left join cooperation_organ co ON co.id_ = crp.cooperation_organ_id_
+		<include refid="queryCoopRefundSql"/>
+	</select>
+	<select id="queryCoopRefund" resultMap="CooperationRefundDto">
+		select co.organ_id_,crp.cooperation_organ_id_,co.name_ cooperation_organ_name_,
+		SUM(refund_amount_) receivable_,SUM(sub_refund_amount_) prepaidFee,co.education_user_id_
+		from music_group_calender_refund_period crp
+		left join cooperation_organ co ON co.id_ = crp.cooperation_organ_id_
+		<include refid="queryCoopRefundSql"/>
+		group by crp.cooperation_organ_id_
+		order by crp.id_ DESC
+	</select>
+	<resultMap id="CooperationCalenderRefundDto" type="com.ym.mec.biz.dal.dto.CooperationCalenderRefundDto">
+		<result property="calenderId" column="calender_id_"/>
+		<result property="batchNo" column="batch_no_"/>
+		<result property="paymentType" column="payment_type_"/>
+		<result property="musicGroupId" column="music_group_id_"/>
+		<result property="musicGroupName" column="music_group_name_"/>
+		<result property="calenderFeeType" column="calender_fee_type_"/>
+		<result property="receivable" column="receivable_"/>
+		<result property="prepaidFee" column="prepaidFee"/>
+		<result property="nextRefundDate" column="nextRefundDate"/>
+		<result property="refundStatus" column="refundStatus"/>
+	</resultMap>
+	<sql id="queryCoopCalenderSql">
+		<if test="calenderId != null">
+			AND crp.calender_id_
+		</if>
+		<if test="refundStartDate != null and refundStartDate != ''">
+			AND crp.refund_date_ BETWEEN #{refundStartDate} AND #{refundEndDate}
+		</if>
+		<if test="search != '' and search != ''">
+			AND (mg.name_ LIKE CONCAT('%',#{search},'%') OR mg.id_ = #{search})
+		</if>
+	</sql>
+	<sql id="queryCoopCalenderHavingSql">
+		<if test="refundStatus != null and refundStatus != ''">
+			<if test="refundStatus = 'ING'">
+				HAVING SUM(crp.sub_refund_amount_) > 0
+			</if>
+			<if test="refundStatus = 'END'">
+				HAVING SUM(crp.sub_refund_amount_) = 0
+			</if>
+		</if>
+	</sql>
+	<select id="queryCoopCalender" resultMap="CooperationCalenderRefundDto">
+		select crp.calender_id_,mgpc.music_group_id_,mg.name_ music_group_name_,mgpc.batch_no_,mgpc.payment_type_,mgpc.calender_fee_type_,
+			   SUM(crp.refund_amount_) receivable_,SUM(crp.sub_refund_amount_) prepaidFee,
+			   MIN(CASE WHEN crp.refund_flag_ = 0 THEN crp.refund_date_ ELSE NULL END) nextRefundDate
+		from music_group_calender_refund_period crp
+				 left join music_group_payment_calender mgpc ON mgpc.id_ = crp.calender_id_
+				 left join music_group mg ON mg.id_ = mgpc.music_group_id_
+		<include refid="queryCoopCalenderSql"/>
+		group by crp.calender_id_
+		<include refid="queryCoopCalenderHavingSql"/>
+	</select>
+	<select id="countCoopCalender" resultType="java.lang.Integer">
+		select COUNT(calender_id_) from (select crp.calender_id_
+		from music_group_calender_refund_period crp
+		left join music_group_payment_calender mgpc ON mgpc.id_ = crp.calender_id_
+		left join music_group mg ON mg.id_ = mgpc.music_group_id_
+		<include refid="queryCoopCalenderSql"/>
+		group by crp.calender_id_
+		<include refid="queryCoopCalenderHavingSql"/>)crp
+	</select>
+	<select id="sumCoopRefund" resultType="java.math.BigDecimal">
+		select CASE WHEN crp.id_ IS NULL THEN 0 ELSE SUM(refund_amount_) - SUM(sub_refund_amount_) END from music_group_calender_refund_period crp
+		left join cooperation_organ co ON co.id_ = crp.cooperation_organ_id_
+		<include refid="queryCoopRefundSql"/>
+	</select>
 </mapper>

+ 47 - 0
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupCalenderRefundPeriodController.java

@@ -0,0 +1,47 @@
+package com.ym.mec.web.controller;
+
+import com.ym.mec.biz.dal.dto.CooperationCalenderRefundDto;
+import com.ym.mec.biz.dal.page.CooperationRefundQueryInfo;
+import com.ym.mec.biz.service.MusicGroupCalenderRefundPeriodService;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.page.PageInfo;
+import com.yonge.log.model.AuditLogAnnotation;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.HashMap;
+
+@RequestMapping("musicGroupCalenderRefundPeriod")
+@Api(tags = "学校缴费项目缴费周期")
+@RestController
+public class MusicGroupCalenderRefundPeriodController extends BaseController {
+
+    @Autowired
+    private MusicGroupCalenderRefundPeriodService musicGroupCalenderRefundPeriodService;
+
+    @ApiOperation(value = "获取合作单位费用汇总列表")
+    @PostMapping("/queryCoopRefund")
+    @PreAuthorize("@pcs.hasPermissions('musicGroupCalenderRefundPeriod/queryCoopRefund')")
+    @AuditLogAnnotation(operateName = "获取合作单位费用汇总列表")
+    public HttpResponseResult<HashMap<String, Object>> queryCoopRefund(@RequestBody CooperationRefundQueryInfo queryInfo) {
+        HashMap<String, Object> resultMap = new HashMap<>(2);
+        resultMap.put("pageInfo",musicGroupCalenderRefundPeriodService.queryCoopRefund(queryInfo));
+        resultMap.put("amount",musicGroupCalenderRefundPeriodService.sumCoopRefund(queryInfo));
+        return succeed(resultMap);
+    }
+
+    @ApiOperation(value = "获取合作单位学校缴费列表")
+    @PostMapping("/queryCoopCalender")
+    @PreAuthorize("@pcs.hasPermissions('musicGroupCalenderRefundPeriod/queryCoopCalender')")
+    @AuditLogAnnotation(operateName = "获取合作单位学校缴费列表")
+    public HttpResponseResult<PageInfo<CooperationCalenderRefundDto>> queryCoopCalender(@RequestBody CooperationRefundQueryInfo queryInfo) {
+        return succeed(musicGroupCalenderRefundPeriodService.queryCoopCalender(queryInfo));
+    }
+}