<?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.DeliveryDetailMapper">
|
|
<resultMap id="selectDeliveryFinishedGoodsInventoryOrderDetail" type="com.example.erp.entity.sd.OrderDetail">
|
|
<result column="order_id" property="orderId"/>
|
<result column="order_number" property="orderNumber"/>
|
<result column="o_quantity" property="quantity"/>
|
<result column="building_number" property="buildingNumber"/>
|
<result column="product_name" property="productName"/>
|
<result column="product_id" property="productId"/>
|
<result column="price" property="price"/>
|
<result column="width" property="width"/>
|
<result column="height" property="height"/>
|
<result column="shape" property="shape"/>
|
<result column="gross_area" property="grossArea"/>
|
<result column="compute_area" property="computeArea"/>
|
<result column="compute_gross_area" property="computeGrossArea"/>
|
<result column="processing_note" property="processingNote"/>
|
<result column="edging_type" property="edgingType"/>
|
<result column="perimeter" property="perimeter"/>
|
|
<result column="delivery_num" property="deliveryNum"/>
|
|
<result column="delivery_id" property="deliveryDetail.deliveryid"/>
|
|
<result column="d_quantity" property="deliveryDetail.quantity"/>
|
<result column="money" property="deliveryDetail.money"/>
|
<result column="delivery_detail_remakes" property="deliveryDetail.deliveryDetailRemakes"/>
|
|
<result column="batch" property="order.batch"/>
|
<result column="t_quantity" property="order.quantity"/>
|
|
|
<result column="customer_id" property="delivery.customerId"/>
|
<result column="customer_name" property="delivery.customerName"/>
|
<result column="project" property="delivery.project"/>
|
<result column="pay_method" property="delivery.payMethod"/>
|
<result column="pay_date" property="delivery.payDate"/>
|
<result column="contacts" property="delivery.contacts"/>
|
<result column="contact_number" property="delivery.contactNumber"/>
|
<result column="delivery_address" property="delivery.deliveryAddress"/>
|
<result column="remarks" property="delivery.remarks"/>
|
<result column="create_time" property="delivery.createTime"/>
|
<result column="delivery_date" property="delivery.deliveryDate"/>
|
<result column="creator" property="delivery.creator"/>
|
|
<result column="quantity_available" property="finishedGoodsInventory.quantityAvailable"/>
|
<result column="storage_region" property="finishedGoodsInventory.storageRegion"/>
|
<result column="actual_signal_area" property="finishedGoodsInventory.actualSignalArea"/>
|
|
|
</resultMap>
|
|
<update id="updateOrderDetailDeliveryNum">
|
update sd.order_detail set delivery_num=#{finishedGoodsInventory.quantityAvailable} where order_id=#{orderId} and order_number=#{orderNumber}
|
</update>
|
|
<select id="getdeliveryDetailmaximum" >
|
select count(*) from sd.delivery_detail where delivery_id=#{deliveryId}
|
</select>
|
|
|
<insert id="insertDeliveryDetail" useGeneratedKeys="true" >
|
insert into sd.delivery_detail (delivery_id,delivery_number,order_number,
|
area,order_id,quantity,money,delivery_detail_remakes,delivery_detail_state,create_time)
|
values (
|
#{number} ,#{deliveryNumber},#{orderDetail.orderNumber},#{orderDetail.computeGrossArea},
|
#{orderDetail.orderId},#{orderDetail.finishedGoodsInventory.quantityAvailable},
|
#{orderDetail.price}*#{orderDetail.finishedGoodsInventory.quantityAvailable},'',1,now()
|
)
|
</insert>
|
|
|
|
<select id="getseletShippingOrderDetail" resultMap="selectDeliveryFinishedGoodsInventoryOrderDetail">
|
select od.order_id,o.batch,fgi.quantity_available,od.quantity-dd.quantity as t_quantity,od.quantity as o_quantity,dd.quantity
|
as d_quantity,od.building_number,od.product_id,od.product_name,od.price,fgi.storage_region,dd.money,od.width,
|
od.height,od.shape,fgi.actual_signal_area,od.gross_area,od.compute_area,od.compute_gross_area,
|
od.processing_note,od.edging_type,od.perimeter,dd.delivery_detail_remakes
|
from sd.delivery_detail dd
|
left join sd.delivery d on dd.delivery_id=d.delivery_id
|
left join sd.order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
|
left join sd.`order` o on dd.order_id=o.order_id
|
left join mm.finished_goods_inventory fgi on dd.order_id=fgi.order_id and dd.order_number=fgi.order_number
|
<where>
|
<if test="orderDetail.deliveryDetail.deliveryId != null and orderDetail.deliveryDetail.deliveryId != ''">
|
and dd.delivery_id regexp #{orderDetail.deliveryDetail.deliveryId}
|
</if>
|
|
</where>
|
limit #{offset},#{pageSize};
|
</select>
|
|
<select id="getseletShippingOrderDetailPageTotal">
|
select
|
CEILING(count(dd.id)/#{pageSize})
|
from sd.delivery_detail dd
|
left join sd.delivery d on dd.delivery_id=d.delivery_id
|
left join sd.order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number
|
left join sd.`order` o on dd.order_id=o.order_id
|
left join mm.finished_goods_inventory fgi on dd.order_id=fgi.order_id and dd.order_number=fgi.order_number
|
<where>
|
<if test="orderDetail.deliveryDetail.deliveryId != null and orderDetail.deliveryDetail.deliveryId != ''">
|
and dd.delivery_id regexp #{orderDetail.deliveryDetail.deliveryId}
|
</if>
|
</where>
|
limit #{offset},#{pageSize};
|
</select>
|
|
<select id="getseletShippingOrderDetails" resultMap="selectDeliveryFinishedGoodsInventoryOrderDetail">
|
select od.order_id,
|
od.order_number,
|
o.batch,
|
fgi.quantity_available,
|
od.quantity- od.delivery_num as t_quantity,
|
od.quantity as o_quantity,
|
od.delivery_num as d_quantity,
|
od.building_number,
|
od.product_id,
|
od.product_name,
|
od.price,
|
fgi.storage_region,
|
od.width,
|
od.height,
|
od.shape,
|
fgi.actual_signal_area,
|
od.gross_area,
|
od.compute_area,
|
od.compute_gross_area,
|
od.processing_note,
|
od.edging_type,
|
od.perimeter
|
from sd.order_detail od
|
left join sd.`order` o on od.order_id = o.order_id
|
left join mm.finished_goods_inventory fgi
|
on od.order_id = fgi.order_id and od.order_number = fgi.order_number
|
<where>
|
fgi.quantity_available > 0 and od.quantity > od.delivery_num
|
<if test="orderDetail.orderId != null and orderDetail.orderId != ''">
|
and od.order_id regexp #{orderDetail.orderId}
|
</if>
|
</where>
|
limit #{offset},#{pageSize};
|
</select>
|
|
<select id="getseletShippingOrderDetailsPageTotal">
|
select
|
CEILING(count(od.id)/#{pageSize})
|
from sd.order_detail od
|
left join sd.`order` o on od.order_id = o.order_id
|
left join mm.finished_goods_inventory fgi
|
on od.order_id = fgi.order_id and od.order_number = fgi.order_number
|
<where>
|
fgi.quantity_available > 0 and od.quantity > od.delivery_num
|
<if test="orderDetail.orderId != null and orderDetail.orderId != ''">
|
and od.order_id regexp #{orderDetail.orderId}
|
</if>
|
</where>
|
limit #{offset},#{pageSize};
|
</select>
|
</mapper>
|