Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Z
zhichan
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
蒋勇
zhichan
Commits
5e2cb18f
Commit
5e2cb18f
authored
Jan 19, 2020
by
孙亚楠
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dd
parent
16f0be9e
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
251 additions
and
32 deletions
+251
-32
xggsve-order/app/base/api/impl/op/action.js
+4
-1
xggsve-order/app/base/db/impl/order/oorderdeliverDao.js
+128
-0
xggsve-order/app/base/service/impl/order/oorderSve.js
+5
-5
xggsve-order/app/base/service/impl/order/oorderdeliverSve.js
+114
-26
No files found.
xggsve-order/app/base/api/impl/op/action.js
View file @
5e2cb18f
...
...
@@ -103,10 +103,13 @@ class ActionAPI extends APIBase {
case
"statDeliverData"
:
//交付商统计
opResult
=
await
this
.
oorderdeliverSve
.
statDeliverData
(
action_body
);
break
;
// 统计数据(
平台
)
// 统计数据(
交付商
)
case
"deliverStatTransData"
:
//交付商统计
opResult
=
await
this
.
oorderdeliverSve
.
deliverStatTransData
(
action_body
);
break
;
case
"businessManagement"
:
//业务办理
opResult
=
await
this
.
oorderdeliverSve
.
businessManagement
(
action_body
);
break
;
//******************************************************************** */
// // 订单
...
...
xggsve-order/app/base/db/impl/order/oorderdeliverDao.js
View file @
5e2cb18f
...
...
@@ -209,6 +209,133 @@ class OorderdeliverDao extends Dao {
return
result
;
}
/**
* 交付上数据概览
* @param {*} begin
* @param {*} end
*/
async
statDayByTime
(
begin
,
end
,
deliver_id
)
{
var
result
=
{};
var
sql
=
[];
sql
.
push
(
"SELECT"
);
sql
.
push
(
"DATE_FORMAT(a.created_at, '%Y-%m-%d') AS `day`, SUM(b.deliver_divide) AS orderPrice, COUNT(1) AS orderCount"
);
var
params
=
{
begin
:
begin
,
end
:
end
};
if
(
begin
)
{
sql
.
push
(
"AND a.created_at >= :begin"
);
}
if
(
end
)
{
sql
.
push
(
"AND a.created_at <= :end"
);
}
sql
.
push
(
"GROUP BY `day` ORDER BY `day` ASC"
);
var
list
=
await
this
.
customQuery
(
sql
.
join
(
" "
),
params
);
if
(
!
list
||
list
.
length
==
0
)
{
return
result
;
}
for
(
var
item
of
list
)
{
result
[
item
.
day
]
=
item
;
}
return
result
;
}
/**
* 平台数据概览
* @param {*} begin
* @param {*} end
*/
async
statOrderByTime
(
begin
,
end
,
deliver_id
)
{
var
result
=
{};
var
sql
=
[];
sql
.
push
(
"SELECT"
);
sql
.
push
(
`WHERE 1 = 1 and b.deliver_id = '
${
deliver_id
}
' and a.status="1180"`
);
var
params
=
{
begin
:
begin
,
end
:
end
};
if
(
begin
)
{
sql
.
push
(
"AND a.created_at >= :begin"
);
}
if
(
end
)
{
sql
.
push
(
"AND a.created_at <= :end"
);
}
sql
.
push
(
"GROUP BY `month` ORDER BY `month` ASC"
);
var
list
=
await
this
.
customQuery
(
sql
.
join
(
" "
),
params
);
if
(
!
list
||
list
.
length
==
0
)
{
return
result
;
}
for
(
var
idx
=
0
;
idx
<
list
.
length
;
idx
++
)
{
var
item
=
list
[
idx
];
result
[
item
.
month
]
=
item
;
if
(
idx
==
0
)
{
result
.
begin
=
item
.
month
;
}
if
(
idx
==
list
.
length
-
1
)
{
result
.
end
=
item
.
month
;
}
}
return
result
;
}
/**
* 完成订单
* @param {*} begin
* @param {*} end
* @param {*} deliver_id
*/
async
orderComplete
(
begin
,
end
,
deliver_id
){
var
sql
=
[];
sql
.
push
(
"SELECT count(1) as count from o_order a inner join o_order_deliver b on a.deliver_id = b.id"
);
sql
.
push
(
`WHERE 1 = 1 and b.deliver_id = '
${
deliver_id
}
' and a.status="1180"`
);
var
params
=
{
begin
:
begin
,
end
:
end
};
if
(
begin
)
{
sql
.
push
(
"AND a.created_at >= :begin"
);
}
if
(
end
)
{
sql
.
push
(
"AND a.created_at <= :end"
);
}
return
await
this
.
customQuery
(
sql
.
join
(
" "
),
params
);
}
/**
* 订单办理中
* @param {*} begin
* @param {*} end
* @param {*} deliver_id
*/
async
orderHanding
(
begin
,
end
,
deliver_id
){
var
sql
=
[];
sql
.
push
(
"SELECT count(1) as count from o_order a inner join o_order_deliver b on a.deliver_id = b.id"
);
sql
.
push
(
`WHERE 1 = 1 and b.deliver_id = '
${
deliver_id
}
'`
);
var
params
=
{
begin
:
begin
,
end
:
end
};
if
(
begin
)
{
sql
.
push
(
"AND a.created_at >= :begin"
);
}
if
(
end
)
{
sql
.
push
(
"AND a.created_at <= :end"
);
}
sql
.
push
(
`AND a.status in (
${
this
.
ORDER_HANDING
}
) `
);
return
await
this
.
customQuery
(
sql
.
join
(
" "
),
params
);
}
}
module
.
exports
=
OorderdeliverDao
;
\ No newline at end of file
xggsve-order/app/base/service/impl/order/oorderSve.js
View file @
5e2cb18f
...
...
@@ -461,7 +461,7 @@ class OorderService extends ServiceBase {
* @param {*} params
*/
async
statTransData
(
params
)
{
if
(
!
params
.
current
D
ate
)
{
if
(
!
params
.
current
_d
ate
)
{
return
system
.
getResult
(
null
,
`参数错误 当前时间不能为空`
);
}
try
{
...
...
@@ -471,7 +471,7 @@ class OorderService extends ServiceBase {
};
var
begin
,
end
;
// 取开始时间和结束时间
begin
=
moment
(
params
.
current
D
ate
).
format
(
"YYYY-MM"
)
+
"-01 00:00:00"
;
begin
=
moment
(
params
.
current
_d
ate
).
format
(
"YYYY-MM"
)
+
"-01 00:00:00"
;
end
=
moment
(
begin
).
add
(
1
,
"months"
).
subtract
(
1
,
'days'
).
format
(
"YYYY-MM-DD"
)
+
" 23:59:59"
;
// echart数据 开始
...
...
@@ -528,7 +528,7 @@ class OorderService extends ServiceBase {
async
needToBeDealtWith
(
params
)
{
try
{
let
begin
,
end
;
begin
=
moment
(
params
.
current
D
ate
).
format
(
"YYYY-MM"
)
+
"-01 00:00:00"
;
begin
=
moment
(
params
.
current
_d
ate
).
format
(
"YYYY-MM"
)
+
"-01 00:00:00"
;
end
=
moment
(
begin
).
add
(
1
,
"months"
).
subtract
(
1
,
'days'
).
format
(
"YYYY-MM-DD"
)
+
" 23:59:59"
;
//已经完成
let
orderComplete
=
await
this
.
dao
.
model
.
count
({
...
...
@@ -582,12 +582,12 @@ class OorderService extends ServiceBase {
* @param {*} params
*/
async
deliverData
(
params
){
if
(
!
params
.
current
D
ate
){
if
(
!
params
.
current
_d
ate
){
return
system
.
getResult
(
null
,
`参数错误 当前时间不能为空`
);
}
try
{
let
begin
,
end
;
begin
=
moment
(
params
.
current
D
ate
).
format
(
"YYYY-MM"
)
+
"-01 00:00:00"
;
begin
=
moment
(
params
.
current
_d
ate
).
format
(
"YYYY-MM"
)
+
"-01 00:00:00"
;
end
=
moment
(
begin
).
add
(
1
,
"months"
).
subtract
(
1
,
'days'
).
format
(
"YYYY-MM-DD"
)
+
" 23:59:59"
;
let
deliverDataList
=
await
this
.
dao
.
deliverData
(
begin
,
end
);
return
system
.
getResult
(
deliverDataList
);
...
...
xggsve-order/app/base/service/impl/order/oorderdeliverSve.js
View file @
5e2cb18f
...
...
@@ -26,43 +26,43 @@ class OorderdeliverService extends ServiceBase {
* @status String 订单状态
* @operator_id String 交付商业务员
*/
async
orderDelivers
(
params
){
async
orderDelivers
(
params
)
{
let
where
=
{};
if
(
params
.
deliver_id
)
{
if
(
params
.
deliver_id
)
{
where
.
deliver_id
=
this
.
trim
(
params
.
deliver_id
);
}
else
{
return
system
.
getResult
(
null
,
`参数错误 交付商ID不能为空`
);
}
else
{
return
system
.
getResult
(
null
,
`参数错误 交付商ID不能为空`
);
}
//交付商订单表条件
if
(
params
.
createdBegin
&&
params
.
createdEnd
)
{
if
(
params
.
createdBegin
&&
params
.
createdEnd
)
{
where
.
createdBegin
=
this
.
trim
(
params
.
createdBegin
);
where
.
createdEnd
=
this
.
trim
(
params
.
createdEnd
);
}
if
(
params
.
operator_id
)
{
if
(
params
.
operator_id
)
{
where
.
operator_id
=
this
.
trim
(
params
.
operator_id
);
}
//下面是订单条件
if
(
params
.
id
)
{
if
(
params
.
id
)
{
where
.
id
=
this
.
trim
(
params
.
id
);
}
if
(
params
.
status
)
{
if
(
params
.
status
)
{
where
.
status
=
this
.
trim
(
params
.
status
);
}
if
(
params
.
order_id
)
{
if
(
params
.
order_id
)
{
where
.
order_id
=
this
.
trim
(
params
.
order_id
);
}
where
.
currentPage
=
Number
(
params
.
currentPage
||
1
);
where
.
pageSize
=
Number
(
params
.
pageSize
||
10
);
where
.
startRow
=
(
where
.
currentPage
-
1
)
*
where
.
pageSize
;
where
.
startRow
=
(
where
.
currentPage
-
1
)
*
where
.
pageSize
;
try
{
let
ordersCountRes
=
await
this
.
dao
.
ordersdeliverCount
(
where
);
let
count
=
ordersCountRes
[
0
][
'orderCount'
];
if
(
count
==
0
)
{
return
system
.
getResult
({
count
:
0
,
rows
:[]
});
if
(
count
==
0
)
{
return
system
.
getResult
({
count
:
0
,
rows
:
[]
});
}
let
rows
=
await
this
.
dao
.
findOrders
(
where
);
//格式化订单状态
...
...
@@ -71,16 +71,16 @@ class OorderdeliverService extends ServiceBase {
await
this
.
formateServiceItems
(
rows
);
for
(
var
row
of
rows
)
{
this
.
handleDate
(
row
,
[
"created_at"
,
"completed_at"
],
"YYYY-MM-DD HH:mm:ss"
,
-
8
);
this
.
handleDate
(
row
,
[
"created_at"
,
"completed_at"
],
"YYYY-MM-DD HH:mm:ss"
,
-
8
);
}
let
res
=
{
count
,
rows
count
,
rows
};
return
system
.
getResult
(
res
);
}
catch
(
error
)
{
console
.
log
(
error
);
return
system
.
getResult
(
null
,
`系统错误 错误信息
${
error
}
`
);
return
system
.
getResult
(
null
,
`系统错误 错误信息
${
error
}
`
);
}
}
...
...
@@ -152,24 +152,24 @@ class OorderdeliverService extends ServiceBase {
* 平台数据概览(交付商数据)
* @param {*} params
*/
async
statDeliverData
(
params
){
if
(
!
params
.
currentDate
)
{
return
system
.
getResult
(
null
,
`参数错误 当前时间不能为空`
);
async
statDeliverData
(
params
)
{
if
(
!
params
.
currentDate
)
{
return
system
.
getResult
(
null
,
`参数错误 当前时间不能为空`
);
}
try
{
let
begin
,
end
;
begin
=
moment
(
params
.
currentDate
).
format
(
"YYYY-MM"
)
+
"-01 00:00:00"
;
end
=
moment
(
begin
).
add
(
1
,
"months"
).
subtract
(
1
,
'days'
).
format
(
"YYYY-MM-DD"
)
+
" 23:59:59"
;
let
deliverList
=
await
this
.
dao
.
deliverList
(
begin
,
end
);
let
deliverList
=
await
this
.
dao
.
deliverList
(
begin
,
end
);
let
deliverSet
=
new
Set
();
for
(
let
item
of
deliverList
)
{
deliverSet
.
add
(
item
.
deliver_id
);
}
let
_deliverArr
=
Array
.
from
(
deliverSet
);
let
orderCompletes
=
await
this
.
dao
.
orderCompletesCount
(
_deliverArr
,
begin
,
end
);
let
orderHanding
=
await
this
.
dao
.
orderHandingCount
(
_deliverArr
,
begin
,
end
);
let
orderCompletes
=
await
this
.
dao
.
orderCompletesCount
(
_deliverArr
,
begin
,
end
);
let
orderHanding
=
await
this
.
dao
.
orderHandingCount
(
_deliverArr
,
begin
,
end
);
for
(
let
item
of
deliverList
)
{
item
.
order_complete_count
=
orderCompletes
[
item
.
deliver_id
];
item
.
order_handing_count
=
orderHanding
[
item
.
deliver_id
];
...
...
@@ -185,10 +185,98 @@ class OorderdeliverService extends ServiceBase {
* 交付商订单统计
* @param {*} params
*/
async
deliverStatTransData
(
params
){
async
deliverStatTransData
(
params
)
{
if
(
!
params
.
current_date
)
{
return
system
.
getResult
(
null
,
`参数错误 当前时间不能为空`
);
}
if
(
!
params
.
deliver_id
)
{
return
system
.
getResult
(
null
,
`参数错误 交付商不能为空`
);
}
try
{
var
result
=
{
orderCount
:
0
,
orderPrice
:
0
,
};
var
begin
,
end
;
// 取开始时间和结束时间
begin
=
moment
(
params
.
current_date
).
format
(
"YYYY-MM"
)
+
"-01 00:00:00"
;
end
=
moment
(
begin
).
add
(
1
,
"months"
).
subtract
(
1
,
'days'
).
format
(
"YYYY-MM-DD"
)
+
" 23:59:59"
;
// echart数据 开始
var
days
=
[];
var
dayCounts
=
[];
var
priceCounts
=
[];
// 处理查询业务
days
=
this
.
getDays
(
end
);
// 按天统计
var
dayMap
=
await
this
.
dao
.
statDayByTime
(
begin
,
end
,
this
.
trim
(
params
.
deliver_id
));
for
(
var
day
of
days
)
{
var
ditem
=
dayMap
[
day
]
||
{};
dayCounts
.
push
(
ditem
.
orderCount
||
0
);
priceCounts
.
push
(
system
.
f2y
(
ditem
.
orderPrice
||
0
));
}
//echart数据 结束
//当月订单的数量统计和订单总金额
var
orderData
=
await
this
.
dao
.
statOrderByTime
(
begin
,
end
,
this
.
trim
(
params
.
deliver_id
))
||
{};
result
.
orderCount
=
orderData
[
orderData
.
begin
][
"orderCount"
];
result
.
orderPrice
=
system
.
f2y
(
orderData
[
orderData
.
begin
][
"orderPrice"
]);
result
.
days
=
days
;
result
.
dayCounts
=
dayCounts
;
result
.
priceCounts
=
priceCounts
;
return
system
.
getResult
(
result
);
}
catch
(
error
)
{
console
.
log
(
error
);
return
system
.
getResult
(
null
,
`系统错误 错误信息
${
error
}
`
);
}
}
getDays
(
end
)
{
var
days
=
[];
var
month
=
moment
(
end
).
format
(
"YYYY-MM"
);
var
endDay
=
Number
(
moment
(
end
).
format
(
"DD"
));
for
(
var
i
=
1
;
i
<=
endDay
;
i
++
)
{
if
(
i
<
10
)
{
days
.
push
(
month
+
"-0"
+
i
);
}
else
{
days
.
push
(
month
+
"-"
+
i
);
}
}
return
days
;
}
/**
* 业务办理
* @param {*} params
*/
async
businessManagement
(
params
)
{
if
(
!
params
.
current_date
)
{
return
system
.
getResult
(
null
,
`参数错误 当前时间不能为空`
);
}
if
(
!
params
.
deliver_id
)
{
return
system
.
getResult
(
null
,
`参数错误 交付商不能为空`
);
}
try
{
var
begin
,
end
;
// 取开始时间和结束时间
begin
=
moment
(
params
.
current_date
).
format
(
"YYYY-MM"
)
+
"-01 00:00:00"
;
end
=
moment
(
begin
).
add
(
1
,
"months"
).
subtract
(
1
,
'days'
).
format
(
"YYYY-MM-DD"
)
+
" 23:59:59"
;
//已经完成
let
orderCompleteRes
=
await
this
.
dao
.
orderComplete
(
begin
,
end
,
this
.
trim
(
params
.
deliver_id
));
//办理中
let
orderHandlingRes
=
await
this
.
dao
.
orderHanding
(
begin
,
end
,
this
.
trim
(
params
.
deliver_id
));
return
system
.
getResult
({
orderCompleteCount
:
orderCompleteRes
[
0
][
'count'
],
orderHandlingCount
:
orderHandlingRes
[
0
][
"count"
]
});
}
catch
(
error
)
{
console
.
log
(
error
);
return
system
.
getResult
(
error
);
}
}
}
...
...
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