forked from kidgrow-microservices-platform

houruijun
2020-08-09 92257d291a9d171a15b22c1fc6527b1a909ac3f6
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查询片段-->
@@ -145,7 +145,8 @@
    <sql id="whereforall">
        <where>
            <!--查询条件自行添加-->
            DE.is_del=0 and DE.ailight_count>0 and DE.pro_begintime &lt;=now() and DE.pro_endtime >=now() and DE.enabled=1
            DE.is_del=0 and DE.ailight_count>0 and DE.pro_begintime &lt;=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>
@@ -169,4 +170,83 @@
        <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>