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
5d8660ab
Commit
5d8660ab
authored
Jul 19, 2019
by
lizefeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
实时库存定时推送
parent
e64fa403
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
125 additions
and
100 deletions
+125
-100
GeneratePurchaseAdviseBackgroundService.cs
...PurchaseAdvise/GeneratePurchaseAdviseBackgroundService.cs
+3
-3
Program.cs
AutoGeneratePurchaseAdvise/Program.cs
+1
-1
DailyServices.cs
AutoTurnOver.Services/DailyServices.cs
+119
-0
DailyController.cs
AutoTurnOver/Controllers/DailyController.cs
+2
-96
No files found.
AutoGeneratePurchaseAdvise/GeneratePurchaseAdviseBackgroundService.cs
View file @
5d8660ab
...
@@ -48,9 +48,9 @@ namespace AutoGeneratePurchaseAdvise
...
@@ -48,9 +48,9 @@ namespace AutoGeneratePurchaseAdvise
if
(
now
.
Hour
==
7
&&
now
.
Minute
==
29
)
if
(
now
.
Hour
==
7
&&
now
.
Minute
==
29
)
{
{
Console
.
WriteLine
(
$"开始推送
广州01周转数据
,线程Id:
{
Thread
.
CurrentThread
.
ManagedThreadId
}
,
{
DateTime
.
Now
.
ToString
(
"yyyy-MM-dd HH:mm:ss"
)}
"
);
Console
.
WriteLine
(
$"开始推送
国内仓实时库存
,线程Id:
{
Thread
.
CurrentThread
.
ManagedThreadId
}
,
{
DateTime
.
Now
.
ToString
(
"yyyy-MM-dd HH:mm:ss"
)}
"
);
new
SkuAutoTurn
Services
().
GenerateData
();
new
Daily
Services
().
GenerateData
();
Console
.
WriteLine
(
$"结束推送
广州01周转数据
,线程Id:
{
Thread
.
CurrentThread
.
ManagedThreadId
}
,
{
DateTime
.
Now
.
ToString
(
"yyyy-MM-dd HH:mm:ss"
)}
"
);
Console
.
WriteLine
(
$"结束推送
国内仓实时库存
,线程Id:
{
Thread
.
CurrentThread
.
ManagedThreadId
}
,
{
DateTime
.
Now
.
ToString
(
"yyyy-MM-dd HH:mm:ss"
)}
"
);
}
}
...
...
AutoGeneratePurchaseAdvise/Program.cs
View file @
5d8660ab
...
@@ -18,7 +18,7 @@ namespace AutoGeneratePurchaseAdvise
...
@@ -18,7 +18,7 @@ namespace AutoGeneratePurchaseAdvise
//purchase_advise.ImportJITShortageDetailed(0);
//purchase_advise.ImportJITShortageDetailed(0);
//PurchaseAdviseServices.Generate();
//PurchaseAdviseServices.Generate();
//PurchaseAdviseServices.Generate();
//PurchaseAdviseServices.Generate();
new
SkuAutoTurn
Services
().
GenerateData
();
new
Daily
Services
().
GenerateData
();
var
builder
=
new
HostBuilder
().
ConfigureServices
((
hostContext
,
services
)
=>
var
builder
=
new
HostBuilder
().
ConfigureServices
((
hostContext
,
services
)
=>
{
{
services
.
AddHostedService
<
GeneratePurchaseAdviseBackgroundService
>();
services
.
AddHostedService
<
GeneratePurchaseAdviseBackgroundService
>();
...
...
AutoTurnOver.Services/DailyServices.cs
View file @
5d8660ab
using
AutoTurnOver.Models
;
using
AutoTurnOver.Models
;
using
AutoTurnOver.Utility
;
using
System
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
using
System.Data
;
using
System.IO
;
using
System.Text
;
using
System.Text
;
namespace
AutoTurnOver.Services
namespace
AutoTurnOver.Services
...
@@ -63,5 +66,121 @@ namespace AutoTurnOver.Services
...
@@ -63,5 +66,121 @@ namespace AutoTurnOver.Services
return
DB
.
daily
.
OutOfStockOrderList
(
sku
,
warehouse_code
);
return
DB
.
daily
.
OutOfStockOrderList
(
sku
,
warehouse_code
);
}
}
public
MemoryStream
Export
(
UserData
user
,
string
sku
,
string
bailun_sku
,
string
warehousecode
,
string
product_inner_code
,
string
sku_title_cn
,
string
supplier_name
,
int
offset
,
int
limit
,
ref
int
total
,
string
warehousetype
,
int
?
warehousearea
,
bool
isSum
=
false
,
string
order
=
null
,
string
sort
=
null
,
int
?
has_tort
=
null
)
{
var
services
=
new
DailyServices
();
var
fileName
=
AppContext
.
BaseDirectory
+
$@"Result\RealtimeStock\
{
user
.
UserAccount
}
实时库存.csv"
;
int
page
=
1
;
int
rows
=
50000
;
while
(
true
)
{
var
list
=
services
.
RealtimeList
(
sku
,
bailun_sku
,
warehousecode
,
product_inner_code
,
sku_title_cn
,
supplier_name
,
(
page
-
1
)
*
rows
,
rows
,
ref
total
,
warehousetype
,
warehousearea
,
has_tort
:
has_tort
);
if
(
list
==
null
||
list
.
Count
<=
0
)
break
;
DataTable
table
=
new
DataTable
();
string
[]
cols
=
new
string
[]
{
"Sku"
,
"采购名称"
,
"中文名"
,
"英文名称"
,
"内部编码"
,
"仓库编码"
,
"仓库名称"
,
"货主编码"
,
"实时采购在途"
,
"实时调拨在途"
,
"订货数量"
,
"运输在途"
,
"中转仓库存"
,
"冻结库存"
,
"供应商库存"
,
"预售库存"
,
"不良品库存"
,
"在途库存"
,
"收货待检"
,
"待上架"
,
"可配库存"
,
"销售可用库存(聚合)"
,
"销售可用库存(私有)"
,
"销售可用库存(共享)"
,
"在仓库存(共享)"
,
"在仓库存(私有)"
,
"在仓库存(聚合)"
,
"仓库占用(共享)"
,
"仓库占用(私有)"
,
"仓库占用(聚合)"
,
"活动占用"
,
"单占用(私有)"
,
"订单占用(共享)"
,
"订单占用(聚合)"
,
"环球更新时间"
,
"供应商"
,
"采购员"
,
"重量"
,
"单价"
,
"已发货库存"
,
"实时缺货"
,
"是否侵权"
,
"过去7日日均销量"
,
"过去14日日均销量"
,
"过去30日日均销量"
,
"过去7日Eaby日均销量"
,
"过去14日Eaby日均销量"
,
"过去30日Eaby日均销量"
,
"监控状态"
};
foreach
(
var
item
in
cols
)
{
table
.
Columns
.
Add
(
item
);
}
foreach
(
var
itemData
in
list
)
{
DataRow
row
=
table
.
NewRow
();
row
[
"Sku"
]
=
itemData
.
bailun_sku
;
row
[
"采购名称"
]
=
itemData
.
buyer_name
;
row
[
"中文名"
]
=
itemData
.
sku_title_cn
;
row
[
"英文名称"
]
=
itemData
.
sku_title_en
;
row
[
"内部编码"
]
=
itemData
.
product_inner_code
;
row
[
"仓库编码"
]
=
itemData
.
warehouse_code
;
row
[
"仓库名称"
]
=
itemData
.
warehouse_name
;
row
[
"货主编码"
]
=
itemData
.
owner_code
;
row
[
"订货数量"
]
=
itemData
.
quantity_reservation
;
row
[
"运输在途"
]
=
itemData
.
quantity_transport
;
row
[
"中转仓库存"
]
=
itemData
.
quantity_transfer
;
row
[
"冻结库存"
]
=
itemData
.
quantity_freeze
;
row
[
"供应商库存"
]
=
itemData
.
quantity_supplier
;
row
[
"预售库存"
]
=
itemData
.
quantity_presell
;
row
[
"不良品库存"
]
=
itemData
.
quantity_defective
;
row
[
"在途库存"
]
=
itemData
.
quantity_transit
;
row
[
"收货待检"
]
=
itemData
.
wait_check
;
row
[
"待上架"
]
=
itemData
.
wait_putaway
;
row
[
"可配库存"
]
=
itemData
.
usable_stock
;
row
[
"销售可用库存(聚合)"
]
=
itemData
.
usable_sales
;
row
[
"销售可用库存(私有)"
]
=
itemData
.
usable_sales_private
;
row
[
"销售可用库存(共享)"
]
=
itemData
.
usable_sales_share
;
row
[
"在仓库存(共享)"
]
=
itemData
.
in_warehouse_share
;
row
[
"在仓库存(私有)"
]
=
itemData
.
in_warehouse_private
;
row
[
"在仓库存(聚合)"
]
=
itemData
.
in_warehouse
;
row
[
"仓库占用(共享)"
]
=
itemData
.
occupy_stock_share
;
row
[
"仓库占用(私有)"
]
=
itemData
.
occupy_stock_private
;
row
[
"仓库占用(聚合)"
]
=
itemData
.
occupy_stock
;
row
[
"活动占用"
]
=
itemData
.
occupy_activity
;
row
[
"单占用(私有)"
]
=
itemData
.
occupy_order_private
;
row
[
"订单占用(共享)"
]
=
itemData
.
occupy_order
;
row
[
"订单占用(聚合)"
]
=
itemData
.
occupy_order_share
;
row
[
"环球更新时间"
]
=
itemData
.
update_time
;
row
[
"实时采购在途"
]
=
itemData
.
realtime_quantity_purchase
;
row
[
"实时调拨在途"
]
=
itemData
.
realtime_quantity_transfer
;
row
[
"供应商"
]
=
itemData
.
suppliers_name
;
row
[
"采购员"
]
=
itemData
.
buyer_name
;
row
[
"重量"
]
=
itemData
.
weight
;
row
[
"单价"
]
=
itemData
.
unit_price
;
row
[
"已发货库存"
]
=
itemData
.
shipped_stock
;
row
[
"实时缺货"
]
=
itemData
.
quantity_out_stock
;
row
[
"是否侵权"
]
=
itemData
.
has_tort
;
row
[
"过去7日日均销量"
]
=
itemData
.
history_sevenday_sales
;
row
[
"过去14日日均销量"
]
=
itemData
.
history_fourteenday_sales
;
row
[
"过去30日日均销量"
]
=
itemData
.
history_thirtyday_sales
;
row
[
"过去7日Eaby日均销量"
]
=
itemData
.
history_sevenday_sales_ebay
;
row
[
"过去14日Eaby日均销量"
]
=
itemData
.
history_fourteenday_sales_ebay
;
row
[
"过去30日Eaby日均销量"
]
=
itemData
.
history_thirtyday_sales_ebay
;
row
[
"监控状态"
]
=
itemData
.
monitor_status
==
0
?
"监控中"
:
"停止监控"
;
table
.
Rows
.
Add
(
row
);
}
CsvFileHelper
.
SaveCSV
(
table
,
fileName
,
page
==
1
);
page
++;
}
var
memory
=
new
MemoryStream
();
using
(
var
stream
=
new
FileStream
(
fileName
,
FileMode
.
Open
))
{
stream
.
CopyTo
(
memory
);
}
memory
.
Position
=
0
;
return
memory
;
}
public
async
void
GenerateData
()
{
try
{
var
total
=
0
;
var
memory
=
Export
(
new
UserData
{
UserAccount
=
"admin"
},
null
,
null
,
null
,
null
,
null
,
null
,
0
,
0
,
ref
total
,
"国内仓"
,
null
);
var
fileData
=
await
QiNiuCloudHelper
.
UploadAsync
(
memory
,
$"stock_
{
DateTime
.
Now
.
ToString
(
"yyyy-MM-dd HH:mm:ss"
)}
.csv"
);
ApiServices
.
QiYeJiQiRenMsPush
(
new
QiYeJiQiRenMsDto
{
msgtype
=
"text"
,
text
=
new
QiYeJiQiRenMsDto
.
text_dto
{
content
=
"国内仓实时库存:"
+
fileData
}
});
}
catch
(
Exception
ex
)
{
Console
.
WriteLine
(
ex
.
Message
);
}
}
}
}
}
}
AutoTurnOver/Controllers/DailyController.cs
View file @
5d8660ab
...
@@ -119,102 +119,8 @@ namespace AutoTurnOver.Controllers
...
@@ -119,102 +119,8 @@ namespace AutoTurnOver.Controllers
public
FileResult
ExportRealtime
(
string
sku
,
string
bailun_sku
,
string
warehousecode
,
string
product_inner_code
,
string
sku_title_cn
,
string
supplier_name
,
int
offset
,
int
limit
,
string
order
,
string
sort
,
string
warehousetype
,
int
?
warehousearea
,
int
?
has_tort
=
null
)
public
FileResult
ExportRealtime
(
string
sku
,
string
bailun_sku
,
string
warehousecode
,
string
product_inner_code
,
string
sku_title_cn
,
string
supplier_name
,
int
offset
,
int
limit
,
string
order
,
string
sort
,
string
warehousetype
,
int
?
warehousearea
,
int
?
has_tort
=
null
)
{
{
var
user
=
AutoUtility
.
GetUser
();
var
user
=
AutoUtility
.
GetUser
();
var
services
=
new
DailyServices
();
int
total
=
0
;
var
total
=
0
;
var
memory
=
new
DailyServices
().
Export
(
user
,
sku
,
bailun_sku
,
warehousecode
,
product_inner_code
,
sku_title_cn
,
supplier_name
,
offset
,
limit
,
ref
total
,
warehousetype
,
warehousearea
,
has_tort
:
has_tort
);
var
fileName
=
AppContext
.
BaseDirectory
+
$@"Result\RealtimeStock\
{
user
.
UserAccount
}
实时库存.csv"
;
int
page
=
1
;
int
rows
=
50000
;
while
(
true
)
{
var
list
=
services
.
RealtimeList
(
sku
,
bailun_sku
,
warehousecode
,
product_inner_code
,
sku_title_cn
,
supplier_name
,
(
page
-
1
)*
rows
,
rows
,
ref
total
,
warehousetype
,
warehousearea
,
has_tort
:
has_tort
);
if
(
list
==
null
||
list
.
Count
<=
0
)
break
;
DataTable
table
=
new
DataTable
();
string
[]
cols
=
new
string
[]
{
"Sku"
,
"采购名称"
,
"中文名"
,
"英文名称"
,
"内部编码"
,
"仓库编码"
,
"仓库名称"
,
"货主编码"
,
"实时采购在途"
,
"实时调拨在途"
,
"订货数量"
,
"运输在途"
,
"中转仓库存"
,
"冻结库存"
,
"供应商库存"
,
"预售库存"
,
"不良品库存"
,
"在途库存"
,
"收货待检"
,
"待上架"
,
"可配库存"
,
"销售可用库存(聚合)"
,
"销售可用库存(私有)"
,
"销售可用库存(共享)"
,
"在仓库存(共享)"
,
"在仓库存(私有)"
,
"在仓库存(聚合)"
,
"仓库占用(共享)"
,
"仓库占用(私有)"
,
"仓库占用(聚合)"
,
"活动占用"
,
"单占用(私有)"
,
"订单占用(共享)"
,
"订单占用(聚合)"
,
"环球更新时间"
,
"供应商"
,
"采购员"
,
"重量"
,
"单价"
,
"已发货库存"
,
"实时缺货"
,
"是否侵权"
,
"过去7日日均销量"
,
"过去14日日均销量"
,
"过去30日日均销量"
,
"过去7日Eaby日均销量"
,
"过去14日Eaby日均销量"
,
"过去30日Eaby日均销量"
,
"监控状态"
};
foreach
(
var
item
in
cols
)
{
table
.
Columns
.
Add
(
item
);
}
foreach
(
var
itemData
in
list
)
{
DataRow
row
=
table
.
NewRow
();
row
[
"Sku"
]
=
itemData
.
bailun_sku
;
row
[
"采购名称"
]
=
itemData
.
buyer_name
;
row
[
"中文名"
]
=
itemData
.
sku_title_cn
;
row
[
"英文名称"
]
=
itemData
.
sku_title_en
;
row
[
"内部编码"
]
=
itemData
.
product_inner_code
;
row
[
"仓库编码"
]
=
itemData
.
warehouse_code
;
row
[
"仓库名称"
]
=
itemData
.
warehouse_name
;
row
[
"货主编码"
]
=
itemData
.
owner_code
;
row
[
"订货数量"
]
=
itemData
.
quantity_reservation
;
row
[
"运输在途"
]
=
itemData
.
quantity_transport
;
row
[
"中转仓库存"
]
=
itemData
.
quantity_transfer
;
row
[
"冻结库存"
]
=
itemData
.
quantity_freeze
;
row
[
"供应商库存"
]
=
itemData
.
quantity_supplier
;
row
[
"预售库存"
]
=
itemData
.
quantity_presell
;
row
[
"不良品库存"
]
=
itemData
.
quantity_defective
;
row
[
"在途库存"
]
=
itemData
.
quantity_transit
;
row
[
"收货待检"
]
=
itemData
.
wait_check
;
row
[
"待上架"
]
=
itemData
.
wait_putaway
;
row
[
"可配库存"
]
=
itemData
.
usable_stock
;
row
[
"销售可用库存(聚合)"
]
=
itemData
.
usable_sales
;
row
[
"销售可用库存(私有)"
]
=
itemData
.
usable_sales_private
;
row
[
"销售可用库存(共享)"
]
=
itemData
.
usable_sales_share
;
row
[
"在仓库存(共享)"
]
=
itemData
.
in_warehouse_share
;
row
[
"在仓库存(私有)"
]
=
itemData
.
in_warehouse_private
;
row
[
"在仓库存(聚合)"
]
=
itemData
.
in_warehouse
;
row
[
"仓库占用(共享)"
]
=
itemData
.
occupy_stock_share
;
row
[
"仓库占用(私有)"
]
=
itemData
.
occupy_stock_private
;
row
[
"仓库占用(聚合)"
]
=
itemData
.
occupy_stock
;
row
[
"活动占用"
]
=
itemData
.
occupy_activity
;
row
[
"单占用(私有)"
]
=
itemData
.
occupy_order_private
;
row
[
"订单占用(共享)"
]
=
itemData
.
occupy_order
;
row
[
"订单占用(聚合)"
]
=
itemData
.
occupy_order_share
;
row
[
"环球更新时间"
]
=
itemData
.
update_time
;
row
[
"实时采购在途"
]
=
itemData
.
realtime_quantity_purchase
;
row
[
"实时调拨在途"
]
=
itemData
.
realtime_quantity_transfer
;
row
[
"供应商"
]
=
itemData
.
suppliers_name
;
row
[
"采购员"
]
=
itemData
.
buyer_name
;
row
[
"重量"
]
=
itemData
.
weight
;
row
[
"单价"
]
=
itemData
.
unit_price
;
row
[
"已发货库存"
]
=
itemData
.
shipped_stock
;
row
[
"实时缺货"
]
=
itemData
.
quantity_out_stock
;
row
[
"是否侵权"
]
=
itemData
.
has_tort
;
row
[
"过去7日日均销量"
]
=
itemData
.
history_sevenday_sales
;
row
[
"过去14日日均销量"
]
=
itemData
.
history_fourteenday_sales
;
row
[
"过去30日日均销量"
]
=
itemData
.
history_thirtyday_sales
;
row
[
"过去7日Eaby日均销量"
]
=
itemData
.
history_sevenday_sales_ebay
;
row
[
"过去14日Eaby日均销量"
]
=
itemData
.
history_fourteenday_sales_ebay
;
row
[
"过去30日Eaby日均销量"
]
=
itemData
.
history_thirtyday_sales_ebay
;
row
[
"监控状态"
]
=
itemData
.
monitor_status
==
0
?
"监控中"
:
"停止监控"
;
table
.
Rows
.
Add
(
row
);
}
CsvFileHelper
.
SaveCSV
(
table
,
fileName
,
page
==
1
);
page
++;
}
var
memory
=
new
MemoryStream
();
using
(
var
stream
=
new
FileStream
(
fileName
,
FileMode
.
Open
))
{
stream
.
CopyTo
(
memory
);
}
memory
.
Position
=
0
;
return
File
(
memory
,
"text/csv"
,
$"
{
user
.
UserAccount
}
实时库存.csv"
);
return
File
(
memory
,
"text/csv"
,
$"
{
user
.
UserAccount
}
实时库存.csv"
);
}
}
...
...
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