<?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>
|
</select>
|
|
<select id="exportOrderReport" >
|
SELECT
|
*,
|
a.create_time as createTime,
|
d.type_name as level_one,
|
e.type_name as level_two
|
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(a.create_time)>=#{dates[0]} and date(a.create_time) <= #{dates[1]}
|
</select>
|
|
|
<!--获取订单产品汇总-->
|
|
<select id="getOrderProductSummary" resultMap="orderMap">
|
SELECT
|
b.order_type,
|
b.customer_name,
|
b.project,
|
a.order_id,
|
b.batch,
|
a.product_id,
|
a.product_name,
|
sum(a.quantity) as quantity,
|
sum(a.gross_area) as gross_area,
|
sum(a.compute_gross_area) as compute_gross_area,
|
a.edging_type,
|
b.pack_type,
|
round(sum(a.perimeter),2) as perimeter,
|
a.price,
|
sum(a.gross_amount ) as gross_amount,
|
b.al_type,
|
b.salesman,
|
b.delivery_address,
|
b.creator,
|
a.create_time,
|
b.customer_batch,
|
|
|
|
|
c.*,
|
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>
|
group by b.order_id,a.product_id
|
order by b.order_id desc
|
limit #{offset},#{pageSize}
|
</select>
|
|
|
<select id="getOrderProductSummaryTotal" >
|
select ss.pageTotal,count(ss.total) as 'total' from( 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>
|
group by b.order_id,a.product_id
|
) as ss
|
</select>
|
|
<select id="exportOrderProductSummary" >
|
SELECT
|
*,
|
a.create_time as createTime,
|
d.type_name as level_one,
|
e.type_name as level_two
|
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(a.create_time)>=#{dates[0]} and date(a.create_time) <= #{dates[1]}
|
group by b.order_id,a.product_id
|
order by b.order_id desc
|
</select>
|
|
<select id="getOrderProductDetailTag">
|
select c.customer_name,c.order_id,b.remarks,c.project,
|
if(a.child_width < a.child_height,a.child_width,a.child_height ),
|
if(a.child_width < a.child_height,a.child_height,a.child_width ),
|
sum(b.quantity),
|
a.glass_child,
|
b.processing_note
|
from order_glass_detail as a
|
left join order_detail as b
|
on a.order_id = b.order_id
|
and a.order_number = b.order_number
|
left join `order` as c
|
on c.order_id = a.order_id
|
where a.order_id = #{orderId}
|
group by a.glass_child,a.child_width,a.child_height
|
</select>
|
|
|
</mapper>
|