Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
DataCenter_Core2.1_20190520
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
DataCenter_Core2.1_20190520
Commits
d93bd6f9
Commit
d93bd6f9
authored
Aug 24, 2021
by
zhouminghui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
adjustment
parent
6401d11e
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
199 additions
and
29 deletions
+199
-29
MonthProfitOrderDetailPageInputDto.cs
...Models/Dtos/Finance/MonthProfitOrderDetailPageInputDto.cs
+1
-0
AddExprotTaskInput.cs
Bailun.DC.Models/WebApiModels/AddExprotTaskInput.cs
+14
-0
dc_exprot_task.cs
Bailun.DC.Models/dc_exprot_task.cs
+45
-0
dc_month_sales_profit_orderdetail.cs
Bailun.DC.Models/dc_month_sales_profit_orderdetail.cs
+10
-0
FinanceService.cs
Bailun.DC.Services/WebApiService/FinanceService.cs
+92
-13
Services.cs
Bailun.DC.SyncMonthSalesProfitNew/Services.cs
+13
-2
FinanceController.cs
Bailun.DC.WebApi/Controllers/FinanceController.cs
+24
-14
No files found.
Bailun.DC.Models/Dtos/Finance/MonthProfitOrderDetailPageInputDto.cs
View file @
d93bd6f9
...
...
@@ -28,5 +28,6 @@ namespace Bailun.DC.Models.Dtos.Finance
/// 是否分页
/// </summary>
public
bool
IsPages
{
get
;
set
;
}
=
true
;
public
bool
IsCost
{
get
;
set
;
}
=
false
;
}
}
Bailun.DC.Models/WebApiModels/AddExprotTaskInput.cs
0 → 100644
View file @
d93bd6f9
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
namespace
Bailun.DC.Models.WebApiModels
{
public
class
AddExprotTaskInput
{
public
string
TaskTitle
{
get
;
set
;
}
public
string
TaskType
{
get
;
set
;
}
public
string
TaskJson
{
get
;
set
;
}
public
string
CreateName
{
get
;
set
;
}
}
}
Bailun.DC.Models/dc_exprot_task.cs
0 → 100644
View file @
d93bd6f9
using
System
;
using
System.Collections.Generic
;
using
System.ComponentModel
;
using
System.Text
;
namespace
Bailun.DC.Models
{
public
class
dc_exprot_task
{
public
int
id
{
get
;
set
;
}
public
string
task_title
{
get
;
set
;
}
public
string
task_type
{
get
;
set
;
}
public
TaskTypeEnum
task_status
{
get
;
set
;
}
public
string
task_json
{
get
;
set
;
}
public
string
task_result
{
get
;
set
;
}
public
DateTime
?
start_date
{
get
;
set
;
}
public
DateTime
?
end_date
{
get
;
set
;
}
public
string
create_user
{
get
;
set
;
}
public
DateTime
?
create_date
{
get
;
set
;
}
}
public
enum
TaskTypeEnum
{
/// <summary>
/// 失败
/// </summary>
[
Description
(
"失败"
)]
Fail
=
0
,
/// <summary>
/// 未开始
/// </summary>
[
Description
(
"未开始"
)]
NotStarted
=
1
,
/// <summary>
/// 进行中
/// </summary>
[
Description
(
"进行中"
)]
InProgress
=
2
,
/// <summary>
/// 完成
/// </summary>
[
Description
(
"完成"
)]
Complete
=
3
,
}
}
Bailun.DC.Models/dc_month_sales_profit_orderdetail.cs
View file @
d93bd6f9
using
System
;
using
System.Collections.Generic
;
using
System.ComponentModel.DataAnnotations.Schema
;
using
System.Text
;
namespace
Bailun.DC.Models
...
...
@@ -46,6 +47,7 @@ namespace Bailun.DC.Models
/// <summary>
/// 产品销售额 人民币
/// </summary>
[
NotMapped
]
public
decimal
amount_sales_rmb
{
get
...
...
@@ -60,6 +62,14 @@ namespace Bailun.DC.Models
/// </summary>
public
decimal
cost_product
{
get
;
set
;
}
[
NotMapped
]
public
decimal
cost_product_total
{
get
{
return
cost_product
*
quantity_shipped
;
}
}
/// <summary>
/// 平台费 原币 ,ebay 取other汇率
...
...
Bailun.DC.Services/WebApiService/FinanceService.cs
View file @
d93bd6f9
...
...
@@ -510,7 +510,7 @@ SUM(t1.amount_sales * t1.seller_order_exchange_rate * t1.quantity_shipped) AS to
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public
CommonApiResponseDto
<
MonthProfitOrderDetailPageOutputDto
>
GetMonthProfitOrderDetailPage
(
MonthProfitOrderDetailPageInputDto
input
)
public
CommonApiResponseDto
<
MonthProfitOrderDetailPageOutputDto
>
GetMonthProfitOrderDetailPage
(
MonthProfitOrderDetailPageInputDto
input
)
{
var
result
=
new
CommonApiResponseDto
<
MonthProfitOrderDetailPageOutputDto
>
{
Data
=
new
MonthProfitOrderDetailPageOutputDto
()
};
var
sqlWhere
=
BuildMonthSalesProfitOrderdetailPageQuerySqlWhere
(
input
,
out
DynamicParameters
parameters
);
...
...
@@ -707,6 +707,8 @@ SUM(t1.amount_sales * t1.seller_order_exchange_rate * t1.quantity_shipped) AS to
}
}
}
/// <summary>
/// 月销售利润管理成本明细
/// </summary>
...
...
@@ -760,30 +762,46 @@ SUM(t1.amount_sales * t1.seller_order_exchange_rate * t1.quantity_shipped) AS to
sql
.
Append
(
@"select amount as Amount,amount_rmb as AmountRmb,company_name as CompanyName,
dic as Currency,department_name as DepartmentName,type_name as TypeName,
cost_no as FeeId,accounting_subject_name as Accounting,bank_company as ReceiveUnit,
cost_reason as CostReason,cost_remark as CostRemark,pay_time
cost_reason as CostReason,cost_remark as CostRemark,pay_time
,is_lend,lend_balance,cost_form
from dc_base_finance_fee where cost_status=4 and (is_lend is null or is_lend=1 or (is_lend=2 and lend_balance>0)
or (is_lend=2 and cost_form=1)) and pay_time>= @start and pay_time< @end "
);
parameters
.
Add
(
"start"
,
start
);
parameters
.
Add
(
"end"
,
end
);
if
(
feeName
.
Contains
(
"其中:歌戈儿收入"
))
{
sql
.
Append
(
" and company_name like '%歌戈儿%' and type_name
='销售收入'
"
);
sql
.
Append
(
" and company_name like '%歌戈儿%' and type_name
not in ('销售收入','收款')
"
);
}
else
if
(
feeName
.
Contains
(
"广州歌戈儿生活科技有限公司"
))
{
sql
.
Append
(
" and company_name like '%歌戈儿%' "
);
//sql.Append(" and (company_name like '%歌戈儿%' and (type_name!='销售收入' and type_name!='出口退税款')) ");
sql
.
Append
(
" and company_name like '%歌戈儿%' and type_name not in ('还款','收款','借款','销售收入') "
);
return
sql
.
ToString
();
}
else
if
(
feeName
.
Contains
(
"香港百伦科技有限公司"
))
{
sql
.
Append
(
" and company_name = @feeName and type_name not in ('物流费','销售费用/物流费','收款') "
);
}
else
if
(
feeName
.
Contains
(
"广州百伦供应链科技有限公司"
))
{
sql
.
Append
(
" and company_name like '广州百伦供应链科技有限公司%' and type_name not in ('还款','收款','出口退税款') "
);
return
sql
.
ToString
();
}
else
if
(
feeName
.
Contains
(
"电子服装仓"
))
{
sql
.
Append
(
" and company_name = @feeName and type_name not in ('还款') "
);
}
else
if
(
feeName
.
Contains
(
"阳山仓"
))
{
sql
.
Append
(
" and company_name = @feeName and type_name not in ('收款') "
);
}
else
if
(
feeName
.
Contains
(
"广州崇瑜信息技术咨询有限公司"
))
{
sql
.
Append
(
" and company_name = @feeName and type_name not in ('服务费') "
);
}
//else if (feeName.Contains("广州电子服装仓&阳山"))
//{
// sql.Append(" and (company_name in ('广州电子服装仓','阳山仓') and type_name!='出口退税款') ");
//}
else
{
//sql.Append(" and (company_name =@feeName and type_name!='出口退税款') ");
sql
.
Append
(
" and company_name =@feeName "
);
parameters
.
Add
(
"feeName"
,
feeName
);
sql
.
Append
(
" and company_name = @feeName "
);
}
parameters
.
Add
(
"feeName"
,
feeName
);
return
sql
.
ToString
();
}
/// <summary>
...
...
@@ -1304,7 +1322,7 @@ AND financecategoryname LIKE '{financecategory.Replace("产品", "")}%' ";
}
}
}
Console
.
WriteLine
(
$"
{
DateTime
.
Now
}
开始生成利润报表汇总数据
"
);
Console
.
WriteLine
(
$"
{
DateTime
.
Now
}
利润报表汇总数据完成
"
);
}
return
true
;
}
...
...
@@ -1399,5 +1417,66 @@ AND platform_type = '{item.platform_type}' AND financecategoryname = '{item.fina
}
}
#
endregion
#
region
导出
public
bool
AddExprotTask
(
AddExprotTaskInput
input
)
{
try
{
//TODO:添加一条为未执行的任务到数据库
var
model
=
new
dc_exprot_task
();
model
.
create_user
=
input
.
CreateName
;
model
.
task_json
=
input
.
TaskJson
;
model
.
task_title
=
input
.
TaskTitle
;
model
.
task_type
=
input
.
TaskType
;
model
.
task_status
=
TaskTypeEnum
.
NotStarted
;
model
.
create_date
=
DateTime
.
Now
;
using
(
var
cn
=
new
MySqlConnection
(
GlobalConfig
.
ConnectionString
))
{
if
(
cn
.
State
==
ConnectionState
.
Closed
)
{
cn
.
Open
();
}
cn
.
Insert
(
model
);
}
return
true
;
}
catch
(
Exception
e
)
{
Console
.
WriteLine
(
$"添加导出任务失败:
{
e
.
Message
}
"
);
return
false
;
}
}
public
void
SyncExprotTask
()
{
//TODO:获取需要导出的任务
var
sql
=
"SELECT * FROM de_exprot_task WHERE task_status = 1 "
;
var
exprotTask
=
SimpleCRUD
.
Query
<
dc_exprot_task
>(
sql
,
null
,
GlobalConfig
.
ConnectionString
).
ToList
();
foreach
(
var
item
in
exprotTask
)
{
//TODO:根据任务进行区分生成文件到服务器
switch
(
item
.
task_type
)
//task_type和前端约定好的
{
case
""
:
break
;
default
:
break
;
}
//TODO:上传文件到七牛云
//TODO:保存七牛云返回的链接到导出任务并更新任务为执行完成状态
}
}
private
string
MonthProfitOrderDetailPageInputDto
()
{
//MonthProfitOrderDetailPageInputDto
return
""
;
}
//var filepath = Directory.GetCurrentDirectory() + "\\Files\\Report\\" + DateTime.Now.ToString("yyyyMMdd") + "\\";
//var filename = $"亚马逊{month.Month}月凭证" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
//ExcelHelper.DataTableToExcel(table, filepath + filename, true);
#
endregion
}
}
Bailun.DC.SyncMonthSalesProfitNew/Services.cs
View file @
d93bd6f9
...
...
@@ -32,8 +32,15 @@ namespace Bailun.DC.SyncMonthSalesProfitNew
if
(
now
.
Hour
==
1
)
{
Console
.
WriteLine
(
"同步月利润销售报告开始启动 "
+
DateTime
.
Now
.
ToString
(
"yyyy-MM-dd HH:mm:ss"
));
new
FinanceService
().
SyncMonthSalesProfit
(
""
);
Console
.
WriteLine
(
"同步月利润销售报告任务运行完成 "
+
DateTime
.
Now
.
ToString
(
"yyyy-MM-dd HH:mm:ss"
));
var
result
=
Init
();
if
(
result
)
{
Console
.
WriteLine
(
"同步月利润销售报告任务运行完成 "
+
DateTime
.
Now
.
ToString
(
"yyyy-MM-dd HH:mm:ss"
));
}
else
{
Console
.
WriteLine
(
$"同步月利润销售报告任务出现了bug,程序返回结果【
{
result
}
】"
+
DateTime
.
Now
.
ToString
(
"yyyy-MM-dd HH:mm:ss"
));
}
}
else
if
(
now
.
Hour
==
2
)
{
...
...
@@ -51,5 +58,9 @@ namespace Bailun.DC.SyncMonthSalesProfitNew
Console
.
WriteLine
(
$"同步月销售利润错误,堆栈信息:
{
ex
.
Message
}
"
);
}
}
private
bool
Init
()
{
return
new
FinanceService
().
SyncMonthSalesProfit
(
""
);
}
}
}
Bailun.DC.WebApi/Controllers/FinanceController.cs
View file @
d93bd6f9
...
...
@@ -364,11 +364,23 @@ namespace Bailun.DC.WebApi.Controllers
{
input
.
IsPages
=
false
;
var
dataList
=
new
FinanceService
().
GetMonthProfitOrderDetailPage
(
input
).
Data
.
Items
;
var
colNames
=
new
List
<
string
>
{
"财务分类"
,
"平台类型"
,
"订单号"
,
"SKU"
,
"销售额(原币)"
,
"销售额RMB"
,
"汇率"
,
"发货量"
,
"发货时间"
,
"创建时间"
}
;
var
colNames
=
new
List
<
string
>
()
;
var
list
=
new
List
<
string
>();
foreach
(
var
item
in
dataLi
st
)
if
(!
input
.
IsCo
st
)
{
list
.
Add
(
$"
{
item
.
financecategoryname
}
|
{
item
.
platform_type
}
|
{
item
.
origin_order_id
}
|
{
item
.
bailun_sku
}
|
{
item
.
amount_sales
}
|
{
item
.
amount_sales_rmb
}
|
{
item
.
seller_order_exchange_rate
}
|
{
item
.
quantity_shipped
}
|
{
item
.
shipping_time
.
ToString
(
"yyyy-MM-dd HH:mm:ss"
)}
|
{
item
.
createtime
.
ToString
(
"yyyy-MM-dd HH:mm:ss"
)}
"
);
colNames
.
AddRange
(
new
List
<
string
>
{
"财务分类"
,
"平台类型"
,
"订单号"
,
"SKU"
,
"销售额(原币)"
,
"销售额RMB"
,
"汇率"
,
"发货量"
,
"发货时间"
,
"创建时间"
});
foreach
(
var
item
in
dataList
)
{
list
.
Add
(
$"
{
item
.
financecategoryname
}
|
{
item
.
platform_type
}
|
{
item
.
origin_order_id
}
|
{
item
.
bailun_sku
}
|
{
item
.
amount_sales
}
|
{
item
.
amount_sales_rmb
}
|
{
item
.
seller_order_exchange_rate
}
|
{
item
.
quantity_shipped
}
|
{
item
.
shipping_time
.
ToString
(
"yyyy-MM-dd HH:mm:ss"
)}
|
{
item
.
createtime
.
ToString
(
"yyyy-MM-dd HH:mm:ss"
)}
"
);
}
}
else
{
colNames
.
AddRange
(
new
List
<
string
>
{
"财务分类"
,
"平台类型"
,
"订单号"
,
"SKU"
,
"成本 "
,
"总成本"
,
"汇率"
,
"发货量"
,
"发货时间"
,
"创建时间"
});
foreach
(
var
item
in
dataList
)
{
list
.
Add
(
$"
{
item
.
financecategoryname
}
|
{
item
.
platform_type
}
|
{
item
.
origin_order_id
}
|
{
item
.
bailun_sku
}
|
{
item
.
cost_product
}
|
{
item
.
cost_product_total
}
|
{
item
.
seller_order_exchange_rate
}
|
{
item
.
quantity_shipped
}
|
{
item
.
shipping_time
.
ToString
(
"yyyy-MM-dd HH:mm:ss"
)}
|
{
item
.
createtime
.
ToString
(
"yyyy-MM-dd HH:mm:ss"
)}
"
);
}
}
var
guid
=
Guid
.
NewGuid
().
ToString
();
var
filepath
=
_hostingEnvironment
.
WebRootPath
+
"\\Files\\Report\\"
+
DateTime
.
Now
.
ToString
(
"yyyy-MM-dd"
)
+
"\\"
;
...
...
@@ -562,18 +574,16 @@ namespace Bailun.DC.WebApi.Controllers
[
HttpGet
(
"syncMonthSalesProfiOrderDetail"
)]
public
bool
SyncMonthSalesProfiOrderDetail
(
string
date
)
=>
new
FinanceService
().
SyncMonthSalesProfiOrderDetail
(
date
);
[
HttpGet
(
"testRedis"
)]
public
object
TestRedis
()
/// <summary>
/// 添加导出任务
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[
HttpPost
(
"addExportTask"
)]
public
object
AddExportTask
(
AddExprotTaskInput
input
)
{
try
{
Bailun
.
DC
.
Common
.
RedisHelper
.
Add
(
"test0819"
,
"test add redis"
);
return
Bailun
.
DC
.
Common
.
RedisHelper
.
GetString
(
"test0819"
);
}
catch
(
Exception
e
)
{
return
e
;
}
input
.
CreateName
=
HttpContext
.
User
.
GetUserName
();
return
new
FinanceService
().
AddExprotTask
(
input
);
}
#
endregion
}
...
...
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