Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
data-center-auto
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
bltdc
data-center-auto
Commits
dd05bd3d
Commit
dd05bd3d
authored
Oct 28, 2019
by
lizefeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化调拨在途明细的查询算法
parent
a05f859c
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
114 additions
and
68 deletions
+114
-68
daily.cs
AutoTurnOver.DB/daily.cs
+114
-68
No files found.
AutoTurnOver.DB/daily.cs
View file @
dd05bd3d
...
...
@@ -71,77 +71,123 @@ GROUP BY
{
var
sql
=
@"
SELECT
tb5.bailun_sku bailun_sku,
tb5.warehouse_code warehouse_code,
tb5.transfer_order_id transfer_order_id,
tb5.estimated_arrival_time estimated_arrival_time,
tb5.create_time create_time,
( tb5.count - IFNULL( tb4.count, 0 ) ) AS count ,
(case when t_w.hq_type='fba仓' then t_w.bailun_account else t_w.warehouse_name end) as warehouse_name
tb11.bailun_sku bailun_sku,
tb11.warehouse_code warehouse_code,
tb11.transfer_order_id transfer_order_id,
tb5.estimated_arrival_time estimated_arrival_time,
tb11.create_time create_time,
(
tb11.count - IFNULL(tb4.count, 0)
) AS count
FROM
(
SELECT
tb1.bailun_sku,
tb1.warehouse_code,
tb1.transfer_order_id,
tb1.estimated_arrival_time,
tb1.create_time,
sum( tb1.count ) count
FROM
dc_base_transfer_verify tb1
LEFT JOIN dc_base_transfer_complete tb2 ON tb1.deleted = tb2.deleted
AND tb1.bailun_sku = tb2.bailun_sku
AND tb1.warehouse_code = tb2.warehouse_code
AND tb1.transfer_order_id = tb2.transfer_order_id
WHERE
tb2.bailun_sku IS NULL
AND tb1.bailun_sku = @bailun_sku
AND tb1.warehouse_code = @warehouse_code
AND tb1.deleted = 0
GROUP BY
bailun_sku,
warehouse_code,
transfer_order_id
) tb5
(
SELECT
tb1.bailun_sku,
tb1.warehouse_code,
tb1.transfer_order_id,
tb1.create_time,
sum(tb1.count) count
FROM
dc_base_transfer_bale tb1
LEFT JOIN dc_base_transfer_complete tb2 ON tb1.transfer_order_id = tb2.transfer_order_id
WHERE
tb2.bailun_sku IS NULL
AND tb1.bailun_sku = @bailun_sku
AND tb1.warehouse_code = @warehouse_code
AND tb1.deleted = 0
GROUP BY
bailun_sku,
warehouse_code,
transfer_order_id
) tb11
LEFT JOIN (
SELECT
tb1.bailun_sku,
tb1.warehouse_code,
tb1.transfer_order_id,
tb1.estimated_arrival_time,
tb1.create_time,
sum(tb1.count) count
FROM
dc_base_transfer_verify tb1
LEFT JOIN dc_base_transfer_complete tb2 ON tb1.transfer_order_id = tb2.transfer_order_id
WHERE
tb2.bailun_sku IS NULL
AND tb1.bailun_sku = @bailun_sku
AND tb1.warehouse_code = @warehouse_code
AND tb1.deleted = 0
GROUP BY
bailun_sku,
warehouse_code,
transfer_order_id
) tb5 ON tb5.bailun_sku = tb11.bailun_sku
AND tb5.warehouse_code = tb11.warehouse_code
AND tb5.transfer_order_id = tb11.transfer_order_id
LEFT JOIN (
SELECT
bailun_sku,
warehouse_code,
transfer_order_id,
sum( count ) count
FROM
(
SELECT
tb1.bailun_sku,
tb1.warehouse_code,
max( tb1.count ) count,
tb1.transfer_order_id
FROM
dc_base_transfer_inbound tb1
LEFT JOIN dc_base_transfer_complete tb2 ON tb2.deleted = 0
AND tb1.bailun_sku = tb2.bailun_sku
AND tb1.warehouse_code = tb2.warehouse_code
AND tb1.transfer_order_id = tb2.transfer_order_id
WHERE
tb2.bailun_sku IS NULL
AND tb1.deleted = 0
GROUP BY
bailun_sku,
warehouse_code,
transfer_order_id
) tb3
GROUP BY
bailun_sku,
warehouse_code,
transfer_order_id
) tb4 ON tb5.bailun_sku = tb4.bailun_sku
AND tb5.warehouse_code = tb4.warehouse_code
AND tb5.transfer_order_id = tb4.transfer_order_id
left join dc_base_warehouse as t_w on tb5.warehouse_code = t_w.warehouse_code
SELECT
bailun_sku,
warehouse_code,
transfer_order_id,
sum(count) count
FROM
(
SELECT
t1.bailun_sku,
t1.warehouse_code,
t2.count,
t1.transfer_order_id
FROM
(
SELECT
max(create_time) AS create_time,
bailun_sku,
warehouse_code,
transfer_order_id
FROM
dc_base_transfer_inbound
WHERE
deleted = 0
AND bailun_sku = @bailun_sku
AND warehouse_code = @warehouse_code
GROUP BY
bailun_sku,
warehouse_code,
transfer_order_id
) t1
INNER JOIN dc_base_transfer_inbound t2 ON t1.bailun_sku = t2.bailun_sku
AND t1.warehouse_code = t2.warehouse_code
AND t1.transfer_order_id = t2.transfer_order_id
AND t1.create_time = t2.create_time
LEFT JOIN dc_base_transfer_complete tb2 ON t1.transfer_order_id = tb2.transfer_order_id
WHERE
tb2.bailun_sku IS NULL
) tb3
GROUP BY
bailun_sku,
warehouse_code,
transfer_order_id
) tb4 ON tb5.bailun_sku = tb4.bailun_sku
AND tb5.warehouse_code = tb4.warehouse_code
AND tb5.transfer_order_id = tb4.transfer_order_id
WHERE
( tb5.count - IFNULL( tb4.count, 0 ) ) > 0
(
tb11.count - IFNULL(tb4.count, 0)
) > 0
UNION ALL
SELECT
bailun_sku,
warehouse_code,
transfer_plan_order_id,
NULL,
update_time,
count
FROM
dc_base_transfer_plan
WHERE
STATUS = 1
AND deleted = 0
AND bailun_sku = @bailun_sku
AND warehouse_code = @warehouse_code ;
"
;
DynamicParameters
parameters
=
new
DynamicParameters
();
parameters
.
Add
(
"bailun_sku"
,
sku
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment