From ff02c7d8e92b54657b5d30bf74349a5ccf8a5af4 Mon Sep 17 00:00:00 2001 From: dougang <78125310@kidgrow.com> Date: Tue, 24 Nov 2020 17:41:52 +0800 Subject: [PATCH] 1、增加医院分客户端查询功能(C端使用) 2、增加机构分客户端通过医院ID查询功能(C端使用) --- kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/ProductOrderDetailMapper.xml | 197 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 193 insertions(+), 4 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..c419e42 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查询片段--> @@ -112,7 +112,7 @@ <if test="p.endTime!= null and p.endTime !=''"> and DE.create_time <= #{p.endTime} </if> - <include refid="com.kidgrow.oprationcenter.mapper.SysProductMapper.Role_Organization"></include> +<!-- <include refid="com.kidgrow.oprationcenter.mapper.SysProductMapper.Role_Organization"></include>--> </where> </sql> <select id="groupProductDetail" resultType="com.kidgrow.oprationcenter.vo.GroupProductDetail"> @@ -145,7 +145,8 @@ <sql id="whereforall"> <where> <!--查询条件自行添加--> - DE.is_del=0 and DE.ailight_count>0 and DE.pro_begintime <=now() and DE.pro_endtime >=now() and DE.enabled=1 + DE.is_del=0 and DE.ailight_count>=0 and DE.pro_begintime <=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,194 @@ 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 id 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