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
52935b09
Commit
52935b09
authored
Jan 27, 2021
by
泽锋 李
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增供应链调拨在途查询
parent
25ce5a8f
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
214 additions
and
14 deletions
+214
-14
daily.cs
AutoTurnOver.DB/daily.cs
+19
-12
order_transfer_full_link_dto.cs
AutoTurnOver.Models/order_transfer_full_link_dto.cs
+20
-0
DailyServices.cs
AutoTurnOver.Services/DailyServices.cs
+92
-0
TaskDownloadServices.cs
AutoTurnOver.Services/TaskDownloadServices.cs
+17
-0
DailyController.cs
AutoTurnOver/Controllers/DailyController.cs
+66
-2
No files found.
AutoTurnOver.DB/daily.cs
View file @
52935b09
...
@@ -1616,27 +1616,33 @@ left join dc_base_warehouse as t2 on t1.warehouse_code = t2.warehouse_code
...
@@ -1616,27 +1616,33 @@ left join dc_base_warehouse as t2 on t1.warehouse_code = t2.warehouse_code
sql
=
@"
sql
=
@"
select
select
sum(ifnull(t1.quantity_purchase,0)) as 'quantity_purchase',
sum(ifnull(t2.deliverycount - t2.storagecount,0)) as 'not_storage',
sum(ifnull(t1.`quantity_arrival`,0)) as 'quantity_arrival',
sum(ifnull(t1.`quantity_inbound`,0)) as 'quantity_inbound',
sum(ifnull(t1.`quantity_not_inbound`,0)) as 'quantity_not_inbound'
from dc_base_purchase_details as t1
from dc_base_transfer_info as t1
left join dc_base_warehouse as t2 on t1.warehouse_code = t2.warehouse_code
left join dc_base_transfer_info_skus as t2 on t1.dataid =t2.dataid
left join dc_base_warehouse as t3 on t1.targetwareno =t3.warehouse_code
left join dc_base_sku as t4 on t2.sku = t4.bailun_sku
left join dc_base_stock as t5 on t2.sku = t5.bailun_sku and t1.targetwareno = t5.warehouse_code
left join dc_auto_turnover as t6 on t2.sku = t6.bailun_sku and t1.targetwareno = t6.warehouse_code
left join dc_auto_forecast_fluctuation as t7 on t2.sku = t7.bailun_sku and t1.targetwareno = t7.warehouse_code
left join dc_lms_order_transfer_current_node as t8 on t1.dataid = t8.data_id and t2.sku = t8.sku
"
;
"
;
if
((
categoryModels
!=
null
&&
categoryModels
.
Count
>=
1
)
||
!
string
.
IsNullOrWhiteSpace
(
search_data
.
buyer_name
)
||
search_data
.
product_type
>
0
)
if
((
categoryModels
!=
null
&&
categoryModels
.
Count
>=
1
)
||
!
string
.
IsNullOrWhiteSpace
(
search_data
.
buyer_name
)
||
search_data
.
product_type
>
0
)
{
{
sql
+=
" left join dc_base_sku as t
3 on t1.bailun_sku = t3
.bailun_sku "
;
sql
+=
" left join dc_base_sku as t
4 on t2.sku = t4
.bailun_sku "
;
}
}
if
(
search_data
.
has_tort
!=
null
)
if
(
search_data
.
has_tort
!=
null
)
{
{
sql
+=
" left join dc_base_tort as t9 on t
1.bailun_
sku = t9.bailun_sku "
;
sql
+=
" left join dc_base_tort as t9 on t
2.
sku = t9.bailun_sku "
;
}
}
if
(
search_data
.
monitor_status
!=
null
)
if
(
search_data
.
monitor_status
!=
null
)
{
{
sql
+=
" left join dc_auto_config_sku_warehouse as t10 on t
1.bailun_
sku = t10.bailun_sku and t1.warehouse_code = t10.warehouse_code "
;
sql
+=
" left join dc_auto_config_sku_warehouse as t10 on t
2.
sku = t10.bailun_sku and t1.warehouse_code = t10.warehouse_code "
;
}
}
sql
+=
" where t1.`status` not in (-1,4) and t1.has_delete =0 and t1.quantity_not_inbound > 0 "
;
sql
+=
" t1.stateid !=5 and t2.deliverycount > t2.storagecount and t1.isdeleted=0 "
;
}
}
else
else
{
{
...
@@ -1669,7 +1675,8 @@ t8.node_name,
...
@@ -1669,7 +1675,8 @@ t8.node_name,
t8.surplus_node_days,
t8.surplus_node_days,
t8.expectarrivaltime as 'node_expectarrivaltime',
t8.expectarrivaltime as 'node_expectarrivaltime',
t8.logistics_code,
t8.logistics_code,
t8.logistics_name
t8.logistics_name,
t8.sign_exe
from dc_base_transfer_info as t1
from dc_base_transfer_info as t1
left join dc_base_transfer_info_skus as t2 on t1.dataid =t2.dataid
left join dc_base_transfer_info_skus as t2 on t1.dataid =t2.dataid
...
@@ -1714,7 +1721,7 @@ left join dc_base_stock as t5 on t2.sku = t5.bailun_sku and t1.targetwareno = t5
...
@@ -1714,7 +1721,7 @@ left join dc_base_stock as t5 on t2.sku = t5.bailun_sku and t1.targetwareno = t5
countSql
+=
" left join dc_auto_config_sku_warehouse as t10 on t2.sku = t10.bailun_sku and t1.warehouse_code = t10.warehouse_code "
;
countSql
+=
" left join dc_auto_config_sku_warehouse as t10 on t2.sku = t10.bailun_sku and t1.warehouse_code = t10.warehouse_code "
;
}
}
countSql
+=
"
where t1.`status` not in (-1,4) and t1.has_delete =0 and t1.quantity_not_inbound >
0 "
;
countSql
+=
"
t1.stateid !=5 and t2.deliverycount > t2.storagecount and t1.isdeleted=
0 "
;
...
...
AutoTurnOver.Models/order_transfer_full_link_dto.cs
View file @
52935b09
...
@@ -21,6 +21,26 @@ namespace AutoTurnOver.Models
...
@@ -21,6 +21,26 @@ namespace AutoTurnOver.Models
public
string
buyer_name
{
get
;
set
;
}
public
string
buyer_name
{
get
;
set
;
}
public
string
product_type_desc
{
get
;
set
;
}
public
string
product_type_desc
{
get
;
set
;
}
public
int
?
forecast_type
{
get
;
set
;
}
public
int
?
forecast_type
{
get
;
set
;
}
public
int
?
sign_exe
{
get
;
set
;
}
public
string
forecast_type_str
{
get
{
if
(
forecast_type
==
null
)
{
return
""
;
}
else
{
return
((
forecast_type_enum
)
forecast_type
).
ToString
();
}
}
}
public
enum
forecast_type_enum
{
实际缺货
=
1
,
预计缺货
=
2
,
实际冗余
=
3
,
预计冗余
=
4
,
断货
=
5
}
public
string
order_no
{
get
;
set
;
}
public
string
order_no
{
get
;
set
;
}
public
string
transporttype
{
get
;
set
;
}
public
string
transporttype
{
get
;
set
;
}
public
string
dataid
{
get
;
set
;
}
public
string
dataid
{
get
;
set
;
}
...
...
AutoTurnOver.Services/DailyServices.cs
View file @
52935b09
...
@@ -58,6 +58,15 @@ namespace AutoTurnOver.Services
...
@@ -58,6 +58,15 @@ namespace AutoTurnOver.Services
}
}
return
DB
.
daily
.
FullLinkPurchaseList
(
search_data
,
categoryModels
,
ref
total
);
return
DB
.
daily
.
FullLinkPurchaseList
(
search_data
,
categoryModels
,
ref
total
);
}
}
public
List
<
order_transfer_full_link_dto
>
FullLinkTransferList
(
dc_base_stock_search_dto
search_data
,
ref
int
total
)
{
List
<
bailun_category_new_dto
>
categoryModels
=
null
;
if
(!
string
.
IsNullOrWhiteSpace
(
search_data
.
categoryIds
))
{
categoryModels
=
ApiServices
.
GetNewClientNodesByIds
(
search_data
.
categoryIds
.
Split
(
','
).
Select
(
s
=>
int
.
Parse
(
s
)).
ToList
());
}
return
DB
.
daily
.
FullLinkTransferList
(
search_data
,
categoryModels
,
ref
total
);
}
public
List
<
dc_base_stock_fba_dto
>
RealtimeFbaList
(
dc_base_stock_search_dto
search_data
,
ref
int
total
)
public
List
<
dc_base_stock_fba_dto
>
RealtimeFbaList
(
dc_base_stock_search_dto
search_data
,
ref
int
total
)
{
{
...
@@ -585,6 +594,89 @@ namespace AutoTurnOver.Services
...
@@ -585,6 +594,89 @@ namespace AutoTurnOver.Services
}
}
}
}
public
string
FullLinkTransferExport
(
dc_base_stock_search_dto
search_data
)
{
try
{
export_count
++;
var
services
=
new
DailyServices
();
var
fileName
=
AppContext
.
BaseDirectory
+
$@"供应链调拨在途-
{
DateTime
.
Now
.
ToString
(
"yyyyMMddHHmmss"
)}{
Guid
.
NewGuid
()}
.csv"
;
int
page
=
1
;
int
rows
=
50000
;
if
(
export_count
==
1
)
{
rows
=
250000
;
}
while
(
true
)
{
int
total
=
0
;
search_data
.
offset
=
(
page
-
1
)*
rows
;
search_data
.
limit
=
rows
;
var
list
=
services
.
FullLinkTransferList
(
search_data
,
ref
total
);
if
(
list
==
null
||
list
.
Count
<=
0
)
break
;
DataTable
table
=
new
DataTable
();
string
[]
cols
=
new
string
[]
{
"产品编码"
,
"仓库名称"
,
"仓库编码"
,
"中文信息"
,
"可用库存"
,
"调拨在途数"
,
"过去7天日均"
,
"过去14天日均"
,
"过去30天日均"
,
"商品来源"
,
"采购员"
,
"sku状态"
,
"调拨单号"
,
"物流跟踪号"
,
"物流转单号"
,
"头程方式"
,
"调拨单状态"
,
"物流渠道"
,
"物流渠道编码"
,
"物流节点状态"
,
"物流节点时间"
,
"物流异常"
,
"目标到货"
,
"预计到货"
};
foreach
(
var
item
in
cols
)
{
table
.
Columns
.
Add
(
item
);
}
foreach
(
var
itemData
in
list
)
{
DataRow
row
=
table
.
NewRow
();
row
[
"产品编码"
]
=
itemData
.
sku
;
row
[
"仓库名称"
]
=
itemData
.
warehouse_name
;
row
[
"仓库编码"
]
=
itemData
.
warehouse_code
;
row
[
"中文信息"
]
=
itemData
.
sku_name
;
row
[
"可用库存"
]
=
itemData
.
stock
;
row
[
"调拨在途数"
]
=
itemData
.
not_storage
;
row
[
"过去7天日均"
]
=
itemData
.
history_sevenday_sales
;
row
[
"过去14天日均"
]
=
itemData
.
history_fourteenday_sales
;
row
[
"过去30天日均"
]
=
itemData
.
history_thirtyday_sales
;
row
[
"商品来源"
]
=
itemData
.
product_type_desc
;
row
[
"采购员"
]
=
itemData
.
buyer_name
;
row
[
"sku状态"
]
=
itemData
.
forecast_type_str
;
row
[
"调拨单号"
]
=
itemData
.
order_no
;
row
[
"物流跟踪号"
]
=
itemData
.
trackingno
;
row
[
"物流转单号"
]
=
itemData
.
transfer_no
;
row
[
"头程方式"
]
=
itemData
.
transporttype
;
row
[
"调拨单状态"
]
=
itemData
.
dataid
;
row
[
"物流渠道"
]
=
itemData
.
logistics_name
;
row
[
"物流渠道编码"
]
=
itemData
.
logistics_code
;
row
[
"物流节点状态"
]
=
itemData
.
node_name
;
row
[
"物流节点时间"
]
=
itemData
.
node_date
;
row
[
"物流异常"
]
=
itemData
.
sign_exe
==
1
?
"有异常"
:
"无异常"
;
row
[
"目标到货"
]
=
itemData
.
expectarrivaltime
==
null
?
""
:
itemData
.
expectarrivaltime
.
Value
.
ToString
(
"yyyy-MM-dd HH:mm:ss"
);
row
[
"预计到货"
]
=
itemData
.
node_expectarrivaltime
==
null
?
""
:
itemData
.
node_expectarrivaltime
.
Value
.
ToString
(
"yyyy-MM-dd HH:mm:ss"
);
table
.
Rows
.
Add
(
row
);
}
CsvFileHelper
.
SaveCSV
(
table
,
fileName
,
page
==
1
);
page
++;
}
return
fileName
;
}
catch
(
Exception
)
{
export_count
--;
throw
;
}
}
public
async
void
GenerateData
()
public
async
void
GenerateData
()
{
{
...
...
AutoTurnOver.Services/TaskDownloadServices.cs
View file @
52935b09
...
@@ -62,6 +62,9 @@ namespace AutoTurnOver.Services
...
@@ -62,6 +62,9 @@ namespace AutoTurnOver.Services
case
"供应链采购在途"
:
case
"供应链采购在途"
:
item
.
result_file_url
=
await
DownloadFullLinkPurchase
(
item
.
parameter
,
item
);
item
.
result_file_url
=
await
DownloadFullLinkPurchase
(
item
.
parameter
,
item
);
break
;
break
;
case
"供应链调拨在途"
:
item
.
result_file_url
=
await
DownloadFullLinkTransfer
(
item
.
parameter
,
item
);
break
;
default
:
throw
new
Exception
(
"无法识别的任务"
);
default
:
throw
new
Exception
(
"无法识别的任务"
);
}
}
item
.
end_date
=
DateTime
.
Now
;
item
.
end_date
=
DateTime
.
Now
;
...
@@ -181,6 +184,20 @@ namespace AutoTurnOver.Services
...
@@ -181,6 +184,20 @@ namespace AutoTurnOver.Services
return
fileData
;
return
fileData
;
}
}
/// <summary>
/// <summary>
/// 下载供应链调拨在途
/// </summary>
public
async
Task
<
string
>
DownloadFullLinkTransfer
(
string
par_json
,
dc_task_download
download_data
)
{
dc_base_stock_search_dto
search_data
=
par_json
.
ToObject
<
dc_base_stock_search_dto
>();
Console
.
WriteLine
(
"DownloadStock - 开始生成文件"
);
var
memory
=
new
DailyServices
().
FullLinkTransferExport
(
search_data
);
Console
.
WriteLine
(
"DownloadStock - 开始生成上传文件"
);
var
fileData
=
await
AutoTurnOver
.
Utility
.
QiNiuCloudHelper
.
UploadSectioningAsync
(
memory
);
Console
.
WriteLine
(
"DownloadStock - 上传完毕"
);
return
fileData
;
}
/// <summary>
/// 下载库存
/// 下载库存
/// </summary>
/// </summary>
public
async
Task
<
string
>
DownloadFbaStock
(
string
par_json
,
dc_task_download
download_data
)
public
async
Task
<
string
>
DownloadFbaStock
(
string
par_json
,
dc_task_download
download_data
)
...
...
AutoTurnOver/Controllers/DailyController.cs
View file @
52935b09
...
@@ -91,7 +91,6 @@ namespace AutoTurnOver.Controllers
...
@@ -91,7 +91,6 @@ namespace AutoTurnOver.Controllers
}
}
/// <summary>
/// <summary>
/// <summary>
/// 供应链采购在途
/// 供应链采购在途
/// </summary>
/// </summary>
/// <param name="sku"></param>
/// <param name="sku"></param>
...
@@ -124,7 +123,42 @@ namespace AutoTurnOver.Controllers
...
@@ -124,7 +123,42 @@ namespace AutoTurnOver.Controllers
});
});
}
}
}
/// <summary>
}
/// <summary>
/// 供应链调拨在途
/// </summary>
/// <param name="sku"></param>
/// <param name="warehousecode"></param>
/// <param name="offset"></param>
/// <param name="limit"></param>
/// <returns></returns>
[
BrowseLog
(
"Bailun_aims"
,
"访问【百伦自动周转系统】->【实时数据】->【供应链调拨在途】->【搜索】页面"
,
0
)]
public
JsonResult
FullLinkTransferList
([
FromQuery
]
dc_base_stock_search_dto
search_data
)
{
try
{
var
services
=
new
DailyServices
();
var
total
=
0
;
var
list
=
services
.
FullLinkTransferList
(
search_data
,
ref
total
);
return
new
JsonResult
(
new
{
rows
=
list
,
total
=
total
,
});
}
catch
(
Exception
ex
)
{
return
new
JsonResult
(
new
{
message
=
ex
.
Message
,
stack_trace
=
ex
.
StackTrace
});
}
}
/// 实时库存
/// 实时库存
...
@@ -193,6 +227,17 @@ namespace AutoTurnOver.Controllers
...
@@ -193,6 +227,17 @@ namespace AutoTurnOver.Controllers
return
new
JsonResult
(
list
==
null
||
list
.
Count
<=
0
?
new
full_link_purchase_dto
()
:
list
[
0
]);
return
new
JsonResult
(
list
==
null
||
list
.
Count
<=
0
?
new
full_link_purchase_dto
()
:
list
[
0
]);
}
}
public
JsonResult
FullLinkTransferSumFooter
([
FromQuery
]
dc_base_stock_search_dto
search_data
)
{
var
services
=
new
DailyServices
();
var
total
=
0
;
search_data
.
isSum
=
true
;
var
list
=
services
.
FullLinkTransferList
(
search_data
,
ref
total
);
return
new
JsonResult
(
list
==
null
||
list
.
Count
<=
0
?
new
order_transfer_full_link_dto
()
:
list
[
0
]);
}
/// <summary>
/// <summary>
/// 缺货推送记录
/// 缺货推送记录
...
@@ -382,6 +427,25 @@ namespace AutoTurnOver.Controllers
...
@@ -382,6 +427,25 @@ namespace AutoTurnOver.Controllers
}
}
public
JsonResult
ExportFullLinkTransfer
([
FromQuery
]
dc_base_stock_search_dto
search_data
)
{
try
{
var
user
=
AutoUtility
.
GetUser
();
search_data
.
limit
=
int
.
MaxValue
;
dc_task_download_dao
.
PushData
<
dc_base_stock_search_dto
>(
new
dc_task_download
{
parameter
=
search_data
.
ToJson
(),
task_name
=
"供应链调拨在途"
},
user
);
return
new
JsonResult
(
new
{
success
=
true
});
}
catch
(
Exception
ex
)
{
return
new
JsonResult
(
new
{
success
=
false
,
message
=
ex
.
Message
});
}
}
public
JsonResult
ExportFullLinkPurchase
([
FromQuery
]
dc_base_stock_search_dto
search_data
)
public
JsonResult
ExportFullLinkPurchase
([
FromQuery
]
dc_base_stock_search_dto
search_data
)
{
{
try
try
...
...
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