From 41ab7abd0b0ec0fefb03b60bbaf42c02fbda666b Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 23 四月 2026 15:53:16 +0800
Subject: [PATCH] feat(production): 添加生产订单与销售台账关联功能

---
 src/main/resources/mapper/production/ProductionProductOutputMapper.xml |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 57 insertions(+), 2 deletions(-)

diff --git a/src/main/resources/mapper/production/ProductionProductOutputMapper.xml b/src/main/resources/mapper/production/ProductionProductOutputMapper.xml
index 790c100..6dc9682 100644
--- a/src/main/resources/mapper/production/ProductionProductOutputMapper.xml
+++ b/src/main/resources/mapper/production/ProductionProductOutputMapper.xml
@@ -1,6 +1,61 @@
-<?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">
+<?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.ProductionProductOutputMapper">
 
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.ruoyi.production.pojo.ProductionProductOutput">
+        <id column="id" property="id" />
+        <result column="production_product_main_id" property="productionProductMainId" />
+        <result column="product_model_id" property="productModelId" />
+        <result column="quantity" property="quantity" />
+        <result column="scrap_qty" property="scrapQty" />
+        <result column="update_time" property="updateTime" />
+        <result column="create_user" property="createUser" />
+        <result column="create_time" property="createTime" />
+        <result column="update_user" property="updateUser" />
+    </resultMap>
+
+    <select id="listPageProductionProductOutputDto" resultType="com.ruoyi.production.bean.dto.ProductionProductOutputDto">
+        select ppo.*,
+               ppm.product_no as productNo,
+               pm.model
+        from production_product_output ppo
+                 left join production_product_main ppm on ppo.production_product_main_id = ppm.id
+                 left join production_operation_task pot on ppm.production_operation_task_id = pot.id
+                 left join production_order po on pot.production_order_id = po.id
+                 left join product_model pm on po.product_model_id = pm.id
+        <where>
+            <if test="c.productNo != null and c.productNo != ''">
+                and ppm.product_no like concat('%', #{c.productNo}, '%')
+            </if>
+            <if test="c.model != null and c.model != ''">
+                and pm.model like concat('%', #{c.model}, '%')
+            </if>
+        </where>
+        order by ppo.create_time desc
+    </select>
+
+    <select id="selectOutputStats" resultType="com.ruoyi.production.bean.dto.ProductionProductOutputDto">
+        select id,
+               production_product_main_id as productionProductMainId,
+               product_model_id as productModelId,
+               quantity,
+               scrap_qty as scrapQty,
+               create_time as createTime
+        from production_product_output
+        where create_time &gt;= #{startDate}
+          and create_time &lt;= #{endDate}
+    </select>
+
+    <select id="selectDailyOutputStats" resultType="java.util.Map">
+        select date(create_time) as statDate,
+               sum(ifnull(quantity, 0)) as quantity,
+               sum(ifnull(scrap_qty, 0)) as scrapQty
+        from production_product_output
+        where create_time &gt;= #{startDate}
+          and create_time &lt;= #{endDate}
+        group by date(create_time)
+        order by statDate asc
+    </select>
 
 </mapper>

--
Gitblit v1.9.3