From 9ccc8bd3a53160a40cf60f14e5867f6ce9f6c58f Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期五, 26 十二月 2025 16:49:15 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override

---
 north-glass-erp/src/main/resources/mapper/sd/ProductMapper.xml |  155 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 155 insertions(+), 0 deletions(-)

diff --git a/north-glass-erp/src/main/resources/mapper/sd/ProductMapper.xml b/north-glass-erp/src/main/resources/mapper/sd/ProductMapper.xml
new file mode 100644
index 0000000..479afa7
--- /dev/null
+++ b/north-glass-erp/src/main/resources/mapper/sd/ProductMapper.xml
@@ -0,0 +1,155 @@
+<?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.example.erp.mapper.sd.ProductMapper">
+    <resultMap id="productMap" type="com.example.erp.entity.sd.Product" >
+        <id column="id" property="id"/>
+        <result column="product_name" property="productName"/>
+        <result column="product_abbreviation" property="productAbbreviation"/>
+        <result column="total_thickness" property="totalThickness"/>
+        <result column="thickness" property="thickness"/>
+        <result column="query" property="query"/>
+        <result column="remarks" property="remarks"/>
+        <result column="state" property="state"/>
+        <result column="creator" property="creator"/>
+        <result column="create_time" property="createTime"/>
+        <result column="update_time" property="updateTime"/>
+        <!--鎺ユ敹鍏朵粬澶栭敭瀹炰綋绫绘暟鎹�-->
+        <association property="basicGlassType" javaType="com.example.erp.entity.sd.BasicGlassType">
+            <result column="type_id" property="typeId"/>
+            <result column="type_name" property="typeName"/>
+        </association>
+
+        <!--<result column="g_typeId" property="glassTypes.typeId"/>
+        <result column="g_type" property="glassTypes.type"/>-->
+
+    </resultMap>
+
+    <select id="defaultProduct" resultMap="productMap">
+        select a.id ,
+        a.product_name,
+        a.product_abbreviation,
+        a.total_thickness,
+        a.thickness,
+        a.query,
+        a.remarks,
+        a.state,
+        a.creator,
+        date(a.create_time) as create_time,
+        a.update_time       as update_time,
+        a.type_id         as type_id,
+        bgt.type_name
+        from product as a
+        left join basic_glass_type bgt on bgt.type_id = a.type_id
+        <where>
+            <if test="glassTypeId != null and glassTypeId != ''">
+                and a.type_id = #{glassTypeId}
+            </if>
+            <if test="product.id != null and product.id != ''">
+                and a.id like concat('%',#{product.id},'%')
+            </if>
+            <if test="product.productName != null and product.productName != ''">
+                and a.product_name like concat('%',#{product.productName},'%')
+            </if>
+            <if test="product.productAbbreviation != null and product.productAbbreviation != ''">
+                and a.product_abbreviation like concat('%',#{product.productAbbreviation},'%')
+            </if>
+            <if test="product.basicGlassType.typeName != null and product.basicGlassType.typeName!= ''">
+                and bgt.type_name like concat('%',#{product.basicGlassType.typeName},'%')
+            </if>
+            <if test="product.query != null and product.query != ''">
+                and a.query like concat('%',#{product.query},'%')
+            </if>
+            <if test="product.creator != null and product.creator != ''">
+                and a.creator like concat('%',#{product.creator},'%')
+            </if>
+            <if test="product.state != null">
+                and a.state = #{product.state}
+            </if>
+            <if test="product.createTime != null and product.createTime != ''">
+                and date(a.create_time) like concat('%',#{product.createTime},'%')
+            </if>
+            <if test="product.remarks != null and product.remarks != ''">
+                and a.remarks like concat('%',#{product.remarks},'%')
+            </if>
+        </where>
+
+        order by
+        <if test="orderBy == null ">
+            id desc
+        </if>
+        <if test="orderBy == 'desc'">
+            ${field} desc
+        </if>
+        <if test="orderBy == 'asc'">
+            ${field}
+        </if>
+        limit #{offset},#{pageSize}
+        ;
+    </select>
+
+    <select id="selectProduct">
+        select id from sd.product where ${productName}=#{productNameValue}
+    </select>
+
+    <select id="selectProductId">
+        select id from sd.product where ${productName}=#{productNameValue} and id != #{id}
+    </select>
+
+    <select id="getPageTotal" >
+        select
+            CEILING(count(a.id)/#{pageSize})
+        from product as a
+        left join basic_glass_type bgt on bgt.type_id = a.type_id
+        <where>
+            <if test="glassTypeId != null and glassTypeId != ''">
+                and a.type_id regexp #{glassTypeId}
+            </if>
+            <if test="product.id != null and product.id != ''">
+                and a.id regexp #{product.id}
+            </if>
+            <if test="product.productName != null and product.productName != ''">
+                and a.product_name regexp #{product.productName}
+            </if>
+            <if test="product.basicGlassType.typeName != null and product.basicGlassType.typeName!= ''">
+                and bgt.type_name regexp #{product.basicGlassType.typeName}
+            </if>
+            <if test="product.query != null and product.query != ''">
+                and a.query regexp #{product.query}
+            </if>
+            <if test="product.creator != null and product.creator != ''">
+                and a.creator regexp #{product.creator}
+            </if>
+            <if test="product.createTime != null and product.createTime != ''">
+                and date(a.create_time) regexp #{product.createTime}
+            </if>
+            <if test="product.remarks != null and product.remarks != ''">
+                and a.remarks like concat('%',#{product.remarks},'%')
+            </if>
+            <if test="product.state != null">
+                and a.state = #{product.state}
+            </if>
+            <if test="product.productAbbreviation != null and product.productAbbreviation != ''">
+                and a.product_abbreviation like concat('%',#{product.productAbbreviation},'%')
+            </if>
+        </where>
+
+        order by a.id desc
+        limit #{offset},#{pageSize};
+    </select>
+    
+    <update id="updateProductStateById">
+        update product set state = #{state} where id = #{id}
+    </update>
+
+    <select id="getGlassThickness">
+        select sum(REPLACE(JSON_UNQUOTE(JSON_EXTRACT(separation, '$.thickness')),'mm',''))
+        from product_detail as a
+        where a.prod_id = #{productId}
+        and a.id &lt;= (select b.id
+                        from product_detail as b
+                        where b.prod_id = #{productId} and b.glass_sort = #{technologyNumber})
+
+    </select>
+</mapper>
\ No newline at end of file

--
Gitblit v1.8.0