update mm.finished_goods_inventory
set inventory=inventory+#{quantity},quantity_available=quantity_available+#{quantity},
update_time=now(),area=actual_signal_area*quantity_available,compute_gross_area=compute_area*quantity_available
where order_number=#{orderNumber} and order_id=#{orderId}
update mm.finished_goods_inventory
set inventory=inventory-#{quantity},quantity_available=quantity_available-#{quantity},
update_time=now(),area=actual_signal_area*quantity_available,compute_gross_area=compute_area*quantity_available
where order_number=#{orderNumber} and order_id=#{orderId}
update mm.finished_goods_inventory
set quantity_available=quantity_available+#{quantity},
update_time=now(),area=actual_signal_area*quantity_available,compute_gross_area=compute_area*quantity_available
where order_number=#{orderNumber} and order_id=#{orderId}
update mm.finished_goods_inventory
set quantity_available=quantity_available+#{quantity},
update_time=now(),area=actual_signal_area*quantity_available,compute_gross_area=compute_area*quantity_available
where order_number=#{orderNumber} and order_id=#{orderId}
and trim(box_no) = trim(#{boxNo})
and box_no is null
update mm.finished_goods_inventory
set quantity_available=quantity_available-#{quantity},
update_time=now(),area=actual_signal_area*quantity_available,compute_gross_area=compute_area*quantity_available
where order_id=#{orderId} and order_number=#{orderNumber}
and trim(box_no) = trim(#{boxNo})
and box_no is null
update mm.finished_goods_inventory
set inventory=inventory+#{quantity}
where order_number=#{orderNumber} and order_id=#{orderId}
and trim(box_no) = trim(#{remarks})
and box_no is null
update mm.finished_goods_inventory
set inventory=inventory-#{quantity}
where order_number=#{orderNumber} and order_id=#{orderId}
and trim(box_no) = trim(#{boxNo})
and box_no is null
select fgi.order_id,
o.project,
fgi.order_number,
fgi.quantity_available,
od.product_id,
od.product_name,
od.width,
od.height,
o.customer_id,
o.customer_name,
fgi.actual_signal_area,
fgi.area,
fgi.storage_region
from mm.finished_goods_inventory fgi
left join sd.order_detail od on fgi.order_id = od.order_id and fgi.order_number = od.order_number
left join sd.`order` o on fgi.order_id = o.order_id
and fgi.status = 0 and fgi.quantity_available>0
and fgi.order_id regexp #{orderDetail.finishedGoodsInventory.orderId}
and o.project regexp #{orderDetail.order.project}
and fgi.order_number regexp #{orderDetail.finishedGoodsInventory.orderNumber}
and fgi.quantity_available regexp #{orderDetail.finishedGoodsInventory.quantityAvailable}
and od.product_id regexp #{orderDetail.productId}
and od.product_name regexp #{orderDetail.productName}
and od.width regexp REGEXP_REPLACE(#{orderDetail.width},'\\.0+$','')
and od.height regexp REGEXP_REPLACE(#{orderDetail.height},'\\.0+$','')
and o.customer_id regexp #{orderDetail.order.customerId}
and o.customer_name regexp #{orderDetail.order.customerName}
and fgi.actual_signal_area regexp REGEXP_REPLACE(#{orderDetail.finishedGoodsInventory.actualSignalArea},'\\.0+$','')
and fgi.area regexp REGEXP_REPLACE(#{orderDetail.finishedGoodsInventory.area},'\\.0+$','')
and fgi.storage_region regexp #{orderDetail.finishedGoodsInventory.storageRegion}
group by fgi.order_id, fgi.order_number,fgi.box_no
limit #{offset},#{pageSize};
select CEILING(count(zu.order_number)/#{pageSize}) as 'pageTotal',
count(zu.order_number) as 'total' from
(select fgi.order_number as order_number
from mm.finished_goods_inventory fgi
left join sd.order_detail od on fgi.order_id = od.order_id and fgi.order_number = od.order_number
left join sd.`order` o on fgi.order_id = o.order_id
and fgi.quantity_available>0
and fgi.order_id regexp #{orderDetail.finishedGoodsInventory.orderId}
and o.project regexp #{orderDetail.order.project}
and fgi.order_number regexp #{orderDetail.finishedGoodsInventory.orderNumber}
and fgi.quantity_available regexp #{orderDetail.finishedGoodsInventory.quantityAvailable}
and od.product_id regexp #{orderDetail.productId}
and od.product_name regexp #{orderDetail.productName}
and od.width regexp REGEXP_REPLACE(#{orderDetail.width},'\\.0+$','')
and od.height regexp REGEXP_REPLACE(#{orderDetail.height},'\\.0+$','')
and o.customer_id regexp #{orderDetail.order.customerId}
and o.customer_name regexp #{orderDetail.order.customerName}
and fgi.actual_signal_area regexp REGEXP_REPLACE(#{orderDetail.finishedGoodsInventory.actualSignalArea},'\\.0+$','')
and fgi.area regexp REGEXP_REPLACE(#{orderDetail.finishedGoodsInventory.area},'\\.0+$','')
and fgi.storage_region regexp #{orderDetail.finishedGoodsInventory.storageRegion}
group by fgi.order_id, fgi.order_number) as zu
limit #{offset},#{pageSize};
update sd.delivery_detail
set delivery_detail_state=#{state}
where order_number=#{orderNumber} and order_id=#{orderId} and delivery_id=#{deliveryId}
and trim(box_no) = trim(#{remarks})
and box_no is null
update mm.finished_goods_inventory
set inventory=0,quantity_available=0,
update_time=now(),area=0,status=1,compute_gross_area=0
where order_number=#{orderDetail.deliveryDetail.orderNumber} and order_id=#{orderDetail.deliveryDetail.orderId}
select CEILING(count(dd.id)/#{pageSize}) as 'pageTotal',
count(dd.id) as 'total'
from sd.delivery_detail dd
left join sd.delivery d on dd.delivery_id = d.delivery_id
left join sd.order_detail od on od.order_id = dd.order_id and dd.order_number = od.order_number
left join sd.`order` o on o.order_id = dd.order_id
and dd.delivery_detail_state=1
and dd.delivery_id regexp #{orderDetail.deliveryDetail.deliveryId}
and dd.order_id regexp #{orderDetail.deliveryDetail.orderId}
and o.project regexp #{orderDetail.order.project}
and od.product_id regexp #{orderDetail.productId}
and od.product_name regexp #{orderDetail.productName}
and d.customer_name regexp #{orderDetail.delivery.customerName}
and od.width regexp REGEXP_REPLACE(#{orderDetail.width},'\\.0+$','')
and od.height regexp REGEXP_REPLACE(#{orderDetail.height},'\\.0+$','')
and d.quantity regexp #{orderDetail.delivery.quantity}
and od.warehouse_num regexp #{orderDetail.warehouseNum}
and od.building_number regexp #{orderDetail.buildingNumber}
and d.area regexp REGEXP_REPLACE(#{orderDetail.delivery.area},'\\.0+$','')
and dd.order_number regexp #{orderDetail.deliveryDetail.orderNumber}
and d.creator regexp #{orderDetail.delivery.creator}
and dd.create_time regexp #{orderDetail.deliveryDetail.createTime}
and dd.delivery_detail_remakes regexp #{orderDetail.deliveryDetail.deliveryDetailRemakes}
order by dd.id desc
limit #{offset},#{pageSize};
select dd.delivery_id,
dd.order_number,
dd.order_id,
o.project,
od.product_id,
od.product_name,
d.customer_name,
od.width,
od.height,
dd.quantity as dd_quantity,
od.warehouse_num,
od.delivery_num,
dd.area,
od.building_number,
d.creator,
dd.delivery_detail_remakes,
dd.create_time,
dd.box_no
from sd.delivery_detail dd
left join sd.delivery d on dd.delivery_id = d.delivery_id
left join sd.order_detail od on od.order_id = dd.order_id and dd.order_number = od.order_number
left join sd.`order` o on o.order_id = dd.order_id
and dd.delivery_detail_state=1 and d.delivery_state=2
and dd.delivery_id regexp #{orderDetail.deliveryDetail.deliveryId}
and dd.order_id regexp #{orderDetail.deliveryDetail.orderId}
and o.project regexp #{orderDetail.order.project}
and od.product_id regexp #{orderDetail.productId}
and od.product_name regexp #{orderDetail.productName}
and d.customer_name regexp #{orderDetail.delivery.customerName}
and od.width regexp REGEXP_REPLACE(#{orderDetail.width},'\\.0+$','')
and od.height regexp REGEXP_REPLACE(#{orderDetail.height},'\\.0+$','')
and d.quantity regexp #{orderDetail.delivery.quantity}
and od.warehouse_num regexp #{orderDetail.warehouseNum}
and od.building_number regexp #{orderDetail.buildingNumber}
and d.area regexp REGEXP_REPLACE(#{orderDetail.delivery.area},'\\.0+$','')
and dd.order_number regexp #{orderDetail.deliveryDetail.orderNumber}
and d.creator regexp #{orderDetail.delivery.creator}
and dd.create_time regexp #{orderDetail.deliveryDetail.createTime}
and dd.delivery_detail_remakes regexp #{orderDetail.deliveryDetail.deliveryDetailRemakes}
order by dd.id desc
limit #{offset},#{pageSize};
select quantity from sd.`order` where order_id=#{orderId}
select sum(warehouse_num) from sd.order_detail where order_id=#{orderId}
select sum(delivery_num) from sd.order_detail where order_id=#{orderId}
select quantity from sd.`delivery` where delivery_id=#{deliveryId}
select * from sd.`delivery` where order_id=#{orderId}
select ifnull(sum(quantity),0) from sd.`delivery_detail` where delivery_id=#{deliveryId} and delivery_detail_state=#{deliveryDetailState}
select sum(quantity) from mm.finished_operate_log where operate_type='出库' and status='未审核' and order_id=#{orderId}
update sd.`order`
set warehousing=#{state}
where order_id=#{orderId}
update sd.`order`
set delivery=#{state}
where order_id=#{orderId}
update sd.`delivery`
set stock_state=#{state}
where delivery_id=#{deliveryId}
update sd.order_detail
set warehouse_num=warehouse_num+${quantity},update_time=now()
where order_number=#{orderNumber} and order_id=#{orderId}
update sd.order_detail
set warehouse_num=warehouse_num-${quantity}
where order_number=#{orderNumber} and order_id=#{orderId}
update sd.order_detail
set warehouse_num=warehouse_num+${quantity},update_time=now()
where order_number=#{orderNumber} and order_id=#{orderId}
update pp.flow_card
set received_quantity=received_quantity+${inventoryQuantity},storage_time=now()
where order_number=#{orderNumber} and process_id=#{processId} and order_id=#{order.orderId}
update pp.flow_card
set received_quantity=received_quantity-${finishedOperateLog.cancelAvailable},storage_time=now()
where order_number=#{finishedOperateLog.operationNumber} and process_id=#{finishedOperateLog.processId} and order_id=#{finishedOperateLog.orderId}
update mm.finished_goods_inventory
set inventory=inventory+${flowCard.inventoryQuantity},quantity_available=quantity_available+${flowCard.inventoryQuantity},
update_time=now(),area=actual_signal_area*quantity_available,compute_gross_area=compute_area*quantity_available
, storage_region= #{storageRegion}
, remark= #{remark}
, box_no= #{container}
where order_number=#{flowCard.orderNumber} and order_id=#{flowCard.order.orderId}
and box_no= #{container}
and box_no is null
update mm.finished_goods_inventory
set inventory=inventory-${finishedOperateLog.cancelAvailable},quantity_available=quantity_available-${finishedOperateLog.cancelAvailable},
update_time=now(),area=actual_signal_area*quantity_available,compute_gross_area=compute_area*quantity_available
where order_number=#{finishedOperateLog.operationNumber} and order_id=#{finishedOperateLog.orderId}
and box_no=#{finishedOperateLog.remarks}
and box_no is null
insert into mm.finished_goods_inventory (order_id,
order_number,
process_id,
inventory,
actual_signal_area,
area,
quantity_available,
warehouse_number,
storage_region,
`status`,
enter_storage_time,
box_no,
update_time,
end_time,
remark,
compute_area,
compute_gross_area
)
values (
#{flowCard.order.orderId} ,#{flowCard.orderNumber},#{flowCard.processId},#{flowCard.inventoryQuantity},ROUND(#{flowCard.orderDetail.width}*#{flowCard.orderDetail.height}/1000000,2),
ROUND(#{flowCard.orderDetail.width}*#{flowCard.orderDetail.height}*#{flowCard.inventoryQuantity}/1000000,2),
#{flowCard.inventoryQuantity},null,#{storageRegion},
0,now(),#{container},now(),null,#{remark},#{getComputeArea},#{getComputeArea}*#{flowCard.inventoryQuantity}
)
select count(*)
from mm.`finished_goods_inventory`
where order_number = #{orderNumber} and order_id=#{orderId}
and box_no=#{boxNo}
and box_no is null
select count(*)
from mm.`finished_goods_inventory`
where order_number = #{orderNumber} and order_id=#{orderId}
and box_no=#{container}
and box_no is null
select *
from mm.`finished_goods_inventory`
where order_number = #{orderNumber} and order_id=#{orderId};
select *
from sd.`order_detail`
where order_number = #{orderNumber} and order_id=#{orderId};
select quantity_available
from mm.`finished_goods_inventory`
where order_number = #{orderNumber} and order_id=#{orderId};
select
fc.id,
o.order_id,
od.building_number,
od.product_id,
od.product_name,
od.width,
od.height,
o.creator,
o.project,
fc.order_number,
od.quantity,
fc.inventory_quantity-fc.received_quantity as inventory_quantity,
o.area,
fc.process_id,
fc.received_quantity,
o.batch,
o.calculate_type,
od.compute_area,
od.price,
od.area as areas,
od.gross_area,
od.compute_gross_area
from (select *,min(inventory_quantity) as min_inventory_quantity from pp.flow_card group by order_id,order_number,process_id) as fc
left join sd.order_detail od on fc.order_id=od.order_id and fc.order_number=od.order_number inner join sd.`order` o on
o.order_id=fc.order_id
where fc.received_quantity fc.min_inventory_quantity and o.create_order>0 and
fc.order_id=#{order_id} and fc.order_number=#{order_number} and fc.process_id=#{process_id};
select
fc.id,
o.order_id,
od.building_number,
od.product_id,
od.product_name,
od.width,
od.height,
o.creator,
o.project,
fc.order_number,
od.quantity,
fc.quantity as fc_quantity,
fc.inventory_quantity-fc.received_quantity as inventory_quantity,
o.area,
fc.process_id,
fc.received_quantity,
o.batch,
o.calculate_type,
od.compute_area,
od.price,
od.area as areas,
od.gross_area,
od.compute_gross_area
from (select *,min(inventory_quantity) as min_inventory_quantity from pp.flow_card group by order_id,order_number,process_id) as fc
left join sd.order_detail od on fc.order_id=od.order_id and fc.order_number=od.order_number inner join sd.`order` o on
o.order_id=fc.order_id
and fc.received_quantity fc.min_inventory_quantity and o.create_order>0
and o.order_id regexp #{flowCard.order.orderId}
and od.building_number regexp #{flowCard.orderDetail.buildingNumber}
and od.product_id regexp #{flowCard.orderDetail.productId}
and od.product_name regexp #{flowCard.orderDetail.productName}
and od.width regexp REGEXP_REPLACE(#{flowCard.orderDetail.width},'\\.0+$','')
and od.height regexp REGEXP_REPLACE(#{flowCard.orderDetail.height},'\\.0+$','')
and o.creator regexp #{flowCard.order.creator}
and o.project regexp #{flowCard.order.project}
and fc.order_number regexp #{flowCard.orderNumber}
and od.quantity regexp #{flowCard.orderDetail.quantity}
and fc.inventory_quantity regexp #{flowCard.inventoryQuantity}
and o.area regexp REGEXP_REPLACE(#{flowCard.order.area},'\\.0+$','')
and o.batch regexp #{flowCard.order.batch}
and fc.process_id regexp #{flowCard.processId}
and fc.received_quantity regexp #{flowCard.receivedQuantity}
group by fc.order_id,fc.order_number,fc.process_id order by fc.create_time desc
limit #{offset},#{pageSize};
select
CEILING(count(zu.order_number)/#{pageSize}) as 'pageTotal',
count(zu.order_number) as 'total' from (
select fc.order_number as order_number,fc.process_id from pp.flow_card fc left join sd.order_detail od on
fc.order_id=od.order_id and fc.order_number=od.order_number inner join sd.`order` o on o.order_id=fc.order_id
and fc.received_quantity fc.inventory_quantity and o.create_order>0
and o.order_id regexp #{flowCard.order.orderId}
and od.building_number regexp #{flowCard.orderDetail.buildingNumber}
and od.product_id regexp #{flowCard.orderDetail.productId}
and od.product_name regexp #{flowCard.orderDetail.productName}
and od.width regexp REGEXP_REPLACE(#{flowCard.orderDetail.width},'\\.0+$','')
and od.height regexp REGEXP_REPLACE(#{flowCard.orderDetail.height},'\\.0+$','')
and o.creator regexp #{flowCard.order.creator}
and o.project regexp #{flowCard.order.project}
and fc.order_number regexp #{flowCard.orderNumber}
and od.quantity regexp #{flowCard.orderDetail.quantity}
and fc.inventory_quantity regexp #{flowCard.inventoryQuantity}
and o.area regexp REGEXP_REPLACE(#{flowCard.order.area},'\\.0+$','')
and o.batch regexp #{flowCard.order.batch}
and fc.process_id regexp #{flowCard.processId}
and fc.received_quantity regexp #{flowCard.receivedQuantity}
group by fc.order_id,fc.order_number,fc.process_id order by fc.create_time) as zu
select
fgi.id,
fgi.process_id,
od.order_number,
o.order_id,
o.project,
o.order_type,
o.customer_id,
o.customer_name,
o.batch,
o.salesman,
od.product_name,
od.product_id,
od.width,
od.height,
od.building_number,
fgi.inventory,
fgi.quantity_available,
fgi.actual_signal_area,
fgi.area,
fgi.warehouse_number,
fgi.storage_region,
fgi.`status`,
fgi.update_time,
fgi.enter_storage_time,
fgi.end_time,
fgi.remark,
fgi.box_no,
fgi.compute_area,
fgi.compute_gross_area,
round(fgi.area*p.total_thickness*2.5/1000,5) as weight
from finished_goods_inventory fgi
left join sd.order_detail od on fgi.order_id = od.order_id and fgi.order_number = od.order_number
left join sd.`order` o on fgi.order_id = o.order_id
left join sd.product p on p.id=od.product_id
and fgi.status = 0 and fgi.quantity_available>0 and o.create_order>0
and od.width regexp #{finishedGoodsInventory.orderDetail.width}
and od.order_number regexp #{finishedGoodsInventory.orderDetail.orderNumber}
and od.product_name regexp #{finishedGoodsInventory.orderDetail.productName}
and od.product_id regexp #{finishedGoodsInventory.orderDetail.productId}
and od.building_number regexp #{finishedGoodsInventory.orderDetail.buildingNumber}
and o.order_id regexp #{finishedGoodsInventory.order.orderId}
and o.project regexp #{finishedGoodsInventory.order.project}
and o.order_type regexp #{finishedGoodsInventory.order.orderType}
and o.customer_id regexp #{finishedGoodsInventory.order.customerId}
and o.customer_name regexp #{finishedGoodsInventory.order.customerName}
and o.batch regexp #{finishedGoodsInventory.order.batch}
and o.salesman regexp #{finishedGoodsInventory.order.salesman}
and od.height regexp REGEXP_REPLACE(#{finishedGoodsInventory.orderDetail.height},'\\.0+$','')
and fgi.inventory regexp #{finishedGoodsInventory.inventory}
and fgi.quantity_available regexp #{finishedGoodsInventory.quantityAvailable}
and fgi.actual_signal_area regexp REGEXP_REPLACE(#{finishedGoodsInventory.actualSignalArea},'\\.0+$','')
and fgi.compute_area regexp REGEXP_REPLACE(#{finishedGoodsInventory.computeArea},'\\.0+$','')
and fgi.compute_gross_area regexp REGEXP_REPLACE(#{finishedGoodsInventory.computeGrossArea},'\\.0+$','')
and fgi.area regexp REGEXP_REPLACE(#{finishedGoodsInventory.area},'\\.0+$','')
and fgi.warehouse_number regexp #{finishedGoodsInventory.warehouseNumber}
and fgi.storage_region regexp #{finishedGoodsInventory.storageRegion}
and fgi.`status` regexp #{finishedGoodsInventory.status}
and fgi.enter_storage_time regexp #{finishedGoodsInventory.enterStorageTime}
and fgi.update_time regexp #{finishedGoodsInventory.updateTime}
and fgi.end_time regexp #{finishedGoodsInventory.endTime}
and fgi.remark regexp #{finishedGoodsInventory.remark}
and fgi.box_no regexp #{finishedGoodsInventory.boxNo}
order by fgi.update_time desc
;
select
1 as 'pageTotal',
count(fgi.id) as 'total'
from mm.finished_goods_inventory fgi
left join sd.order_detail od on fgi.order_id = od.order_id and fgi.order_number = od.order_number
left join sd.`order` o on fgi.order_id = o.order_id
and fgi.status = 0 and fgi.quantity_available>0 and o.create_order>0
and od.width regexp #{finishedGoodsInventory.orderDetail.width}
and od.order_number regexp #{finishedGoodsInventory.orderDetail.orderNumber}
and od.product_name regexp #{finishedGoodsInventory.orderDetail.productName}
and od.product_id regexp #{finishedGoodsInventory.orderDetail.productId}
and od.building_number regexp #{finishedGoodsInventory.orderDetail.buildingNumber}
and o.order_id regexp #{finishedGoodsInventory.order.orderId}
and o.project regexp #{finishedGoodsInventory.order.project}
and o.order_type regexp #{finishedGoodsInventory.order.orderType}
and o.customer_id regexp #{finishedGoodsInventory.order.customerId}
and o.customer_name regexp #{finishedGoodsInventory.order.customerName}
and o.batch regexp #{finishedGoodsInventory.order.batch}
and o.salesman regexp #{finishedGoodsInventory.order.salesman}
and od.height regexp REGEXP_REPLACE(#{finishedGoodsInventory.orderDetail.height},'\\.0+$','')
and fgi.inventory regexp #{finishedGoodsInventory.inventory}
and fgi.quantity_available regexp #{finishedGoodsInventory.quantityAvailable}
and fgi.actual_signal_area regexp REGEXP_REPLACE(#{finishedGoodsInventory.actualSignalArea},'\\.0+$','')
and fgi.area regexp REGEXP_REPLACE(#{finishedGoodsInventory.area},'\\.0+$','')
and fgi.compute_area regexp REGEXP_REPLACE(#{finishedGoodsInventory.computeArea},'\\.0+$','')
and fgi.compute_gross_area regexp REGEXP_REPLACE(#{finishedGoodsInventory.computeGrossArea},'\\.0+$','')
and fgi.warehouse_number regexp #{finishedGoodsInventory.warehouseNumber}
and fgi.storage_region regexp #{finishedGoodsInventory.storageRegion}
and fgi.`status` regexp #{finishedGoodsInventory.status}
and fgi.enter_storage_time regexp #{finishedGoodsInventory.enterStorageTime}
and fgi.update_time regexp #{finishedGoodsInventory.updateTime}
and fgi.end_time regexp #{finishedGoodsInventory.endTime}
and fgi.remark regexp #{finishedGoodsInventory.remark}
and fgi.box_no regexp #{finishedGoodsInventory.boxNo}
order by fgi.update_time desc
;
select * from sd.order_detail where order_id=#{orderId}
insert into mm.finished_goods_inventory (order_id,
order_number,
process_id,
inventory,
actual_signal_area,
area,
quantity_available,
warehouse_number,
storage_region,
`status`,
enter_storage_time,
update_time,
end_time,
remark,
compute_area,
compute_gross_area
)
values (
#{orderDetail.orderId} ,#{orderDetail.orderNumber},"",#{orderDetail.quantity},#{orderDetail.area},
#{orderDetail.grossArea},
#{orderDetail.quantity},null,"",
0,now(),now(),null,"",#{orderDetail.computeArea},
#{orderDetail.computeGrossArea}
)
update mm.finished_goods_inventory
set inventory=inventory+${orderDetail.quantity},quantity_available=quantity_available+${orderDetail.quantity},
update_time=now(),area=actual_signal_area*quantity_available,compute_gross_area=compute_area*quantity_available
where order_number=#{orderDetail.orderNumber} and order_id=#{orderDetail.orderId}
select * from pp.flow_card
where order_number=#{orderNumber} and process_id=#{processId} and order_id=#{order.orderId} group by process_id
select * from sd.delivery_detail
where order_number=#{orderNumber}
and order_id=#{orderId}
and delivery_id=#{deliveryId}
and delivery_detail_state=0
and box_no=trim(#{boxNo})
and box_no is null
select dd.delivery_id,
dd.order_number,
dd.order_id,
o.project,
od.product_id,
od.product_name,
d.customer_name,
od.width,
od.height,
dd.quantity as dd_quantity,
od.warehouse_num,
od.delivery_num,
dd.area,
od.building_number,
d.creator,
dd.delivery_detail_remakes,
dd.delivery_detail_state,
dd.create_time,
dd.box_no
from sd.delivery_detail dd
left join sd.delivery d on dd.delivery_id = d.delivery_id
left join sd.order_detail od on od.order_id = dd.order_id and dd.order_number = od.order_number
left join sd.`order` o on o.order_id = dd.order_id
where dd.delivery_id= #{deliveryId}
select kkk.*,
rw.teams_groups_name as teams_groups_name2
from(select #{orderId} as order_id,
o.customer_name,
o.customer_id,
o.project,
(select batch from sd.`order` pp1 where pp1.order_id =#{orderId} ) as batch,
fol.box_no as 'remarks',
SUM(fol.quantity_available) as quantity,
ROUND( sum(od.width * od.height * fol.quantity_available) / 1000000, 2 ) as area,
ROUND( sum(od.width * od.height * fol.quantity_available*p.total_thickness*2.5) / 1000000, 2 ) as weight,
fol.process_id,
aaa.teams_groups_name,
aaa.previous_process,
date( aaa.reporting_work_time) as reporting_work_time
from (SELECT *
FROM mm.finished_goods_inventory aa
where aa.box_no=#{boxNo}
and aa.quantity_available>0
) as fol
left join sd.order_detail od on fol.order_id = od.order_id and fol.order_number = od.order_number
left join sd.`order` o on o.order_id=fol.order_id
left join sd.product p on od.product_id=p.id
left join (select teams_groups_name,process_id,previous_process,reporting_work_time from pp.reporting_work where this_process='包装' group by process_id) aaa on aaa.process_id=fol.process_id
where o.customer_id=#{customerId}
and o.project=#{project}
group by fol.box_no,o.customer_name,o.project
) as kkk
left join pp.reporting_work rw on rw.process_id=kkk.process_id and rw.this_process=kkk.previous_process
group by kkk.remarks,kkk.customer_id,kkk.project
SELECT
od.product_id,
od.product_name,
pro.thickness
FROM
( SELECT * FROM mm.finished_goods_inventory aa
WHERE aa.order_id = #{orderId}
AND aa.box_no = #{boxNo}
AND aa.quantity_available > 0 ) fol
LEFT JOIN sd.order_detail od ON fol.order_id = od.order_id
AND fol.order_number = od.order_number
left join sd.product as pro
on pro.id = od.product_id
LEFT JOIN sd.`order` o ON o.order_id = fol.order_id
group by
od.product_id
SELECT
ifnull(od.building_number,ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'')) as building_number,
od.width,
od.height,
sum(fol.quantity_available) as quantity,
od.product_name,
od.product_id,
ROUND(sum(fol.compute_area * fol.quantity_available) , 2 ) as area,
ROUND(sum(od.width * od.height * fol.quantity_available / 1000000) , 2 )*#{thickness}*2.5 as weight
FROM
( SELECT * FROM mm.finished_goods_inventory aa
WHERE aa.order_id = #{orderId}
AND aa.box_no = #{boxNo}
AND aa.quantity_available > 0 ) fol
LEFT JOIN sd.order_detail od
ON fol.order_id = od.order_id
AND fol.order_number = od.order_number
LEFT JOIN sd.`order` o
ON o.order_id = fol.order_id
WHERE
od.product_id=#{productId}
group by od.order_id,od.order_number
ORDER BY
od.order_number
delete fgi from mm.finished_goods_inventory fgi left join sd.`order` o on o.order_id=fgi.order_id
where o.create_time < DATE_SUB(CURDATE(), INTERVAL 6 MONTH)
and o.delivery=2 and fgi.inventory=0
select
fgi.id,
fgi.process_id,
od.order_number,
o.order_id,
o.project,
o.order_type,
o.customer_id,
o.customer_name,
o.batch,
o.salesman,
od.product_name,
od.product_id,
od.width,
od.height,
od.building_number,
fgi.inventory,
fgi.quantity_available,
fgi.actual_signal_area,
fgi.area,
fgi.warehouse_number,
fgi.storage_region,
fgi.`status`,
fgi.update_time,
fgi.enter_storage_time,
fgi.end_time,
fgi.remark,
fgi.box_no,
fgi.compute_area,
fgi.compute_gross_area,
round(fgi.area*p.total_thickness*2.5/1000,5) as weight
from finished_goods_inventory fgi
left join sd.order_detail od on fgi.order_id = od.order_id and fgi.order_number = od.order_number
left join sd.`order` o on fgi.order_id = o.order_id
left join sd.product p on p.id=od.product_id
where fgi.status = 0 and fgi.quantity_available>0 and o.create_order>0
order by fgi.update_time desc;