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 <= (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