From 9a18aa1ec467a6bfbdf11f957f5c40e6326284cd Mon Sep 17 00:00:00 2001 From: zhaoxiaohao <279049017@qq.com> Date: Tue, 15 Sep 2020 11:53:33 +0800 Subject: [PATCH] 获取到期时间的接口,添加判断条件 --- kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/ProductOrderDetailMapper.xml | 178 ++++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 151 insertions(+), 27 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 384ca6a..14d010c 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查询片段--> @@ -65,7 +65,6 @@ </if> </where> </sql> - <!--定义根据-ProductOrderDetail当作查询条件返回对象--> <select id="findByObject" resultType="com.kidgrow.oprationcenter.model.ProductOrderDetail"> select @@ -93,7 +92,10 @@ and id = #{p.id} </if> <if test="p.proType != null and p.proType !=''"> - and pro_type = #{p.proType} + and DE.pro_type = #{p.proType} + </if> + <if test="p.enabled != null and p.enabled !=''"> + and DE.enabled = #{p.enabled} </if> <if test="p.hospitalName != null and p.hospitalName !=''"> and PRO.hospital_name like concat ('%',#{p.hospitalName},'%') @@ -104,33 +106,15 @@ <if test="p.createTime != null and p.createTime !='' and p.updateTime != null and p.updateTime !=''"> and (DE.create_time between #{p.createTime} and #{p.updateTime}) </if> + <if test="p.startTime!= null and p.startTime !=''"> + and DE.create_time >= #{p.startTime} + </if> + <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> </where> </sql> - <!--查询产品的消费记录--> - <select id="findAllList" resultType="com.kidgrow.oprationcenter.vo.ProductOrderJoinDetail"> - SELECT - DE.id, - DE.ailight_count, - DE.order_id, - DE.pro_name, - DE.record_count, - DE.is_share, - DE.pro_begintime, - DE.pro_endtime, - DE.pro_id, - DE.create_time, - DE.is_del, - DE.enabled, - PRO.hospital_name, - PRO.department_name, - DE.pro_type - FROM - product_order_detail DE - LEFT JOIN product_order PRO ON DE.order_id = PRO.id - <include refid="wherelimit"/> - order by DE.id desc - </select> <select id="groupProductDetail" resultType="com.kidgrow.oprationcenter.vo.GroupProductDetail"> select COUNT(DE.pro_id) pro_count, @@ -140,4 +124,144 @@ GROUP BY DE.pro_id order by pro_count desc </select> + <select id="getTypeByUser" resultType="com.kidgrow.oprationcenter.vo.ProductOrderJoinDetail" parameterType="long"> + SELECT + pod.* + FROM + `product_order` po + INNER JOIN product_order_detail pod ON po.id = pod.order_id + WHERE + po.hospital_id = #{id} + AND NOW() >= pod.pro_begintime + AND NOW() <=pod.pro_endtime + AND pod.enabled = 1 + AND pod.is_del = 0 + AND po.enabled = 1 + AND po.is_del = 0 + ORDER BY + pod.pro_type desc,pod.pro_endtime desc + </select> + <!--sql查询片段--> + <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 + <if test="p.hospitalId != null and p.hospitalId !=''"> + and PRO.hospital_id = #{p.hospitalId} + </if> + </where> + </sql> + <!--查询产品的购买记录--> + <select id="findAllList" resultType="com.kidgrow.oprationcenter.vo.ProductOrderJoinDetail"> + SELECT + DE.id, + DE.ailight_count, + DE.record_count, + DE.is_share, + DE.pro_begintime, + DE.pro_endtime, + PRO.hospital_Id, + PRO.department_id, + DE.pro_type + FROM + 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.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> </mapper> \ No newline at end of file -- Gitblit v1.8.0