From ea9f73babda708e281f08f82aa099a0a128a24d5 Mon Sep 17 00:00:00 2001 From: luliqiang <kidgrow> Date: Tue, 08 Dec 2020 19:34:56 +0800 Subject: [PATCH] 新增合作商管理、合作商客户管理模块 --- kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/ProductOrderDetailMapper.xml | 201 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 197 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 707adc9..d70c2e3 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> @@ -154,6 +155,7 @@ <!--查询产品的购买记录--> <select id="findAllList" resultType="com.kidgrow.oprationcenter.vo.ProductOrderJoinDetail"> SELECT + DE.id, DE.ailight_count, DE.record_count, DE.is_share, @@ -166,6 +168,197 @@ 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.ailight_count 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 + <if test="enabled!=null"> + and enabled=#{enabled} + </if> +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