forked from kidgrow-microservices-platform

zhaoxiaohao
2020-10-22 d9c116e881d429eb797efee894350cfd3a3fda5a
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/ProductOrderMapper.xml
@@ -4,14 +4,14 @@
<mapper namespace="com.kidgrow.oprationcenter.mapper.ProductOrderMapper">
    <!--定义查询列-->
    <sql id="Column_List">
      *
     DISTINCT *
   </sql>
    <!--sql查询片段-->
    <sql id="where">
        <where>
            <!--查询条件自行添加-->
            p.is_del=0
            is_del=0
            <if test="p.id != null and p.id !=''">
                and id = #{p.id}
            </if>
@@ -19,7 +19,7 @@
                and hospital_id = #{p.hospitalId}
            </if>
            <if test="p.hospitalName != null and p.hospitalName !=''">
                and hospital_name = #{p.hospitalName}
                and hospital_name like concat('%',#{p.hospitalName},'%')
            </if>
            <if test="p.departmentId != null and p.departmentId !=''">
                and department_id = #{p.departmentId}
@@ -69,6 +69,68 @@
        </where>
    </sql>
    <!--sql查询片段-->
    <sql id="where_role">
        <where>
            <!--查询条件自行添加-->
            is_del=0
            <if test="p.id != null and p.id !=''">
                and id = #{p.id}
            </if>
            <if test="p.hospitalId != null and p.hospitalId !=''">
                and hospital_id = #{p.hospitalId}
            </if>
            <if test="p.hospitalName != null and p.hospitalName !=''">
                and hospital_name like concat('%',#{p.hospitalName},'%')
            </if>
            <if test="p.departmentId != null and p.departmentId !=''">
                and department_id = #{p.departmentId}
            </if>
            <if test="p.departmentName != null and p.departmentName !=''">
                and department_name = #{p.departmentName}
            </if>
            <if test="p.contractNo != null and p.contractNo !=''">
                and contract_no = #{p.contractNo}
            </if>
            <if test="p.contractTitle != null and p.contractTitle !=''">
                and contract_title = #{p.contractTitle}
            </if>
            <if test="p.contractBeginTime != null and p.contractBeginTime !=''">
                and contract_begin_time = #{p.contractBeginTime}
            </if>
            <if test="p.contractEndTime != null and p.contractEndTime !=''">
                and contract_end_time = #{p.contractEndTime}
            </if>
            <if test="p.contractTime != null and p.contractTime !=''">
                and contract_time = #{p.contractTime}
            </if>
            <if test="p.isDel != null and p.isDel !=''">
                and is_del = #{p.isDel}
            </if>
            <if test="p.enabled != null and p.enabled !=''">
                and enabled = #{p.enabled}
            </if>
            <if test="p.updateTime != null and p.updateTime !=''">
                and update_time = #{p.updateTime}
            </if>
            <if test="p.createUserId != null and p.createUserId !=''">
                and create_user_id = #{p.createUserId}
            </if>
            <if test="p.createUserName != null and p.createUserName !=''">
                and create_user_name = #{p.createUserName}
            </if>
            <if test="p.updateUserId != null and p.updateUserId !=''">
                and update_user_id = #{p.updateUserId}
            </if>
            <if test="p.updateUserName != null and p.updateUserName !=''">
                and update_user_name = #{p.updateUserName}
            </if>
            <if test="p.createTime != null and p.createTime !=''">
                and create_time = #{p.createTime}
            </if>
            <include refid="com.kidgrow.oprationcenter.mapper.SysProductMapper.Role_Organization"></include>
        </where>
    </sql>
    <!--定义根据-ProductOrder当作查询条件返回对象-->
    <select id="findByObject" resultType="com.kidgrow.oprationcenter.model.ProductOrder">
        select
@@ -76,6 +138,7 @@
        from product_order
        <include refid="where"/>
        order by id desc
        limit 1
    </select>
    <!--定义根据-ProductOrder当作查询条件返回对象集合-->
@@ -83,7 +146,45 @@
        select
        <include refid="Column_List"/>
        from product_order
        <include refid="where"/>
        <include refid="where_role"/>
        order by id desc
    </select>
    <update id="delProductDetail">
        UPDATE  product_order_record SET is_del=1,update_time=now() WHERE order_id= #{orderId};
        UPDATE  product_order_detail SET is_del=1,update_time=now() WHERE order_id= #{orderId};
    </update>
    <select id="getStatus" parameterType="com.kidgrow.oprationcenter.model.ProductOrder" 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_type = 1
                AND order_order.enabled = 1
                AND order_order.is_del = 0
                AND record.enabled = 1
                AND record.is_del = 0
                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.pro_type = 1
                    AND record.is_share = 1
                    AND order_order.enabled = 1
                    AND order_order.is_del = 0
                    AND record.enabled = 1
                    AND record.is_del = 0
            ) cc
    </select>
</mapper>