From ca0565e53494417b3779759f8d3898e07bfd5929 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期二, 20 一月 2026 14:09:16 +0800
Subject: [PATCH] Merge remote-tracking branch 'refs/remotes/origin/jtwy' into sqd-hb

---
 src/main/resources/mapper/production/ProductOrderMapper.xml |   89 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 89 insertions(+), 0 deletions(-)

diff --git a/src/main/resources/mapper/production/ProductOrderMapper.xml b/src/main/resources/mapper/production/ProductOrderMapper.xml
new file mode 100644
index 0000000..b47d5cf
--- /dev/null
+++ b/src/main/resources/mapper/production/ProductOrderMapper.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.production.mapper.ProductOrderMapper">
+
+
+    <resultMap id="basicMap" type="com.ruoyi.production.pojo.ProductOrder">
+        <id property="id" column="id"/>
+        <result property="productModelId" column="product_model_id"/>
+        <result property="tenantId" column="tenant_id"/>
+        <result property="salesLedgerId" column="sales_ledger_id"/>
+        <result property="routeId" column="route_id"/>
+        <result property="npsNo" column="nps_no"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateTime" column="update_time"/>
+    </resultMap>
+    <select id="pageProductOrder" resultType="com.ruoyi.production.dto.ProductOrderDto">
+        select po.*,
+        sl.sales_contract_no,
+        sl.customer_name,
+        slp.product_category,
+        slp.specification_model,
+        ppr.process_route_code,
+        pb.bom_no,
+        ROUND(po.complete_quantity / po.quantity * 100, 2) AS completionStatus
+        from product_order po
+        left join sales_ledger sl on po.sales_ledger_id = sl.id
+        left join sales_ledger_product slp on po.product_model_id = slp.id
+        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>
+            <if test="c.npsNo != null and c.npsNo != ''">
+                and po.nps_no like concat('%',#{c.npsNo},'%')
+            </if>
+            <if test="c.salesContractNo != null and c.salesContractNo != ''">
+                and sl.sales_contract_no like concat('%',#{c.salesContractNo},'%')
+            </if>
+            <if test="c.customerName != null and c.customerName != ''">
+                and sl.customer_name like concat('%',#{c.customerName},'%')
+            </if>
+            <if test="c.productCategory != null and c.productCategory != ''">
+                and slp.product_category like concat('%',#{c.productCategory},'%')
+            </if>
+            <if test="c.specificationModel != null and c.specificationModel != ''">
+                and slp.specification_model like concat('%',#{c.specificationModel},'%')
+            </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}
+    </select>
+    <select id="listProcessBom" resultType="com.ruoyi.production.dto.ProductStructureDto">
+        select ps.id,
+               ps.product_model_id,
+               ps.process_id,
+               ps.unit_quantity,
+               ps.unit_quantity * po.quantity as demandedQuantity,
+               ps.unit,
+               p.product_name,
+               pp.name as  process_name,
+               pm.product_id,
+               pm.model
+        from
+            product_structure ps
+                left join product_model pm on ps.product_model_id = pm.id
+                left join product p on pm.product_id = p.id
+                left join product_process pp on ps.process_id = pp.id
+                left join product_process_route ppr on ps.bom_id = ppr.bom_id
+                left join product_order po on po.id = ppr.product_order_id
+        where ppr.product_order_id = #{orderId}
+        order by ps.id
+    </select>
+
+
+</mapper>

--
Gitblit v1.9.3