liyong
2026-04-30 c2ad2126d6f8423e0a5e6e20bbb91ef6bb1cffc0
src/main/resources/mapper/production/ProductOrderMapper.xml
@@ -17,8 +17,9 @@
        select po.*,
        sl.sales_contract_no,
        sl.customer_name,
        slp.product_category,
        slp.specification_model,
        p.product_name as product_category,
        pm.model as specification_model,
        pm.unit,
        ppr.process_route_code,
        pb.bom_no,
        ROUND(po.complete_quantity / po.quantity * 100, 2) AS completionStatus,
@@ -38,7 +39,9 @@
        FROM shipping_info
        GROUP BY sales_ledger_id
        ) shipping_status_counts ON sl.id = shipping_status_counts.sales_ledger_id
        left join sales_ledger_product slp on po.sale_ledger_product_id = slp.id
            left join product_model pm on po.product_model_id = pm.id
            left join product p on pm.product_id = p.id
        left join sales_ledger_product slp on po.sale_ledger_product_id = slp.id and slp.type = 1
        left join product_process_route ppr on po.id = ppr.product_order_id
        left join product_bom pb on pb.id = ppr.bom_id
        <where>
@@ -62,23 +65,11 @@
            </if>
        </where>
    </select>
    <select id="productMainByOrderId" resultType="com.ruoyi.production.dto.ProductOrderDto">
        select po.*,
               pwo.work_order_no,
               pwo.report_work,
               pwo.status,
               pwo.quantity,
               pwo.plan_quantity
        from product_order po
                 left join product_work_order pwo on po.id = pwo.product_order_id
        where po.id = #{c.id}
    </select>
    <select id="listProcessRoute" resultType="com.ruoyi.production.pojo.ProcessRoute">
        select pr.*
        from process_route pr
                 left join product_model pm on pr.product_model_id = pm.id
                 left join sales_ledger_product slp on pm.id = slp.product_model_id
        where slp.id = #{productModelId}
        where pm.id = #{productModelId}
    </select>
    <select id="listProcessBom" resultType="com.ruoyi.production.dto.ProductStructureDto">
        select ps.id,
@@ -119,4 +110,14 @@
        WHERE create_time &gt;= #{startDate} AND create_time &lt;= #{endDate}
          AND complete_quantity &lt; quantity
    </select>
    <update id="addCompleteQtyIfNotExceed">
        update product_order
        set
            complete_quantity = complete_quantity + #{delta},
            start_time = ifnull(start_time, now()),
            end_time = case when (complete_quantity + #{delta}) = quantity then now() else end_time end
        where id = #{id}
          and (complete_quantity + #{delta}) <![CDATA[ <= ]]> quantity
    </update>
</mapper>