Fancy
2024-09-10 939d5f3d5e17e5ca0bfeec9c23c7c926b4cb1684
pms-parent/pms-global/src/main/resources/mapper/PrOrderItemMapper.xml
@@ -11,6 +11,9 @@
            <result property="number" column="number" jdbcType="INTEGER"/>
            <result property="completeNumber" column="complete_number" jdbcType="INTEGER"/>
            <result column="deleted" property="deleted" typeHandler="com.dy.common.mybatis.BooleanTypeHandler" />
            <result property="name" column="name"  jdbcType="VARCHAR"/>
           <!-- <association property="proName" column="pro_id" javaType="java.lang.Long"
                     select="com.dy.pmsGlobal.daoPlt.PltProductMapper.selectProNameById" fetchType="eager"/>-->
    </resultMap>
    <sql id="Base_Column_List">
@@ -25,11 +28,26 @@
        where  id = #{id,jdbcType=BIGINT} 
    </select>
    <select id="selectItems"  parameterType="java.lang.Long" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List" />
        from pr_order_item
        where order_id = #{orderId,jdbcType=BIGINT} and deleted !=1
        <!--算出完成率 Base_Column_List-->
        SELECT aa.*, concat(round(((complete_number/number) * 100 ),2), '%') as complete_rate  from (
        select oi.id,oi.order_id,oi.pro_id,pp.`name`,oi.number, sum(IFNULL(pap.output_number,0)) as complete_number
        from (SELECT * from  pr_order_item where order_id = #{orderId,jdbcType=BIGINT} and deleted !=1 ) oi
        LEFT JOIN pr_assembly_plan pap
        ON oi.order_id = pap.order_id AND  oi.pro_id = pap.pro_id
        LEFT JOIN plt_product pp
        ON oi.pro_id = pp.id
        GROUP BY oi.id,oi.order_id,oi.pro_id,oi.number) aa
    </select>
    <select id="selectDistinctPro"  parameterType="java.lang.Long" resultMap="BaseResultMap">
        <!--Distinct出order_id中的产品   Base_Column_List-->
        select DISTINCT(oi.order_id),oi.pro_id,pp.`name`
        from (SELECT * from  pr_order_item where order_id = #{orderId,jdbcType=BIGINT} and deleted !=1 ) oi
        LEFT JOIN plt_product pp
        ON oi.pro_id = pp.id
        GROUP BY oi.order_id,oi.pro_id
        ORDER BY oi.order_id
    </select>
    <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
        delete from pr_order_item
        where  id = #{id,jdbcType=BIGINT} 
@@ -63,6 +81,7 @@
        </trim>
    </insert>
    <update id="updateByPrimaryKeySelective" parameterType="com.dy.pmsGlobal.pojoPr.PrOrderItem">
        <!--@mbg.generated-->
        update pr_order_item
        <set>
                <if test="orderId != null">
@@ -83,4 +102,35 @@
        </set>
        where   id = #{id,jdbcType=BIGINT} 
    </update>
    <delete id="deleteLogicById">
        update pr_order_item set deleted = 1 where id = #{id}
    </delete>
    <select id="selectSome" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List" />
        from pr_order_item p
        where p.deleted!=1
        <trim prefix="and " suffixOverrides="and">
            <if test="orderId != null">
                p.order_id = #{orderId,jdbcType=BIGINT} and
            </if>
        </trim>
        order by id desc
        <trim prefix="limit " >
            <if test="start != null and count != null">
                #{start}, #{count}
            </if>
        </trim>
    </select>
    <select id="selectSomeCount" resultType="java.lang.Long">
        select count(1)
        from pr_order_item p
        where p.deleted!=1
        <trim prefix="and " suffixOverrides="and">
            <if test="orderId != null">
                p.order_id = #{orderId,jdbcType=BIGINT} and
            </if>
        </trim>
    </select>
</mapper>