| | |
| | | <mapper namespace="com.kidgrow.oprationcenter.mapper.ProductOrderDetailMapper"> |
| | | <!--定义查询列--> |
| | | <sql id="Column_List"> |
| | | * |
| | | DISTINCT * |
| | | </sql> |
| | | |
| | | <!--sql查询片段--> |
| | |
| | | </if> |
| | | </where> |
| | | </sql> |
| | | |
| | | <!--定义根据-ProductOrderDetail当作查询条件返回对象--> |
| | | <select id="findByObject" resultType="com.kidgrow.oprationcenter.model.ProductOrderDetail"> |
| | | select |
| | |
| | | <if test="p.id != null and p.id !=''"> |
| | | and id = #{p.id} |
| | | </if> |
| | | <if test="p.proType != null and 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},'%') |
| | | </if> |
| | |
| | | <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 |
| | | 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, |
| | |
| | | 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.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> |
| | | </mapper> |