From 5c1a58d067512df6099f9cc95f577c9991128163 Mon Sep 17 00:00:00 2001
From: lishenao <3065849776@qq.com>
Date: 星期一, 30 六月 2025 15:16:09 +0800
Subject: [PATCH] 入库管理,出库管理,库存管理后端接口

---
 src/main/resources/mapper/inventory/StockInMapper.xml |  220 ++++++++++++++++++++++++++++---------------------------
 1 files changed, 112 insertions(+), 108 deletions(-)

diff --git a/src/main/resources/mapper/inventory/StockInMapper.xml b/src/main/resources/mapper/inventory/StockInMapper.xml
index 223d083..fca267e 100644
--- a/src/main/resources/mapper/inventory/StockInMapper.xml
+++ b/src/main/resources/mapper/inventory/StockInMapper.xml
@@ -4,119 +4,123 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.inventory.mapper.StockInMapper">
 
-    <resultMap id="BaseResultMap" type="com.ruoyi.inventory.pojo.StockIn">
-            <id property="id" column="id" jdbcType="INTEGER"/>
-            <result property="productId" column="product_id" jdbcType="INTEGER"/>
-            <result property="inboundTime" column="inbound_time" jdbcType="TIMESTAMP"/>
-            <result property="inboundBatch" column="inbound_batch" jdbcType="VARCHAR"/>
-            <result property="supplierName" column="supplier_name" jdbcType="VARCHAR"/>
-            <result property="inboundQuantity" column="inbound_quantity" jdbcType="INTEGER"/>
-            <result property="taxInclusivePrice" column="tax_inclusive_price" jdbcType="DECIMAL"/>
-            <result property="taxInclusiveTotal" column="tax_inclusive_total" jdbcType="DECIMAL"/>
-            <result property="taxRate" column="tax_rate" jdbcType="DECIMAL"/>
-            <result property="taxExclusiveTotal" column="tax_exclusive_total" jdbcType="DECIMAL"/>
-            <result property="inboundPerson" column="inbound_person" jdbcType="VARCHAR"/>
-            <collection property="stockProducts" ofType="com.ruoyi.inventory.pojo.StockProduct"
-                        select="com.ruoyi.inventory.mapper.StockProductMapper.selectByPrimaryKey" column="productId">
-                <id property="id" column="productId" jdbcType="INTEGER"/>
-            </collection>
-    </resultMap>
 
-    <sql id="Base_Column_List">
-        id,product_id,inbound_time,
-        inbound_batch,supplier_name,inbound_quantity,
-        tax_inclusive_price,tax_inclusive_total,tax_rate,
-        tax_exclusive_total,inbound_person
-    </sql>
+<!--    <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultType="com.ruoyi.inventory.dto.StockinDto">-->
+<!--        SELECT-->
+<!--            T1.id,-->
+<!--            T1.product_id,-->
+<!--            T1.inbound_time,-->
+<!--            T1.inbound_batch,-->
+<!--            T1.supplier_id,-->
+<!--            T1.inbound_quantity,-->
+<!--            T1.tax_inclusive_price,-->
+<!--            T1.tax_inclusive_total,-->
+<!--            T1.tax_rate,-->
+<!--            T1.tax_exclusive_total,-->
+<!--            T1.inbound_person,-->
+<!--            T1.tenant_id,-->
+<!--            T2.product_category,-->
+<!--            T2.specification_model,-->
+<!--            T3.supplier_name-->
+<!--        FROM-->
+<!--            stock_in T1-->
+<!--                INNER JOIN-->
+<!--            product_record T2-->
+<!--            ON-->
+<!--                T1.product_id = T2.product_id-->
+<!--                INNER JOIN-->
+<!--            supplier_manage T3-->
+<!--            ON-->
+<!--                T1.supplier_id = T3.id-->
+<!--        where  T1.id = #{id,jdbcType=INTEGER}-->
+<!--    </select>-->
 
-    <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
-        select
-        <include refid="Base_Column_List" />
-        from stock_in
-        where  id = #{id,jdbcType=INTEGER} 
-    </select>
-    <select id="selectList" resultType="com.ruoyi.inventory.pojo.StockIn">
-        select
-        <include refid="Base_Column_List" />
-        from stock_in
-    </select>
-    <select id="selectListByPage" resultType="com.ruoyi.inventory.pojo.StockIn">
-        select
-        <include refid="Base_Column_List" />
-        from stock_in
-        limit #{pageNum},#{pageSize}
+
+    <select id="selectStockInWithProductInfo" resultType="com.ruoyi.inventory.dto.StockinDto">
+        SELECT
+        T1.id,
+        T1.product_id,
+        T1.inbound_time,
+        T1.inbound_batch,
+        T1.supplier_id,
+        T1.inbound_quantity,
+        T2.tax_inclusive_unit_price,
+        T2.tax_inclusive_total_price,
+        T2.tax_rate,
+        T2.tax_exclusive_total_price,
+        T1.inbound_person,
+        T1.tenant_id,
+        T2.product_category,
+        T2.specification_model,
+        T2.unit,
+        T3.supplier_name
+        FROM
+        stock_in T1
+        INNER JOIN
+        product_record T2
+        ON
+        T1.product_id = T2.product_id
+        INNER JOIN
+        supplier_manage T3
+        ON
+        T1.supplier_id = T3.id
+        <where>
+            <if test="stockinDto.supplierName != null and stockinDto.supplierName != ''">
+                AND T3.supplier_name LIKE CONCAT('%', #{stockinDto.supplierName}, '%')
+            </if>
+            <if test="stockinDto.startTime != null and stockinDto.startTime != ''">
+                AND T1.inbound_time &gt;= #{stockinDto.startTime}
+            </if>
+            <if test="stockinDto.endTime != null and stockinDto.endTime != ''">
+                AND T1.inbound_time &lt;= #{stockinDto.endTime}
+            </if>
+        </where>
+        ORDER BY T1.inbound_time DESC
     </select>
 
-    <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
-        delete from stock_in
-        where  id = #{id,jdbcType=INTEGER} 
-    </delete>
+    <select id="stockinExportList" resultType="com.ruoyi.inventory.excel.StockInExcelDto">
+        SELECT
+        T1.id,
+        T1.product_id,
+        T1.inbound_time,
+        T1.inbound_batch,
+        T1.supplier_id,
+        T1.inbound_quantity,
+        T2.tax_inclusive_unit_price,
+        T2.tax_inclusive_total_price,
+        T2.tax_rate,
+        T2.tax_exclusive_total_price,
+        T1.inbound_person,
+        T1.tenant_id,
+        T2.product_category,
+        T2.specification_model,
+        T2.unit,
+        T3.supplier_name
+        FROM
+        stock_in T1
+        INNER JOIN
+        product_record T2
+        ON
+        T1.product_id = T2.product_id
+        INNER JOIN
+        supplier_manage T3
+        ON
+        T1.supplier_id = T3.id
+        <where>
+            <if test="stockinDto.supplierName != null and stockinDto.supplierName != ''">
+                AND T3.supplier_name LIKE CONCAT('%', #{stockinDto.supplierName}, '%')
+            </if>
+            <if test="stockinDto.startTime != null and stockinDto.startTime != ''">
+                AND T1.inbound_time &gt;= #{stockinDto.startTime}
+            </if>
+            <if test="stockinDto.endTime != null and stockinDto.endTime != ''">
+                AND T1.inbound_time &lt;= #{stockinDto.endTime}
+            </if>
+        </where>
+        ORDER BY T1.inbound_time DESC
+    </select>
 
-    <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.ruoyi.inventory.pojo.StockIn" useGeneratedKeys="true">
-        insert into stock_in
-        <trim prefix="(" suffix=")" suffixOverrides=",">
-                <if test="id != null">id,</if>
-                <if test="productId != null">product_id,</if>
-                <if test="inboundTime != null">inbound_time,</if>
-                <if test="inboundBatch != null">inbound_batch,</if>
-                <if test="supplierName != null">supplier_name,</if>
-                <if test="inboundQuantity != null">inbound_quantity,</if>
-                <if test="taxInclusivePrice != null">tax_inclusive_price,</if>
-                <if test="taxInclusiveTotal != null">tax_inclusive_total,</if>
-                <if test="taxRate != null">tax_rate,</if>
-                <if test="taxExclusiveTotal != null">tax_exclusive_total,</if>
-                <if test="inboundPerson != null">inbound_person,</if>
-        </trim>
-        <trim prefix="values (" suffix=")" suffixOverrides=",">
-                <if test="id != null">#{id,jdbcType=INTEGER},</if>
-                <if test="productId != null">#{productId,jdbcType=INTEGER},</if>
-                <if test="inboundTime != null">#{inboundTime,jdbcType=TIMESTAMP},</if>
-                <if test="inboundBatch != null">#{inboundBatch,jdbcType=VARCHAR},</if>
-                <if test="supplierName != null">#{supplierName,jdbcType=VARCHAR},</if>
-                <if test="inboundQuantity != null">#{inboundQuantity,jdbcType=INTEGER},</if>
-                <if test="taxInclusivePrice != null">#{taxInclusivePrice,jdbcType=DECIMAL},</if>
-                <if test="taxInclusiveTotal != null">#{taxInclusiveTotal,jdbcType=DECIMAL},</if>
-                <if test="taxRate != null">#{taxRate,jdbcType=DECIMAL},</if>
-                <if test="taxExclusiveTotal != null">#{taxExclusiveTotal,jdbcType=DECIMAL},</if>
-                <if test="inboundPerson != null">#{inboundPerson,jdbcType=VARCHAR},</if>
-        </trim>
-    </insert>
 
-    <update id="updateByPrimaryKeySelective" parameterType="com.ruoyi.inventory.pojo.StockIn">
-        update stock_in
-        <set>
-                <if test="productId != null">
-                    product_id = #{productId,jdbcType=INTEGER},
-                </if>
-                <if test="inboundTime != null">
-                    inbound_time = #{inboundTime,jdbcType=TIMESTAMP},
-                </if>
-                <if test="inboundBatch != null">
-                    inbound_batch = #{inboundBatch,jdbcType=VARCHAR},
-                </if>
-                <if test="supplierName != null">
-                    supplier_name = #{supplierName,jdbcType=VARCHAR},
-                </if>
-                <if test="inboundQuantity != null">
-                    inbound_quantity = #{inboundQuantity,jdbcType=INTEGER},
-                </if>
-                <if test="taxInclusivePrice != null">
-                    tax_inclusive_price = #{taxInclusivePrice,jdbcType=DECIMAL},
-                </if>
-                <if test="taxInclusiveTotal != null">
-                    tax_inclusive_total = #{taxInclusiveTotal,jdbcType=DECIMAL},
-                </if>
-                <if test="taxRate != null">
-                    tax_rate = #{taxRate,jdbcType=DECIMAL},
-                </if>
-                <if test="taxExclusiveTotal != null">
-                    tax_exclusive_total = #{taxExclusiveTotal,jdbcType=DECIMAL},
-                </if>
-                <if test="inboundPerson != null">
-                    inbound_person = #{inboundPerson,jdbcType=VARCHAR},
-                </if>
-        </set>
-        where   id = #{id,jdbcType=INTEGER} 
-    </update>
+
 
 </mapper>

--
Gitblit v1.9.3