| | |
| | | <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 |
| | |
| | | <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, |
| | |
| | | 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> |
| | | <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> |