zouxuan 2 سال پیش
والد
کامیت
2c57570fb9
1فایلهای تغییر یافته به همراه4 افزوده شده و 4 حذف شده
  1. 4 4
      mec-biz/src/main/resources/config/mybatis/OperatingReportNewMapper.xml

+ 4 - 4
mec-biz/src/main/resources/config/mybatis/OperatingReportNewMapper.xml

@@ -199,14 +199,14 @@
 		AND cssp.actual_price_ > 0 AND cs.class_date_ BETWEEN #{firstDay} AND #{lastDay} group by cs.organ_id_;
 	</select>
 	<select id="sumPersonalCloudAmount" resultType="java.util.Map">
-		select cto.organ_id_ 'key',TRUNCATE(SUM(operating_amount_ / TIMESTAMPDIFF(DAY,start_time_,end_time_) *
+		select cto.organ_id_ 'key',TRUNCATE(SUM(operating_amount_ / (TIMESTAMPDIFF(DAY,orc.start_date_,orc.end_date_) + 1) *
 		TIMESTAMPDIFF(DAY,CASE WHEN start_time_ &lt; #{firstDay} THEN #{firstDay} ELSE DATE_FORMAT(start_time_,'%Y-%m-%d') END,
 		CASE WHEN DATE_FORMAT(end_time_,'%Y-%m') > #{month} THEN #{lastDay} ELSE DATE_FORMAT(end_time_,'%Y-%m-%d') END)),2) 'value'
 		from cloud_teacher_order cto
 		where operating_amount_ > 0 AND #{month} BETWEEN DATE_FORMAT(start_time_,'%Y-%m') AND DATE_FORMAT(end_time_,'%Y-%m') group by cto.organ_id_;
 	</select>
 	<select id="sumGroupCloudAmount" resultType="java.util.Map">
-		select orc.organ_id_ 'key',TRUNCATE(SUM(orc.cloud_price_ / TIMESTAMPDIFF(DAY,orc.start_date_,orc.end_date_) *
+		select orc.organ_id_ 'key',TRUNCATE(SUM(orc.cloud_price_ / (TIMESTAMPDIFF(DAY,orc.start_date_,orc.end_date_) + 1) *
 		TIMESTAMPDIFF(DAY,CASE WHEN orc.start_date_ &lt; #{firstDay} THEN #{firstDay} ELSE orc.start_date_ END,
 		CASE WHEN DATE_FORMAT(orc.end_date_,'%Y-%m') > #{month} THEN #{lastDay} ELSE orc.end_date_ END)),2) 'value' from operating_report_cloud orc
 		where #{month} BETWEEN DATE_FORMAT(orc.start_date_,'%Y-%m') AND DATE_FORMAT(orc.end_date_,'%Y-%m') AND orc.cloud_price_ > 0 AND orc.start_date_  IS NOT NULL;
@@ -224,13 +224,13 @@
 		where DATE_FORMAT(fe.create_time_,'%Y-%m') = #{month} AND fee_project_ IN (1,2,4,5) AND process_id_ = 28 group by fe.organ_id_;
 	</select>
 	<select id="sumCloudPreAmount" resultType="java.util.Map">
-		select orc.organ_id_ 'key',TRUNCATE(SUM(operating_amount_ / TIMESTAMPDIFF(DAY,start_time_,end_time_) *
+		select orc.organ_id_ 'key',TRUNCATE(SUM(operating_amount_ / (TIMESTAMPDIFF(DAY,orc.start_date_,orc.end_date_) + 1) *
 		TIMESTAMPDIFF(DAY,CASE WHEN start_time_ &lt; #{lastDay} THEN #{lastDay} ELSE start_time_ END,end_time_)),2) 'value'
 		from cloud_teacher_order orc
 		where operating_amount_ > 0 AND DATE_FORMAT(end_time_,'%Y-%m') > #{month} group by orc.organ_id_;
 	</select>
 	<select id="sumGroupCloudPreAmount" resultType="java.util.Map">
-		select orc.organ_id_ 'key',TRUNCATE(SUM(orc.cloud_price_ / TIMESTAMPDIFF(DAY,orc.start_date_,orc.end_date_) * TIMESTAMPDIFF(DAY,#{lastDay},orc.end_date_)),2) 'value'
+		select orc.organ_id_ 'key',TRUNCATE(SUM(orc.cloud_price_ / (TIMESTAMPDIFF(DAY,orc.start_date_,orc.end_date_) + 1) * TIMESTAMPDIFF(DAY,#{lastDay},orc.end_date_)),2) 'value'
 		from operating_report_cloud orc
 		where DATE_FORMAT(orc.end_date_,'%Y-%m') > #{month} AND orc.cloud_price_ > 0 AND orc.month_flag_ = false group by orc.organ_id_;
 	</select>