From bd02d873d7bbcae36a2a1262d921f2fc6b0cce09 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期三, 06 五月 2026 14:33:41 +0800
Subject: [PATCH] feat(sales): 新增发货台账详情功能并优化库存管理
---
src/main/resources/mapper/production/ProductionProductOutputMapper.xml | 76 +++++++++++++++++++++++++-------------
1 files changed, 50 insertions(+), 26 deletions(-)
diff --git a/src/main/resources/mapper/production/ProductionProductOutputMapper.xml b/src/main/resources/mapper/production/ProductionProductOutputMapper.xml
index e5d17fc..f31ca01 100644
--- a/src/main/resources/mapper/production/ProductionProductOutputMapper.xml
+++ b/src/main/resources/mapper/production/ProductionProductOutputMapper.xml
@@ -1,37 +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="basicMap" type="com.ruoyi.production.pojo.ProductionProductOutput">
- <id property="id" column="id"/>
- <result property="productMainId" column="product_main_id"/>
- <result property="productModelId" column="product_model_id"/>
- <result property="quantity" column="quantity"/>
- <result property="tenantId" column="tenant_id"/>
- <result property="createTime" column="create_time"/>
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <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.dto.ProductionProductOutputDto">
+ <select id="listPageProductionProductOutputDto" resultType="com.ruoyi.production.bean.dto.ProductionProductOutputDto">
select ppo.*,
- pm.model as model,
- ppm.product_no as productNo
- from
- production_product_output ppo
- left join production_product_main ppm on ppm.id = ppo.product_main_id
- left join product_model pm on pm.id = ppo.product_model_id
+ 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 ppo.product_model_id = pm.id
<where>
- <if test="c.productMainId != null and c.productMainId > 0">
- and ppm.id = #{c.productMainId}
+ <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.id
+ order by ppo.create_time desc
</select>
- <delete id="deleteByProductMainIds" parameterType="java.util.List">
- DELETE FROM production_product_output
- WHERE product_main_id IN
- <foreach collection="productMainIds" item="id" open="(" separator="," close=")">
- #{id}
- </foreach>
- </delete>
+ <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 >= #{startDate}
+ and create_time <= #{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 >= #{startDate}
+ and create_time <= #{endDate}
+ group by date(create_time)
+ order by statDate asc
+ </select>
+
</mapper>
--
Gitblit v1.9.3