forked from kidgrow-microservices-platform

kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/ProductOrderDetailMapper.xml
@@ -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,9 +106,55 @@
            <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 &gt;= #{p.startTime}
            </if>
            <if test="p.endTime!= null and p.endTime !=''">
                and DE.create_time &lt;= #{p.endTime}
            </if>
            <include refid="com.kidgrow.oprationcenter.mapper.SysProductMapper.Role_Organization"></include>
        </where>
    </sql>
    <!--查询产品的消费记录-->
    <select id="groupProductDetail" resultType="com.kidgrow.oprationcenter.vo.GroupProductDetail">
        select
        COUNT(DE.pro_id) pro_count,
        max(DE.pro_name) pro_name
        from product_order_detail AS DE
        <include refid="wherelimit"/>
        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() &gt;= pod.pro_begintime
        AND NOW() &lt;=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 &lt;=now() and DE.pro_endtime >=now() and DE.enabled=1
            <if test="p.recordCount != null and p.recordCount !=''">
                and DE.record_count > #{p.recordCount}
            </if>
            <if test="p.hospitalId != null and p.hospitalId !=''">
                and DE.hospital_id = #{p.hospitalId}
            </if>
        </where>
    </sql>
    <!--查询产品的购买记录-->
    <select id="findAllList" resultType="com.kidgrow.oprationcenter.vo.ProductOrderJoinDetail">
        SELECT
        DE.id,
@@ -121,22 +169,15 @@
        DE.create_time,
        DE.is_del,
        DE.enabled,
        PRO.hospital_Id,
        PRO.hospital_name,
        PRO.department_id,
        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,
        max(DE.pro_name) pro_name
        from product_order_detail AS DE
        <include refid="wherelimit"/>
        GROUP BY DE.pro_id
        order by pro_count desc
        <include refid="whereforall"/>
        order by DE.pro_endtime asc,DE.id asc
    </select>
</mapper>