Browse Source

Merge remote-tracking branch 'origin/master'

Joburgess 5 years ago
parent
commit
bbe5e77b59

+ 10 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SellOrderDao.java

@@ -123,7 +123,7 @@ public interface SellOrderDao extends BaseDAO<Integer, SellOrder> {
     BigDecimal getOrderSellCost(@Param("orderId") Long orderId);
 
     /**
-     * 获取声部更换的销售、总收入
+     * 获取声部更换的销售、成本
      *
      * @param startTime
      * @param endTime
@@ -132,6 +132,13 @@ public interface SellOrderDao extends BaseDAO<Integer, SellOrder> {
     List<OperatingReport> getSubjectChangeMonthReport(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
 
     /**
+     * 获取声部更换的总收入
+     *
+     * @return
+     */
+    List<OperatingReport> getSubjectChangeGroupIncome(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+    /**
      * @param sellOrderIds:
      * @return java.util.List<com.ym.mec.biz.dal.entity.SellOrder>
      * @describe 获取指定的销售记录
@@ -141,16 +148,17 @@ public interface SellOrderDao extends BaseDAO<Integer, SellOrder> {
     List<SellOrder> getSellOrders(@Param("sellOrderIds") List<Integer> sellOrderIds);
 
     /**
+     * @return java.util.List<com.ym.mec.biz.dal.entity.SellOrder>
      * @describe 获取无批次号商品销售记录
      * @author Joburgess
      * @date 2020.10.13
-     * @return java.util.List<com.ym.mec.biz.dal.entity.SellOrder>
      */
     List<SellOrder> getNoneBatchNoSellOrders();
 
 
     /**
      * 获取订单组合商品的子商品
+     *
      * @param orderId
      * @param parentGoodsId
      * @return

+ 5 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/OperatingReportServiceImpl.java

@@ -128,8 +128,11 @@ public class OperatingReportServiceImpl extends BaseServiceImpl<Integer, Operati
         reports.addAll(sellOrderDao.getRechargeMonthReport(startTime, endTime));
         //3.6、零星收费(不是充值部分的)
         reports.addAll(sellOrderDao.getSporadicMonthReport(startTime, endTime));
-        //乐器更换
-        //reports.addAll(sellOrderDao.getSubjectChangeMonthReport(startTime, endTime));
+        //3.7 声部更换的收入
+        reports.addAll(sellOrderDao.getSubjectChangeMonthReport(startTime, endTime));
+        reports.addAll(sellOrderDao.getSubjectChangeGroupIncome(startTime, endTime));
+
+
         updateFee(organOperating, cooperationOperating, reports);
 
 //        Map<String, Object> params = new HashMap<>();

+ 42 - 20
mec-biz/src/main/resources/config/mybatis/SellOrderMapper.xml

@@ -36,8 +36,9 @@
         <result column="create_ime_" property="createIme"/>
         <result column="update_time_" property="updateTime"/>
         <result column="receive_status_" property="receiveStatus"/>
-        <result column="stock_type_" property="stockType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler" />
-        <result column="account_type_" property="accountType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler" />
+        <result column="stock_type_" property="stockType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="account_type_" property="accountType"
+                typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
     </resultMap>
     <sql id="Base_Column_List">
         <!--@mbg.generated-->
@@ -237,7 +238,7 @@
                 <if test="sellOrder.createIme != null">
                     create_ime_ = #{sellOrder.createIme},
                 </if>
-                    update_time_ = NOW()
+                update_time_ = NOW()
             </set>
             where id_ = #{sellOrder.id}
         </foreach>
@@ -432,7 +433,7 @@
         GROUP BY spo.organ_id_, co.id_
         ]]></select>
 
-    <!-- 获取分部学校的收入支出(声部更改、维修、商品销售订单) -->
+    <!-- 获取分部学校的收入支出(维修、商品销售订单) -->
     <select id="getRepairGoodsSellGroupMonthReport"
             resultMap="com.ym.mec.biz.dal.dao.OperatingReportDao.OperatingReport"><![CDATA[
         SELECT spo.organ_id_,
@@ -441,20 +442,20 @@
         FROM student_payment_order spo
                  LEFT JOIN sell_order so on so.order_id_ = spo.id_
         WHERE spo.status_ = 'SUCCESS'
-          AND spo.group_type_ IN ('REPAIR', 'GOODS_SELL','SUBJECT_CHANGE')
+          AND spo.group_type_ IN ('REPAIR', 'GOODS_SELL')
           AND spo.create_time_ >= #{startTime}
           AND spo.create_time_ <= #{endTime}
         GROUP BY spo.organ_id_
         ]]></select>
 
-    <!-- 获取分部学校的收入支出(声部更改、维修、商品销售订单) -->
+    <!-- 获取分部学校的收入支出(维修、商品销售订单) -->
     <select id="getRepairGoodsSellGroupIncome"
             resultMap="com.ym.mec.biz.dal.dao.OperatingReportDao.OperatingReport"><![CDATA[
         SELECT spo.organ_id_,
                SUM(spo.actual_amount_) income_total_
         FROM student_payment_order spo
         WHERE spo.status_ = 'SUCCESS'
-          AND spo.group_type_ IN ('REPAIR', 'GOODS_SELL','SUBJECT_CHANGE')
+          AND spo.group_type_ IN ('REPAIR', 'GOODS_SELL')
           AND spo.create_time_ >= #{startTime}
           AND spo.create_time_ <= #{endTime}
         GROUP BY spo.organ_id_
@@ -480,20 +481,37 @@
         WHERE order_id_ = #{orderId}
     </select>
 
-    <select id="getSubjectChangeMonthReport" resultMap="com.ym.mec.biz.dal.dao.OperatingReportDao.OperatingReport"><![CDATA[
-        SELECT sc.organ_id_,
-               sc.cooperation_organ_id_,
-               SUM(spo.actual_amount_) income_total_,
-               SUM(sc.sell_amount_)    sell_amount_,
-               SUM(sc.cost_margin_)    sell_cost_
-        FROM subject_change sc
-                 LEFT JOIN student_payment_order spo ON spo.id_ = sc.order_id_
-        WHERE sc.status_ = 2
-          AND sc.sell_time_ >= #{startTime}
-          AND sc.sell_time_ <= #{endTime}
-        GROUP BY sc.organ_id_, sc.cooperation_organ_id_
+    <!-- 获取分部学校的收入支出(声部更改) -->
+    <select id="getSubjectChangeMonthReport"
+            resultMap="com.ym.mec.biz.dal.dao.OperatingReportDao.OperatingReport"><![CDATA[
+        SELECT spo.organ_id_,
+               spo.music_group_id_          cooperation_organ_id_,
+               SUM(so.actual_amount_)       sell_amount_,
+               SUM(so.sell_cost_ * so.num_) sell_cost_
+        FROM student_payment_order spo
+                 LEFT JOIN sell_order so on so.order_id_ = spo.id_
+        WHERE spo.status_ = 'SUCCESS'
+          AND spo.group_type_ = 'SUBJECT_CHANGE'
+          AND spo.create_time_ >= #{startTime}
+          AND spo.create_time_ <= #{endTime}
+        GROUP BY spo.organ_id_, spo.music_group_id_
+        ]]></select>
+
+    <!-- 获取分部学校的收入支出(声部更改) -->
+    <select id="getSubjectChangeGroupIncome"
+            resultMap="com.ym.mec.biz.dal.dao.OperatingReportDao.OperatingReport"><![CDATA[
+        SELECT spo.organ_id_,
+               spo.music_group_id_     cooperation_organ_id_,
+               SUM(spo.actual_amount_) income_total_
+        FROM student_payment_order spo
+        WHERE spo.status_ = 'SUCCESS'
+          AND spo.group_type_ = 'SUBJECT_CHANGE'
+          AND spo.create_time_ >= #{startTime}
+          AND spo.create_time_ <= #{endTime}
+        GROUP BY spo.organ_id_, spo.music_group_id_
         ]]></select>
 
+
     <select id="getSellOrders" resultMap="SellOrder">
         SELECT * FROM sell_order WHERE id_ IN
         <foreach collection="sellOrderIds" item="id" open="(" close=")" separator=",">
@@ -509,6 +527,10 @@
     </select>
 
     <select id="getNoneBatchNoSellOrders" resultMap="SellOrder">
-        SELECT * FROM sell_order WHERE status_ = 0 AND stock_type_ IS NOT NULL AND batch_no_ IS NULL
+        SELECT *
+        FROM sell_order
+        WHERE status_ = 0
+          AND stock_type_ IS NOT NULL
+          AND batch_no_ IS NULL
     </select>
 </mapper>