From e50e03e296a2456836afbb7f6bee461ee7bddd05 Mon Sep 17 00:00:00 2001
From: houruijun <411269194@kidgrow.com>
Date: Thu, 22 Oct 2020 10:37:41 +0800
Subject: [PATCH] 修改因合并版本造成代码丢失的问题

---
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/ProductOrderDetailMapper.xml |  196 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 193 insertions(+), 3 deletions(-)

diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/ProductOrderDetailMapper.xml b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/ProductOrderDetailMapper.xml
index 27594bd..c80ed2f 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/ProductOrderDetailMapper.xml
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/ProductOrderDetailMapper.xml
@@ -4,7 +4,7 @@
 <mapper namespace="com.kidgrow.oprationcenter.mapper.ProductOrderDetailMapper">
     <!--定义查询列-->
     <sql id="Column_List">
-	   *
+	   DISTINCT *
 	</sql>
 
     <!--sql查询片段-->
@@ -145,7 +145,8 @@
     <sql id="whereforall">
         <where>
             <!--查询条件自行添加-->
-            DE.is_del=0 and DE.ailight_count>0 and DE.pro_begintime &lt;=now() and DE.pro_endtime >=now() and DE.enabled=1
+            DE.is_del=0 and DE.ailight_count>=0 and DE.pro_begintime &lt;=now() and DE.pro_endtime >=now() and
+            DE.enabled=1
             <if test="p.hospitalId != null and p.hospitalId !=''">
                 and PRO.hospital_id = #{p.hospitalId}
             </if>
@@ -167,6 +168,195 @@
         product_order_detail DE
         LEFT JOIN product_order PRO ON DE.order_id = PRO.id
         <include refid="whereforall"/>
-        order by DE.pro_endtime asc,DE.id asc
+        order by
+        DE.pro_endtime ASC,
+        DE.pro_begintime ASC,
+        DE.id asc
+    </select>
+
+    <select id="getEnabledCount" resultType="int" parameterType="long">
+        SELECT
+	COUNT(*)
+FROM
+	product_order_record
+WHERE
+pro_type=0 AND is_del=0 AND enabled=1 AND
+	order_id IN (
+	SELECT
+		id
+	FROM
+		product_order
+WHERE
+	department_id = #{departmentId})
+    </select>
+    <select id="oprationChart" resultType="int" parameterType="int">
+        <if test="datatype==0">
+            -- 试用审核
+            SELECT count(*) FROM product_order_detail WHERE enabled=0 AND is_del=0 and pro_type=0
+        </if>
+        <if test="datatype==1">
+            -- 套餐总量
+            SELECT count(*) FROM sys_product WHERE is_del=0 and enabled=1
+        </if>
+        <if test="datatype==2">
+            -- 未处理用户反馈
+            SELECT count(*) FROM sys_feedback WHERE is_del=0 and enabled=0
+        </if>
+        <if test="datatype==3">
+            -- 未处理数据需求
+            SELECT count(*) FROM data_need WHERE is_del=0 and enabled=0
+        </if>
+    </select>
+
+    <select id="productOrderChart" resultType="com.kidgrow.oprationcenter.vo.OrderChartVo">
+        <if test="p.datatype==1">
+            -- 按年统计
+            SELECT COUNT(t.id) ccount,t.units FROM
+            (select id,DATE_FORMAT(contract_time,'%Y/%m') units,contract_time from product_order
+            <include refid="whereorderchart"/>
+            ) AS t
+            GROUP BY t.units
+        </if>
+        <if test="p.datatype==2">
+            -- 按月统计
+            SELECT COUNT(t.id) ccount,t.units FROM
+            (select id,DATE_FORMAT(contract_time,'%Y') units,contract_time from product_order
+            <include refid="whereorderchart"/>
+            ) AS t
+            GROUP BY t.units
+        </if>
+    </select>
+    <sql id="whereorderchart">
+        <where>
+            <!--查询条件自行添加-->
+            is_del=0 and enabled=1
+            <if test="p.startTime != null and p.endTime !=''">
+                and contract_time between #{p.startTime} and #{p.endTime}
+            </if>
+        </where>
+    </sql>
+    <select id="proCountChart" resultType="com.kidgrow.oprationcenter.vo.OrderChartVo">
+        SELECT
+	count( pro_id ) ccount,
+	pro_name units
+FROM
+	product_order_record
+WHERE
+	is_del = 0
+	AND enabled = 1
+	AND pro_id IN ( SELECT id FROM sys_product WHERE is_del = 0 AND enabled = 1 )
+GROUP BY
+	pro_id,
+	pro_name
+ORDER BY
+	ccount DESC
+	LIMIT 10
+    </select>
+    <select id="departmentProductDetail" resultType="com.kidgrow.oprationcenter.model.ProductOrderDetail">
+        SELECT
+	*
+FROM
+	product_order_detail
+WHERE
+	order_id IN ( SELECT id FROM product_order WHERE hospital_id = #{hospitalId} AND department_id = #{departmentId} AND is_del = 0 AND enabled = 1 )
+	AND is_del = 0
+	AND enabled = 1
+ORDER BY
+	create_time DESC
+    </select>
+	<select id="getUserdProduct" resultType="int">
+        SELECT
+        sum(total)
+        FROM
+        (
+        SELECT
+        count(*) total
+        FROM
+        `product_order` order_order
+        LEFT JOIN product_order_record record ON order_order.id = record.order_id
+        WHERE
+        order_order.hospital_id = #{hospitalId}
+        AND order_order.department_id = #{departmentId}
+        and  record.pro_id!=1000000000000000000
+        AND order_order.is_del = 0
+	AND order_order.enabled = 1
+		AND record.is_del = 0
+	AND record.enabled = 1
+	AND record.pro_endtime>now()
+        UNION ALL
+        SELECT
+        count(*) total
+        FROM
+        `product_order` order_order
+        LEFT JOIN product_order_record record ON order_order.id = record.order_id
+        WHERE
+        order_order.hospital_id = #{hospitalId}
+        AND record.is_share = 1
+        and  record.pro_id!=1000000000000000000
+        AND order_order.is_del = 0
+	AND order_order.enabled = 1
+		AND record.is_del = 0
+	AND record.enabled = 1
+	AND record.pro_endtime>now()
+        ) cc
+    </select>
+    <select id="productEndList" resultType="com.kidgrow.oprationcenter.vo.ProductEndVo">
+        SELECT
+        id,
+        pro_id,
+        pro_begintime beginTime,
+        MIN( T2.pro_endtime ) endTime,
+        MIN( T2.ailight_count ) ailight_count,
+        pro_type,
+        pro_name,
+        T2.hospital_id,
+        hospital_name,
+        T2.department_id,
+        department_name
+        FROM
+        (
+        SELECT
+        details.id id,
+        details.pro_id,
+        details.pro_begintime pro_begintime,
+        details.pro_endtime pro_endtime,
+        details.ailight_count,
+        details.pro_name pro_name,
+        details.pro_type pro_type,
+        orders.hospital_id hospital_id,
+        orders.hospital_name hospital_name,
+        orders.department_id department_id,
+        orders.department_name department_name
+        FROM
+        product_order_detail details
+        LEFT JOIN product_order orders ON orders.id = details.order_id
+        WHERE
+        details.is_del = 0
+        AND details.enabled = 1
+        AND orders.is_del = 0
+        AND orders.enabled = 1
+        AND pro_endtime BETWEEN now() AND DATE_ADD(NOW(), INTERVAL ${monthPar} MONTH)
+        AND ailight_count BETWEEN 1 AND ${aiCountPar}
+        AND pro_type=1
+        ORDER BY
+        ailight_count,
+        pro_endtime
+        ) AS T2
+        GROUP BY
+        department_id,
+        hospital_id,
+        department_name,
+        hospital_name,
+        id,
+        pro_id,
+        pro_type,
+        pro_name,
+        ailight_count,
+        pro_endtime,
+        pro_begintime
+        ORDER BY
+        ailight_count,
+        pro_endtime,
+        department_id
     </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0