Fancy
2025-01-14 d25b0270e0bb9266ed92c7c74ee1cb8fb24aa51a
pms-parent/pms-global/src/main/resources/mapper/PrOrderItemMapper.xml
@@ -5,12 +5,15 @@
<mapper namespace="com.dy.pmsGlobal.daoPr.PrOrderItemMapper">
    <resultMap id="BaseResultMap" type="com.dy.pmsGlobal.pojoPr.PrOrderItem">
            <id property="id" column="id" jdbcType="BIGINT"/>
            <result property="orderId" column="order_id" jdbcType="BIGINT"/>
            <result property="proId"  column="pro_id" jdbcType="BIGINT"/>
            <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" />
        <id property="id" column="id" jdbcType="BIGINT"/>
        <result property="orderId" column="order_id" jdbcType="BIGINT"/>
        <result property="proId"  column="pro_id" jdbcType="BIGINT"/>
        <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="proType" column="pro_id" javaType="java.lang.Long"
                     select="com.dy.pmsGlobal.daoPlt.PltProductMapper.selectProTypeById" fetchType="eager" />
    </resultMap>
    <sql id="Base_Column_List">
@@ -27,12 +30,24 @@
    <select id="selectItems"  parameterType="java.lang.Long" resultMap="BaseResultMap">
        <!--算出完成率 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,oi.number, sum(IFNULL(pap.output_number,0)) as complete_number
        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} 
@@ -49,39 +64,39 @@
    <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.dy.pmsGlobal.pojoPr.PrOrderItem" useGeneratedKeys="true">
        insert into pr_order_item
        <trim prefix="(" suffix=")" suffixOverrides=",">
                <if test="id != null and id !=''">id,</if>
                <if test="orderId!= null and orderId !=''">order_id,</if>
                <if test="proId != null and proId !=''">pro_id,</if>
                <if test="number != null and number !=''">number,</if>
                <if test="completeNumber!= null and completeNumber !=''">complete_number,</if>
                <if test="deleted != null and deleted !=''">deleted,</if>
                <if test="id != null">id,</if>
                <if test="orderId != null">order_id,</if>
                <if test="proId != null">pro_id,</if>
                <if test="number != null">number,</if>
                <if test="completeNumber != null">complete_number,</if>
                <if test="deleted != null">deleted,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
                <if test="id != null and id !=''">#{id,jdbcType=BIGINT},</if>
                <if test="orderId!= null and orderId !=''">#{orderId,jdbcType=BIGINT},</if>
                <if test="proId != null and proId !=''">#{proId,jdbcType=BIGINT},</if>
                <if test="number != null and number !=''">#{number,jdbcType=INTEGER},</if>
                <if test="completeNumber!= null and completeNumber !=''">#{completeNumber,jdbcType=INTEGER},</if>
                <if test="deleted != null and deleted !=''">#{deleted,jdbcType=TINYINT},</if>
                <if test="id != null">#{id,jdbcType=BIGINT},</if>
                <if test="orderId != null">#{orderId,jdbcType=BIGINT},</if>
                <if test="proId != null">#{proId,jdbcType=BIGINT},</if>
                <if test="number != null">#{number,jdbcType=INTEGER},</if>
                <if test="completeNumber != null">#{completeNumber,jdbcType=INTEGER},</if>
                <if test="deleted != null">#{deleted,jdbcType=TINYINT},</if>
        </trim>
    </insert>
    <update id="updateByPrimaryKeySelective" parameterType="com.dy.pmsGlobal.pojoPr.PrOrderItem">
        <!--@mbg.generated-->
        update pr_order_item
        <set>
                <if test="orderId!= null and orderId !=''">
                <if test="orderId != null">
                    order_id = #{orderId,jdbcType=BIGINT},
                </if>
                <if test="proId != null and proId !=''">
                <if test="proId != null">
                    pro_id = #{proId,jdbcType=BIGINT},
                </if>
                <if test="number != null and number !=''">
                <if test="number != null">
                    number = #{number,jdbcType=INTEGER},
                </if>
                <if test="completeNumber!= null and completeNumber !=''">
                <if test="completeNumber != null">
                    complete_number = #{completeNumber,jdbcType=INTEGER},
                </if>
                <if test="deleted != null and deleted !=''">
                <if test="deleted != null">
                    deleted = #{deleted,jdbcType=TINYINT},
                </if>
        </set>
@@ -96,7 +111,7 @@
        from pr_order_item p
        where p.deleted!=1
        <trim prefix="and " suffixOverrides="and">
            <if test="orderId != null and orderId != ''">
            <if test="orderId != null">
                p.order_id = #{orderId,jdbcType=BIGINT} and
            </if>
        </trim>
@@ -113,7 +128,7 @@
        from pr_order_item p
        where p.deleted!=1
        <trim prefix="and " suffixOverrides="and">
            <if test="orderId != null and orderId != ''">
            <if test="orderId != null">
                p.order_id = #{orderId,jdbcType=BIGINT} and
            </if>
        </trim>