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
38004606
Commit
38004606
authored
Jan 16, 2021
by
泽锋 李
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
出一波全量备货需求
parent
31c9aa2c
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
163 additions
and
1 deletion
+163
-1
Program.cs
AutoGeneratePurchaseAdvise/Program.cs
+1
-1
dc_auto_return_goods_config_dao.cs
AutoTurnOver.DB/dc_auto_return_goods_config_dao.cs
+131
-0
dc_aims_return_goods.cs
AutoTurnOver.Models/dc_aims_return_goods.cs
+31
-0
No files found.
AutoGeneratePurchaseAdvise/Program.cs
View file @
38004606
...
@@ -18,7 +18,7 @@ namespace AutoGeneratePurchaseAdvise
...
@@ -18,7 +18,7 @@ namespace AutoGeneratePurchaseAdvise
try
try
{
{
//
PurchaseAdviseServices.Generate(DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 00:00:00")));
PurchaseAdviseServices
.
Generate
(
DateTime
.
Parse
(
DateTime
.
Now
.
ToString
(
"yyyy-MM-dd 00:00:00"
)));
//PurchaseAdviseServices.Generate(DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 12:00:00")));
//PurchaseAdviseServices.Generate(DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 12:00:00")));
//PurchaseAdviseServices.GenerateTemp(DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 13:13:00")));
//PurchaseAdviseServices.GenerateTemp(DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 13:13:00")));
...
...
AutoTurnOver.DB/dc_auto_return_goods_config_dao.cs
View file @
38004606
...
@@ -428,6 +428,137 @@ where 1 = 1 ";
...
@@ -428,6 +428,137 @@ where 1 = 1 ";
public
decimal
unit_price
{
get
;
set
;
}
public
decimal
unit_price
{
get
;
set
;
}
public
decimal
stock
{
get
;
set
;
}
public
decimal
stock
{
get
;
set
;
}
}
}
/// <summary>
/// 计算可以退货的sku
/// </summary>
public
static
void
NewCalculation
()
{
var
conn
=
_connection
;
var
configs
=
conn
.
Query
<
dc_auto_return_goods_config
>(
" select * from dc_auto_return_goods_config where status=0 "
);
foreach
(
var
item
in
configs
)
{
var
skus
=
NewGetSkus
(
MyMySqlConnection
.
_connection_read_only
,
item
);
if
(
skus
!=
null
&&
skus
.
Count
>=
1
)
{
var
max_days
=
Math
.
Max
(
item
.
sales_days_1
,
item
.
sales_days_2
);
// 销量过滤
foreach
(
var
itemSku
in
skus
)
{
var
order_dates
=
GetOrderDateList
(
MyMySqlConnection
.
_connection_read_only
,
itemSku
.
bailun_sku
,
itemSku
.
warehouse_code
,
Math
.
Max
(
30
,
max_days
));
var
sales_days_1_date
=
DateTime
.
Now
.
AddDays
(
0
-
item
.
sales_days_1
).
ToDayHome
();
var
sales_days_1_val
=
order_dates
.
Where
(
s
=>
s
.
paid_time
>=
sales_days_1_date
).
Sum
(
s
=>
s
.
bailun_sku_quantity_ordered
);
var
sales_days_2_date
=
DateTime
.
Now
.
AddDays
(
0
-
item
.
sales_days_2
).
ToDayHome
();
var
sales_days_2_val
=
order_dates
.
Where
(
s
=>
s
.
paid_time
>=
sales_days_2_date
).
Sum
(
s
=>
s
.
bailun_sku_quantity_ordered
);
var
sales_days_14_date
=
DateTime
.
Now
.
AddDays
(
0
-
14
).
ToDayHome
();
var
sales_days_7_date
=
DateTime
.
Now
.
AddDays
(
0
-
7
).
ToDayHome
();
var
sales_days_30_date
=
DateTime
.
Now
.
AddDays
(
0
-
30
).
ToDayHome
();
var
temp_val
=
(
sales_days_1_val
*
item
.
sales_weight_1
)
+
(
sales_days_2_val
*
item
.
sales_weight_2
);
var
sales_days_7_val
=
order_dates
.
Where
(
s
=>
s
.
paid_time
>=
sales_days_7_date
).
Sum
(
s
=>
s
.
bailun_sku_quantity_ordered
);
var
sales_days_14_val
=
order_dates
.
Where
(
s
=>
s
.
paid_time
>=
sales_days_14_date
).
Sum
(
s
=>
s
.
bailun_sku_quantity_ordered
);
var
sales_days_30_val
=
order_dates
.
Where
(
s
=>
s
.
paid_time
>=
sales_days_30_date
).
Sum
(
s
=>
s
.
bailun_sku_quantity_ordered
);
if
(
temp_val
<
item
.
sales_average_upper_limit
)
{
var
new_data
=
new
dc_auto_return_goods_sku
{
approval_remarks
=
""
,
bailun_sku
=
itemSku
.
bailun_sku
,
monitor_status
=
""
,
config_id
=
item
.
id
,
config_name
=
item
.
title
,
create_date
=
DateTime
.
Now
,
no_library_sys_out_status
=
0
,
no_library_sys_push_status
=
0
,
oms_out_status
=
0
,
oms_push_status
=
0
,
retun_quantity
=
0
,
sales_average_14
=
order_dates
.
Where
(
s
=>
s
.
paid_time
>=
sales_days_14_date
).
Sum
(
s
=>
s
.
bailun_sku_quantity_ordered
),
sales_average_7
=
order_dates
.
Where
(
s
=>
s
.
paid_time
>=
sales_days_7_date
).
Sum
(
s
=>
s
.
bailun_sku_quantity_ordered
),
sales_average_weight
=
(
sales_days_7_val
*
0.5
M
)
+
(
sales_days_14_val
*
0.25
M
)
+
(
sales_days_30_val
*
0.25
M
),
sku_title
=
itemSku
.
sku_title
,
status
=
0
,
stock
=
itemSku
.
stock
,
stock_amount
=
itemSku
.
stock
*
itemSku
.
unit_price
,
unit_price
=
itemSku
.
unit_price
,
suppliers_id
=
itemSku
.
suppliers_id
,
suppliers_name
=
itemSku
.
suppliers_name
,
warehouse_code
=
itemSku
.
warehouse_code
,
warehouse_name
=
itemSku
.
warehouse_name
,
approval_date
=
new
DateTime
(
1991
,
1
,
1
)
};
conn
.
Insert
(
new_data
);
}
}
}
}
}
/// <summary>
/// 查询规则命中的sku
/// </summary>
/// <param name="conn"></param>
/// <param name="config"></param>
/// <returns></returns>
public
static
List
<
sku_dto
>
NewGetSkus
(
MySqlConnection
conn
,
dc_auto_return_goods_config
config
)
{
var
sql
=
@" select
t1.bailun_sku,
t1.warehouse_code,
t3.warehouse_name,
t2.sku_title_cn as 'sku_title',
t2.suppliers_id,
t2.suppliers_name,
t2.unit_price,
t1.usable_stock as 'stock'
from dc_base_stock as t1
left join dc_base_sku as t2 on t1.bailun_sku = t2.bailun_sku
left join dc_base_warehouse as t3 on t1.warehouse_code = t3.warehouse_code
left join dc_base_supplier as t4 on t2.suppliers_id = t4.sup_value
where t1.usable_stock>0
"
;
DynamicParameters
parameters
=
new
DynamicParameters
();
if
(!
string
.
IsNullOrWhiteSpace
(
config
.
warehouse_code
))
{
sql
+=
" and t1.warehouse_code =@warehouse_code "
;
parameters
.
Add
(
"warehouse_code"
,
config
.
warehouse_code
);
}
if
(!
string
.
IsNullOrWhiteSpace
(
config
.
bailun_skus
))
{
sql
+=
" and t1.bailun_skus in @bailun_skus "
;
parameters
.
Add
(
"bailun_skus"
,
config
.
bailun_skus
.
Split
(
','
).
ToList
());
}
if
(!
string
.
IsNullOrWhiteSpace
(
config
.
bailun_skus
))
{
sql
+=
" and t1.bailun_skus in @bailun_skus "
;
parameters
.
Add
(
"bailun_skus"
,
config
.
bailun_skus
.
Split
(
','
).
ToList
());
}
if
(
config
.
has_no_library
==
1
)
{
sql
+=
" and t4.nostock =1 "
;
}
if
(
config
.
has_return
==
1
)
{
sql
+=
" and t4.isaccept_refund =1 "
;
}
if
(
config
.
suppliers_id
>
0
)
{
sql
+=
" and t2.suppliers_id =@suppliers_id "
;
parameters
.
Add
(
"suppliers_id"
,
config
.
suppliers_id
);
}
if
(
config
.
first_inbound_days_min
>
0
)
{
sql
+=
" and t1.first_inbound_date <= @first_inbound_days_min "
;
parameters
.
Add
(
"first_inbound_days_min"
,
DateTime
.
Now
.
AddDays
(
0
-
(
int
)
config
.
first_inbound_days_min
));
}
if
(
config
.
first_inbound_days_max
>
0
)
{
sql
+=
" and t1.first_inbound_date >= @first_inbound_days_max "
;
parameters
.
Add
(
"first_inbound_days_max"
,
DateTime
.
Now
.
AddDays
(
0
-
(
int
)
config
.
first_inbound_days_max
));
}
return
conn
.
Query
<
sku_dto
>(
sql
,
parameters
).
AsList
();
}
}
}
}
}
AutoTurnOver.Models/dc_aims_return_goods.cs
0 → 100644
View file @
38004606
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
namespace
AutoTurnOver.Models
{
/// <summary>
/// 退货汇总
/// </summary>
public
class
dc_aims_return_goods
{
public
int
id
{
get
;
set
;
}
public
DateTime
date
{
get
;
set
;
}
public
string
rule_title
{
get
;
set
;
}
public
string
bailun_sku
{
get
;
set
;
}
public
string
warehouse_code
{
get
;
set
;
}
public
string
warehouse_name
{
get
;
set
;
}
public
decimal
stock
{
get
;
set
;
}
public
decimal
retuen_goods_count
{
get
;
set
;
}
public
string
buy_name
{
get
;
set
;
}
public
string
suppliers_name
{
get
;
set
;
}
public
decimal
unit_price
{
get
;
set
;
}
public
string
purchase_id
{
get
;
set
;
}
public
decimal
purchase_count
{
get
;
set
;
}
public
string
order_1688_no
{
get
;
set
;
}
public
DateTime
sign_date
{
get
;
set
;
}
public
DateTime
latest_return_date
{
get
;
set
;
}
public
string
return_addrs
{
get
;
set
;
}
public
decimal
confirm_return_count
{
get
;
set
;
}
}
}
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