From 57e2cc7c1b6d2d5f5e633f836b7be29feed73f7d Mon Sep 17 00:00:00 2001
From: guoyuji <guoyujie@ng.com>
Date: 星期三, 08 五月 2024 16:30:32 +0800
Subject: [PATCH] 添加新增角色功能
---
north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml | 414 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 414 insertions(+), 0 deletions(-)
diff --git a/north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml b/north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml
new file mode 100644
index 0000000..f5cbe6d
--- /dev/null
+++ b/north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml
@@ -0,0 +1,414 @@
+<?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.OrderDetailMapper">
+ <insert id="insertBatch" parameterType="java.util.List">
+ INSERT INTO
+ order_detail (order_id,
+ order_number,
+ building_number,
+ product_id,
+ product_name,
+ price,
+ quantity,
+ gross_amount,
+ width,
+ height,
+ shape,
+ area,
+ gross_area,
+ compute_area,
+ compute_gross_area,
+ processing_note,
+ remarks,
+ bend_radius,
+ edging_type,
+ weight,
+ perimeter,
+ other_columns
+ )
+ values
+ <foreach collection ="orderDetails" item="orderDetail" separator =",">
+ (#{orderDetail.orderId},
+ #{orderDetail.orderNumber},
+ #{orderDetail.buildingNumber},
+ #{orderDetail.productId},
+ #{orderDetail.productName},
+ #{orderDetail.price},
+ #{orderDetail.quantity},
+ #{orderDetail.grossAmount},
+ #{orderDetail.width},
+ #{orderDetail.height},
+ #{orderDetail.shape},
+ #{orderDetail.area},
+ #{orderDetail.grossArea},
+ #{orderDetail.computeArea},
+ #{orderDetail.computeGrossArea},
+ #{orderDetail.processingNote},
+ #{orderDetail.remarks},
+ #{orderDetail.bendRadius},
+ #{orderDetail.edgingType},
+ #{orderDetail.weight},
+ #{orderDetail.perimeter},
+ #{orderDetail.otherColumns}
+ )
+ </foreach>
+ </insert>
+
+ <update id="updateOrderMoney" parameterType="java.util.List">
+ <foreach collection="orderDetails" item="item" index="index" open="" close="" separator=";">
+ update order_detail as a
+ set
+ a.price = #{item.price},
+ a.gross_amount = #{item.grossAmount}
+ where
+ a.order_id = #{item.orderId} and
+ a.order_number = #{item.orderNumber}
+
+ </foreach>
+
+ </update>
+
+ <resultMap id="orderMap" type="com.example.erp.entity.sd.OrderDetail">
+ <result column="order_number" property="orderNumber"/>
+
+ <result column="product_id" property="productId"/>
+ <result column="product_name" property="productName"/>
+ <result column="price" property="price"/>
+ <result column="width" property="width"/>
+ <result column="height" property="height"/>
+ <result column="quantity" property="quantity"/>
+ <result column="bend_radius" property="bendRadius"/>
+ <result column="gross_area" property="grossArea"/>
+ <result column="compute_gross_area" property="computeGrossArea"/>
+ <result column="shape" property="shape"/>
+ <result column="edging_type" property="edgingType"/>
+ <result column="processing_note" property="processingNote"/>
+ <result column="remarks" property="remarks"/>
+ <result column="perimeter" property="perimeter"/>
+ <result column="gross_amount" property="grossAmount"/>
+ <result column="levelOne" property="levelOne"/>
+ <result column="levelTwo" property="levelTwo"/>
+ <result column="total_thickness" property="totalThickness"/>
+ <result column="createTime" property="createTime"/>
+
+ <result column="order_type" property="order.orderType"/>
+ <result column="customer_name" property="order.customerName"/>
+ <result column="project" property="order.project"/>
+ <result column="order_id" property="order.orderId"/>
+ <result column="batch" property="order.batch"/>
+ <result column="b.processing_note" property="order.processingNote"/>
+ <result column="icon" property="order.icon"/>
+ <result column="packType" property="order.packType"/>
+ <result column="salesman" property="order.salesman"/>
+ <result column="delivery_address" property="order.deliveryAddress"/>
+ <result column="creator" property="order.creator"/>
+ <result column="verifier" property="order.verifier"/>
+ <result column="customer_batch" property="order.customerBatch"/>
+
+ </resultMap>
+
+
+ <select id="getOrderReport" resultMap="orderMap">
+ SELECT
+ *,
+ a.create_time as createTime,
+ d.type_name as levelOne,
+ e.type_name as levelTwo
+ from order_detail as a
+ left join sd.`order` as b
+ on b.order_id = a.order_id
+ left join sd.product as c
+ on c.id = a.product_id
+ left join sd.basic_glass_type as d
+ on d.type_id = c.type_id
+ left join sd.basic_glass_type as e
+ on e.type_id = d.belong
+ where date(b.create_time)>=#{startDate} and date(b.create_time) <= #{endDate}
+
+ <if test="orderDetail.order!=null and (orderDetail.order.orderType != null and orderDetail.order.orderType != '')">
+ and b.order_type like concat('%',#{orderDetail.order.orderType},'%')
+ </if>
+
+ <if test="orderDetail.order!=null and orderDetail.order.customerId != null and orderDetail.order.customerId != ''">
+ and b.customer_id like concat('%',#{orderDetail.order.customerId},'%')
+ </if>
+
+ <if test="orderDetail.order!=null and orderDetail.order.project != null and orderDetail.order.project != ''">
+ and b.project like concat('%',#{orderDetail.order.project},'%')
+ </if>
+
+ <if test="orderDetail.order!=null and orderDetail.order.orderId != null and orderDetail.order.orderId != ''">
+ and b.order_id like concat('%',#{orderDetail.order.orderId},'%')
+ </if>
+
+ <if test="orderDetail.order!=null and orderDetail.order.batch != null and orderDetail.order.batch != ''">
+ and b.batch like concat('%',#{orderDetail.order.batch},'%')
+ </if>
+
+ <if test="orderDetail.productId != null and orderDetail.productId != ''">
+ and a.product_id like concat('%',#{orderDetail.productId},'%')
+ </if>
+
+ <if test="orderDetail.productName != null and orderDetail.productName != ''">
+ and a.product_name like concat('%',#{orderDetail.productName},'%')
+ </if>
+
+ <if test="orderDetail.orderNumber != null and orderDetail.orderNumber != ''">
+ and a.order_number like concat('%',#{orderDetail.orderNumber},'%')
+ </if>
+
+ <if test="orderDetail.width != null and orderDetail.width != ''">
+ and a.width like concat('%',#{orderDetail.width},'%')
+ </if>
+
+ <if test="orderDetail.height != null and orderDetail.height != ''">
+ and a.height like concat('%',#{orderDetail.height},'%')
+ </if>
+
+ <if test="orderDetail.quantity != null and orderDetail.quantity != ''">
+ and a.quantity like concat('%',#{orderDetail.quantity},'%')
+ </if>
+
+ <if test="orderDetail.bendRadius != null and orderDetail.bendRadius != ''">
+ and a.bend_radius like concat('%',#{orderDetail.bendRadius},'%')
+ </if>
+
+ <if test="orderDetail.grossArea != null and orderDetail.grossArea != ''">
+ and a.gross_area like concat('%',#{orderDetail.grossArea},'%')
+ </if>
+
+ <if test="orderDetail.computeGrossArea != null and orderDetail.computeGrossArea != ''">
+ and a.compute_gross_area like concat('%',#{orderDetail.computeGrossArea},'%')
+ </if>
+
+ <if test="orderDetail.shape != null and orderDetail.shape != ''">
+ and a.shape like concat('%',#{orderDetail.shape},'%')
+ </if>
+
+ <if test="orderDetail.edgingType != null and orderDetail.edgingType != ''">
+ and a.edging_type like concat('%',#{orderDetail.edgingType},'%')
+ </if>
+
+ <if test="orderDetail.order!=null and orderDetail.order.processingNote != null and orderDetail.order.processingNote != ''">
+ and b.processing_note like concat('%',#{orderDetail.order.processingNote},'%')
+ </if>
+
+ <if test="orderDetail.processingNote != null and orderDetail.processingNote != ''">
+ and a.processing_note like concat('%',#{orderDetail.processingNote},'%')
+ </if>
+
+ <if test="orderDetail.order!=null and orderDetail.order.icon != null and orderDetail.order.icon != ''">
+ and b.icon like concat('%',#{orderDetail.order.icon},'%')
+ </if>
+
+ <if test="orderDetail.order!=null and orderDetail.order.packType != null and orderDetail.order.packType != ''">
+ and b.pack_type like concat('%',#{orderDetail.order.packType},'%')
+ </if>
+
+ <if test="orderDetail.perimeter != null and orderDetail.perimeter != ''">
+ and a.perimeter like concat('%',#{orderDetail.perimeter},'%')
+ </if>
+
+ <if test="orderDetail.price != null and orderDetail.price != ''">
+ and a.price like concat('%',#{orderDetail.price},'%')
+ </if>
+
+ <if test="orderDetail.grossAmount != null and orderDetail.grossAmount != ''">
+ and a.gross_amount like concat('%',#{orderDetail.grossAmount},'%')
+ </if>
+
+ <if test="orderDetail.order!=null and orderDetail.order.alType != null and orderDetail.order.alType != ''">
+ and b.al_type like concat('%',#{orderDetail.order.alType},'%')
+ </if>
+
+ <if test="orderDetail.order!=null and orderDetail.order.salesman != null and orderDetail.order.salesman != ''">
+ and b.salesman like concat('%',#{orderDetail.order.salesman},'%')
+ </if>
+
+ <if test="orderDetail.order!=null and orderDetail.order.deliveryAddress != null and orderDetail.order.deliveryAddress != ''">
+ and b.delivery_address like concat('%',#{orderDetail.order.deliveryAddress},'%')
+ </if>
+
+ <if test="orderDetail.order!=null and orderDetail.order.creator != null and orderDetail.order.creator != ''">
+ and b.creator like concat('%',#{orderDetail.order.creator},'%')
+ </if>
+
+ <if test="orderDetail.totalThickness != null and orderDetail.totalThickness != ''">
+ and c.total_thickness like concat('%',#{orderDetail.totalThickness},'%')
+ </if>
+
+ <if test="orderDetail.levelOne != null and orderDetail.levelOne != ''">
+ and d.type_name like concat('%',#{orderDetail.levelOne},'%')
+ </if>
+
+ <if test="orderDetail.levelTwo != null and orderDetail.levelTwo != ''">
+ and e.type_name like concat('%',#{orderDetail.levelTwo},'%')
+ </if>
+
+ <if test="orderDetail.order!=null and orderDetail.order.customerBatch != null and orderDetail.order.customerBatch != ''">
+ and b.customer_batch like concat('%',#{orderDetail.order.customerBatch},'%')
+ </if>
+ order by a.id desc
+ limit #{offset},#{pageSize}
+ </select>
+ <select id="getOrderReportTotal" >
+ SELECT
+ CEILING(count(a.id)/#{pageSize}) as 'pageTotal',
+ count(a.id) as 'total'
+ from order_detail as a
+ left join sd.`order` as b
+ on b.order_id = a.order_id
+ left join sd.product as c
+ on c.id = a.product_id
+ left join sd.basic_glass_type as d
+ on d.type_id = c.type_id
+ left join sd.basic_glass_type as e
+ on e.type_id = d.belong
+ where date(b.create_time)>=#{startDate} and date(b.create_time) <= #{endDate}
+ <if test="orderDetail.order!=null and (orderDetail.order.orderType != null and orderDetail.order.orderType != '')">
+ and b.order_type like concat('%',#{orderDetail.order.orderType},'%')
+ </if>
+
+ <if test="orderDetail.order!=null and orderDetail.order.customerId != null and orderDetail.order.customerId != ''">
+ and b.customer_id like concat('%',#{orderDetail.order.customerId},'%')
+ </if>
+
+ <if test="orderDetail.order!=null and orderDetail.order.project != null and orderDetail.order.project != ''">
+ and b.project like concat('%',#{orderDetail.order.project},'%')
+ </if>
+
+ <if test="orderDetail.order!=null and orderDetail.order.orderId != null and orderDetail.order.orderId != ''">
+ and b.order_id like concat('%',#{orderDetail.order.orderId},'%')
+ </if>
+
+ <if test="orderDetail.order!=null and orderDetail.order.batch != null and orderDetail.order.batch != ''">
+ and b.batch like concat('%',#{orderDetail.order.batch},'%')
+ </if>
+
+ <if test="orderDetail.productId != null and orderDetail.productId != ''">
+ and a.product_id like concat('%',#{orderDetail.productId},'%')
+ </if>
+
+ <if test="orderDetail.productName != null and orderDetail.productName != ''">
+ and a.product_name like concat('%',#{orderDetail.productName},'%')
+ </if>
+
+ <if test="orderDetail.orderNumber != null and orderDetail.orderNumber != ''">
+ and a.order_number like concat('%',#{orderDetail.orderNumber},'%')
+ </if>
+
+ <if test="orderDetail.width != null and orderDetail.width != ''">
+ and a.width like concat('%',#{orderDetail.width},'%')
+ </if>
+
+ <if test="orderDetail.height != null and orderDetail.height != ''">
+ and a.height like concat('%',#{orderDetail.height},'%')
+ </if>
+
+ <if test="orderDetail.quantity != null and orderDetail.quantity != ''">
+ and a.quantity like concat('%',#{orderDetail.quantity},'%')
+ </if>
+
+ <if test="orderDetail.bendRadius != null and orderDetail.bendRadius != ''">
+ and a.bend_radius like concat('%',#{orderDetail.bendRadius},'%')
+ </if>
+
+ <if test="orderDetail.grossArea != null and orderDetail.grossArea != ''">
+ and a.gross_area like concat('%',#{orderDetail.grossArea},'%')
+ </if>
+
+ <if test="orderDetail.computeGrossArea != null and orderDetail.computeGrossArea != ''">
+ and a.compute_gross_area like concat('%',#{orderDetail.computeGrossArea},'%')
+ </if>
+
+ <if test="orderDetail.shape != null and orderDetail.shape != ''">
+ and a.shape like concat('%',#{orderDetail.shape},'%')
+ </if>
+
+ <if test="orderDetail.edgingType != null and orderDetail.edgingType != ''">
+ and a.edging_type like concat('%',#{orderDetail.edgingType},'%')
+ </if>
+
+ <if test="orderDetail.order!=null and orderDetail.order.processingNote != null and orderDetail.order.processingNote != ''">
+ and b.processing_note like concat('%',#{orderDetail.order.processingNote},'%')
+ </if>
+
+ <if test="orderDetail.processingNote != null and orderDetail.processingNote != ''">
+ and a.processing_note like concat('%',#{orderDetail.processingNote},'%')
+ </if>
+
+ <if test="orderDetail.order!=null and orderDetail.order.icon != null and orderDetail.order.icon != ''">
+ and b.icon like concat('%',#{orderDetail.order.icon},'%')
+ </if>
+
+ <if test="orderDetail.order!=null and orderDetail.order.packType != null and orderDetail.order.packType != ''">
+ and b.pack_type like concat('%',#{orderDetail.order.packType},'%')
+ </if>
+
+ <if test="orderDetail.perimeter != null and orderDetail.perimeter != ''">
+ and a.perimeter like concat('%',#{orderDetail.perimeter},'%')
+ </if>
+
+ <if test="orderDetail.price != null and orderDetail.price != ''">
+ and a.price like concat('%',#{orderDetail.price},'%')
+ </if>
+
+ <if test="orderDetail.grossAmount != null and orderDetail.grossAmount != ''">
+ and a.gross_amount like concat('%',#{orderDetail.grossAmount},'%')
+ </if>
+
+ <if test="orderDetail.order!=null and orderDetail.order.alType != null and orderDetail.order.alType != ''">
+ and b.al_type like concat('%',#{orderDetail.order.alType},'%')
+ </if>
+
+ <if test="orderDetail.order!=null and orderDetail.order.salesman != null and orderDetail.order.salesman != ''">
+ and b.salesman like concat('%',#{orderDetail.order.salesman},'%')
+ </if>
+
+ <if test="orderDetail.order!=null and orderDetail.order.deliveryAddress != null and orderDetail.order.deliveryAddress != ''">
+ and b.delivery_address like concat('%',#{orderDetail.order.deliveryAddress},'%')
+ </if>
+
+ <if test="orderDetail.order!=null and orderDetail.order.creator != null and orderDetail.order.creator != ''">
+ and b.creator like concat('%',#{orderDetail.order.creator},'%')
+ </if>
+
+ <if test="orderDetail.totalThickness != null and orderDetail.totalThickness != ''">
+ and c.total_thickness like concat('%',#{orderDetail.totalThickness},'%')
+ </if>
+
+ <if test="orderDetail.levelOne != null and orderDetail.levelOne != ''">
+ and d.type_name like concat('%',#{orderDetail.levelOne},'%')
+ </if>
+
+ <if test="orderDetail.levelTwo != null and orderDetail.levelTwo != ''">
+ and e.type_name like concat('%',#{orderDetail.levelTwo},'%')
+ </if>
+
+ <if test="orderDetail.order!=null and orderDetail.order.customerBatch != null and orderDetail.order.customerBatch != ''">
+ and b.customer_batch like concat('%',#{orderDetail.order.customerBatch},'%')
+ </if>
+ order by a.id desc
+ </select>
+
+ <select id="exportOrderReport">
+ SELECT
+ *,
+ a.create_time as createTime,
+ d.type_name as levelOne,
+ e.type_name as levelTwo
+ from order_detail as a
+ left join sd.`order` as b
+ on b.order_id = a.order_id
+ left join sd.product as c
+ on c.id = a.product_id
+ left join sd.basic_glass_type as d
+ on d.type_id = c.type_id
+ left join sd.basic_glass_type as e
+ on e.type_id = d.belong
+
+ </select>
+
+</mapper>
\ No newline at end of file
--
Gitblit v1.8.0