Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
tl_estate
Project
Project
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
hujun
tl_estate
Commits
3471ac49
Commit
3471ac49
authored
Mar 25, 2018
by
clone
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
业绩
parent
ba20d46e
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
203 additions
and
28 deletions
+203
-28
Performance.php
application/api_broker/controller/Performance.php
+20
-0
PerformanceService.php
application/api_broker/service/PerformanceService.php
+131
-22
VerifyService.php
application/api_broker/service/VerifyService.php
+1
-1
GHouses.php
application/model/GHouses.php
+17
-0
OBargainModel.php
application/model/OBargainModel.php
+10
-1
TAgentTotalModel.php
application/model/TAgentTotalModel.php
+8
-4
Users.php
application/model/Users.php
+15
-0
route.php
application/route.php
+1
-0
No files found.
application/api_broker/controller/Performance.php
View file @
3471ac49
...
@@ -146,4 +146,24 @@ class Performance extends Basic
...
@@ -146,4 +146,24 @@ class Performance extends Basic
}
}
}
}
public
function
storeOrAgentSort
(){
$params
=
$this
->
params
;
$params
=
array
(
"agent_id"
=>
1
,
"start_time"
=>
"2018-03-10"
,
"end_time"
=>
"2018-03-23"
,
);
if
(
!
isset
(
$params
[
"agent_id"
])
||
!
isset
(
$params
[
"start_time"
])
||
!
isset
(
$params
[
"end_time"
]))
{
return
$this
->
response
(
"101"
,
"请求参数错误"
);
}
try
{
$result
=
$this
->
service_
->
storeSortByDistrictId
(
$params
[
"agent_id"
],
$params
[
"start_time"
],
$params
[
"end_time"
]);
return
$this
->
response
(
"200"
,
"request success"
,
$result
);
}
catch
(
Exception
$exception
)
{
return
$this
->
response
(
"101"
,
"request error,msg:"
.
$exception
);
}
}
}
}
application/api_broker/service/PerformanceService.php
View file @
3471ac49
...
@@ -65,7 +65,9 @@ class PerformanceService
...
@@ -65,7 +65,9 @@ class PerformanceService
$where_
[
'total_time'
]
=
array
(
'between'
,
array
(
$end_day
,
$yesterday
)
);
$where_
[
'total_time'
]
=
array
(
'between'
,
array
(
$end_day
,
$yesterday
)
);
$result
=
$this
->
totalModel
->
getTotalByAgentId
(
$where_
,
$type
);
$field
=
"agent_id,store_id,district_id,sum(performance) as performance_total"
;
$order
=
"performance_total desc"
;
$result
=
$this
->
totalModel
->
getTotalByAgentId
(
$field
,
$where_
,
$type
,
$order
);
//dump($result);
//dump($result);
$arr
=
[];
$arr
=
[];
$field
=
"a.name,a.img,b.store_name,c.district_name"
;
$field
=
"a.name,a.img,b.store_name,c.district_name"
;
...
@@ -147,11 +149,7 @@ class PerformanceService
...
@@ -147,11 +149,7 @@ class PerformanceService
*/
*/
public
function
personagePerformance
(
$agent_id
,
$start_time
,
$end_time
,
$is_case
,
$house_id
)
public
function
personagePerformance
(
$agent_id
,
$start_time
,
$end_time
,
$is_case
,
$house_id
)
{
{
$field
=
"agent_id,sum(look_at_num) as look_at_num,sum(march_in_num) as march_in_num , sum(paylog) as paylog ,
sum(bargain_sum) as bargain_sum"
;
$result
=
[];
$result
=
[];
switch
(
$is_case
)
{
switch
(
$is_case
)
{
case
1
:
case
1
:
$now_date
=
date
(
"Y-m-d"
,
time
());
$now_date
=
date
(
"Y-m-d"
,
time
());
...
@@ -160,6 +158,9 @@ class PerformanceService
...
@@ -160,6 +158,9 @@ class PerformanceService
$params
[
'create_time'
]
=
array
(
'between'
,
array
(
$start_time
.
" 00:00:00"
,
$end_time
.
" 23:59:59"
)
);
$params
[
'create_time'
]
=
array
(
'between'
,
array
(
$start_time
.
" 00:00:00"
,
$end_time
.
" 23:59:59"
)
);
$result
=
$this
->
nowTimeSum
(
$params
);
$result
=
$this
->
nowTimeSum
(
$params
);
}
else
{
}
else
{
$field
=
"agent_id,sum(look_at_num) as look_at_num,sum(march_in_num) as march_in_num , sum(paylog) as paylog ,
sum(bargain_sum) as bargain_sum"
;
$where_
[
"agent_id"
]
=
$agent_id
;
$where_
[
"agent_id"
]
=
$agent_id
;
$where_
[
'total_time'
]
=
array
(
'between'
,
array
(
$start_time
,
$end_time
)
);
$where_
[
'total_time'
]
=
array
(
'between'
,
array
(
$start_time
,
$end_time
)
);
...
@@ -235,7 +236,7 @@ class PerformanceService
...
@@ -235,7 +236,7 @@ class PerformanceService
break
;
break
;
}
}
$result
=
$this
->
getOrderList
(
$params
,
$type
);
$result
=
$this
->
getOrderList
(
$params
,
$type
);
if
(
count
(
$result
)
>
0
)
{
if
(
count
(
$result
)
>
0
)
{
return
$result
;
return
$result
;
}
else
{
}
else
{
...
@@ -255,16 +256,16 @@ class PerformanceService
...
@@ -255,16 +256,16 @@ class PerformanceService
break
;
break
;
case
2
:
case
2
:
$field
=
"DATE(a.create_time) as create_time ,b.house_id,b.house_title,c.user_phone,c.user_name,c.user_id,d.internal_title,d.internal_address"
;
$field
=
"DATE(a.create_time) as create_time ,b.house_id,b.house_title,c.user_phone,c.user_name,c.user_id,d.internal_title,d.internal_address"
;
$result
=
$this
->
marchInModel
->
getAddMarchInOrderList
(
$field
,
$params
);
$result
=
$this
->
marchInModel
->
getAddMarchInOrderList
(
$field
,
$params
);
break
;
break
;
case
3
:
case
3
:
$field
=
"DATE(a.create_time) as create_time ,b.house_id,b.house_title,c.user_phone,c.user_name,c.user_id,d.internal_title,d.internal_address"
;
$field
=
"DATE(a.create_time) as create_time ,b.house_id,b.house_title,c.user_phone,c.user_name,c.user_id,d.internal_title,d.internal_address"
;
$result
=
$this
->
payLogModel
->
getAddPayLogOrderList
(
$field
,
$params
);
$result
=
$this
->
payLogModel
->
getAddPayLogOrderList
(
$field
,
$params
);
break
;
break
;
case
4
:
case
4
:
$field
=
"DATE(a.create_time) as create_time ,b.house_id,b.house_title,c.user_phone,c.user_name,c.user_id,d.internal_title,d.internal_address"
;
$field
=
"DATE(a.create_time) as create_time ,b.house_id,b.house_title,c.user_phone,c.user_name,c.user_id,d.internal_title,d.internal_address"
;
$result
=
$this
->
bargainModel
->
getAddBargainOrderList
(
$field
,
$params
);
$result
=
$this
->
bargainModel
->
getAddBargainOrderList
(
$field
,
$params
);
break
;
break
;
default
:
default
:
...
@@ -274,6 +275,7 @@ class PerformanceService
...
@@ -274,6 +275,7 @@ class PerformanceService
}
}
/**
/**
* 个人业绩当天业绩统计
* @param $params
* @param $params
* @return array
* @return array
*/
*/
...
@@ -281,27 +283,133 @@ class PerformanceService
...
@@ -281,27 +283,133 @@ class PerformanceService
{
{
$result
=
[];
$result
=
[];
$reportNum
=
$this
->
reportModel
->
getAddReportNum
(
$params
);
$reportNum
=
$this
->
reportModel
->
getAddReportNum
(
$params
);
if
(
count
(
$reportNum
)
>
0
)
{
$result
[
"look_at_num"
]
=
isset
(
$reportNum
[
0
][
"num"
])
?
$reportNum
[
0
][
"num"
]
:
0
;
$result
[
"look_at_num"
]
=
$reportNum
[
0
][
"num"
];
}
$addMarchInNum
=
$this
->
marchInModel
->
getAddMarchInNum
(
$params
);
$addMarchInNum
=
$this
->
marchInModel
->
getAddMarchInNum
(
$params
);
if
(
count
(
$addMarchInNum
)
>
0
)
{
$result
[
"march_in_num"
]
=
isset
(
$addMarchInNum
[
0
][
"num"
])
?
$addMarchInNum
[
0
][
"num"
]
:
0
;
$result
[
"march_in_num"
]
=
$addMarchInNum
[
0
][
"num"
];
}
$payLogNum
=
$this
->
payLogModel
->
getAddPayLogNum
(
$params
);
$payLogNum
=
$this
->
payLogModel
->
getAddPayLogNum
(
$params
);
if
(
count
(
$payLogNum
)
>
0
)
{
$result
[
"paylog"
]
=
isset
(
$payLogNum
[
0
][
"num"
])
?
$payLogNum
[
0
][
"num"
]
:
0
;
$result
[
"paylog"
]
=
$payLogNum
[
0
][
"num"
];
$bargainSum
=
$this
->
bargainModel
->
getAddBargainNum
(
$params
,
3
);
//表示统计
$result
[
"bargain_sum"
]
=
isset
(
$bargainSum
[
0
][
"num"
])
?
$bargainSum
[
0
][
"num"
]
:
0
;
return
$result
;
}
}
$bargainSum
=
$this
->
bargainModel
->
getAddBargainNum
(
$params
);
//表示统计
if
(
count
(
$bargainSum
)
>
0
)
{
public
function
storePerformance
(
$agent_id
,
$start_time
,
$end_time
)
$result
[
"bargain_sum"
]
=
$bargainSum
[
0
][
"num"
];
{
$result
=
$this
->
agentModel
->
searchAgentsByKeyword
(
"id,store_id,district_id,level"
,
[
"id"
=>
$agent_id
]);
if
(
count
(
$result
)
<=
0
)
{
return
null
;
}
}
return
$result
;
$type
=
0
;
if
(
$result
[
0
][
"level"
]
==
20
)
{
$type
=
2
;
$params
[
"store_id"
]
=
$result
[
0
][
"store_id"
];
}
elseif
(
$result
[
0
][
"level"
]
==
30
||
$result
[
0
][
"level"
]
==
40
)
{
$type
=
3
;
$params
[
"district_id"
]
=
$result
[
0
][
"district_id"
];
}
}
public
function
storePerformance
(
$agent_id
,
$start_time
,
$end_time
){
$list
=
[];
$now_date
=
date
(
"Y-m-d"
,
time
());
if
(
$start_time
==
$now_date
&&
$end_time
==
$now_date
)
{
$params
[
'create_time'
]
=
array
(
'between'
,
array
(
$start_time
.
" 00:00:00"
,
$end_time
.
" 23:59:59"
)
);
$list
=
$this
->
sumDistrictPerformance
(
$params
);
}
else
{
$field
=
"sum(add_house_num) as add_house_num,sum(add_user_num) as add_user_num,
sum(performance) as performance,sum(official_receipts) as official_receipts,sum(look_at_num) as look_at_num,
sum(march_in_num) as march_in_num,sum(paylog) as paylog,sum(supervision_num) as supervision_num"
;
$params
[
'total_time'
]
=
array
(
'between'
,
array
(
$start_time
,
$end_time
)
);
$list
=
$this
->
totalModel
->
getTotalByAgentId
(
$field
,
$params
,
$type
,
""
);
}
if
(
count
(
$list
)
>
0
)
{
return
$list
;
}
else
{
return
null
;
}
}
public
function
storeSortByDistrictId
(
$agent_id
,
$start_time
,
$end_time
)
{
$result
=
$this
->
agentModel
->
searchAgentsByKeyword
(
"id,store_id,district_id,level"
,
[
"id"
=>
$agent_id
]);
dump
(
$result
);
if
(
count
(
$result
)
<=
0
)
{
return
null
;
}
$field
=
"store_id,agent_id,sum(add_house_num) as add_house_num,sum(add_user_num) as add_user_num,sum(march_in_num) as march_in_num,
sum(performance) as performance,sum(official_receipts) as official_receipts"
;
/* $where_["agent_id"] = $agent_id;
$where_['total_time'] = array( 'between', array( $start_time, $end_time ) );
$list = $this->totalModel->personagePerformance($field, $where_);*/
$type
=
0
;
if
(
$result
[
0
][
"level"
]
==
20
)
{
$type
=
1
;
$params
[
"store_id"
]
=
$result
[
0
][
"store_id"
];
}
elseif
(
$result
[
0
][
"level"
]
==
30
||
$result
[
0
][
"level"
]
==
40
)
{
$type
=
2
;
$params
[
"district_id"
]
=
$result
[
0
][
"district_id"
];
}
$params
[
'total_time'
]
=
array
(
'between'
,
array
(
$start_time
,
$end_time
)
);
$field
=
"agent_id,store_id,district_id,sum(performance) as performance_total"
;
$order
=
"total_time desc"
;
$result
=
$this
->
totalModel
->
getTotalByAgentId
(
$field
,
$params
,
$type
,
$order
);
dump
(
$result
);
}
private
function
sumDistrictPerformance
(
$params
)
{
$result
=
[];
//房源
$addHouseNum
=
$this
->
houseModel
->
getAddHouseNum
(
$params
);
$result
[
"add_house_num"
]
=
isset
(
$addHouseNum
[
0
][
"num"
])
?
$addHouseNum
[
0
][
"num"
]
:
0
;
//dump($addHouseNum);
//客源
$addUserNum
=
$this
->
userModel
->
getAddUserNum
(
$params
);
$result
[
"add_user_num"
]
=
isset
(
$addUserNum
[
0
][
"num"
])
?
$addUserNum
[
0
][
"num"
]
:
0
;
//dump($addUserNum);
//业绩
$performanceSum
=
$this
->
bargainModel
->
getAddBargainNum
(
$params
,
1
);
//1表示业绩 2表示实收
$result
[
"performance"
]
=
isset
(
$performanceSum
[
0
][
"num"
])
?
$performanceSum
[
0
][
"num"
]
:
0
;
//实收
$receivedSum
=
$this
->
bargainModel
->
getAddBargainNum
(
$params
,
2
);
//1表示业绩 2表示实收
$result
[
"official_receipts"
]
=
isset
(
$receivedSum
[
0
][
"num"
])
?
$receivedSum
[
0
][
"num"
]
:
0
;
//dump($receivedSum);
//约带看
$reportNum
=
$this
->
reportModel
->
getAddReportNum
(
$params
);
$result
[
"look_at_num"
]
=
isset
(
$reportNum
[
0
][
"num"
])
?
$reportNum
[
0
][
"num"
]
:
0
;
//dump($reportNum);
//进场
$addMarchInNum
=
$this
->
marchInModel
->
getAddMarchInNum
(
$params
);
$result
[
"march_in_num"
]
=
isset
(
$addMarchInNum
[
0
][
"num"
])
?
$addMarchInNum
[
0
][
"num"
]
:
0
;
//dump($addMarchInNum);
//收款
$payLogNum
=
$this
->
payLogModel
->
getAddPayLogNum
(
$params
);
$result
[
"paylog"
]
=
isset
(
$payLogNum
[
0
][
"num"
])
?
$payLogNum
[
0
][
"num"
]
:
0
;
//dump($payLogNum);
//todo 监督
$result
[
"supervision_num"
]
=
0
;
return
$result
;
}
}
}
}
\ No newline at end of file
application/api_broker/service/VerifyService.php
View file @
3471ac49
...
@@ -22,7 +22,7 @@ class VerifyService
...
@@ -22,7 +22,7 @@ class VerifyService
}
}
/**
/**
* 经纪人身份验证
* 经纪人身份验证
获取经纪人
* @param $agent_id
* @param $agent_id
* @return null|string
* @return null|string
*/
*/
...
...
application/model/GHouses.php
View file @
3471ac49
...
@@ -518,6 +518,23 @@ class GHouses extends BaseModel
...
@@ -518,6 +518,23 @@ class GHouses extends BaseModel
->
select
();
->
select
();
}
}
public
function
getAddHouseNum
(
$params
){
$field
=
"count(1) as num"
;
$where_
=
[];
if
(
isset
(
$params
[
"agent_id"
])){
$where_
[
"upload_id"
]
=
$params
[
"agent_id"
];
}
if
(
isset
(
$params
[
"create_time"
])){
$where_
[
"create_time"
]
=
$params
[
"create_time"
];
}
$result
=
Db
::
table
(
$this
->
table
)
->
field
(
$field
)
->
where
(
$where_
)
->
select
();
//echo Db::table($this->table)->getLastSql();
return
$result
;
}
/******zw end ************/
/******zw end ************/
...
...
application/model/OBargainModel.php
View file @
3471ac49
...
@@ -324,9 +324,18 @@ class OBargainModel extends Model
...
@@ -324,9 +324,18 @@ class OBargainModel extends Model
->
select
();
->
select
();
}
}
public
function
getAddBargainNum
(
$params
){
public
function
getAddBargainNum
(
$params
,
$type
){
$where_
=
[];
$where_
=
[];
if
(
$type
==
1
){
$field
=
"sum(scale_fee) as num"
;
}
elseif
(
$type
==
2
){
$field
=
"sum(practical_fee) as num"
;
}
elseif
(
$type
==
3
){
$field
=
"count(1) as num"
;
$field
=
"count(1) as num"
;
}
if
(
isset
(
$params
[
"agent_id"
])){
if
(
isset
(
$params
[
"agent_id"
])){
$where_
[
"a.agent_id"
]
=
$params
[
"agent_id"
];
$where_
[
"a.agent_id"
]
=
$params
[
"agent_id"
];
...
...
application/model/TAgentTotalModel.php
View file @
3471ac49
...
@@ -57,15 +57,18 @@ class TAgentTotalModel extends Model
...
@@ -57,15 +57,18 @@ class TAgentTotalModel extends Model
->
select
();
->
select
();
}
}
/**
/**
* 获取分组统计数据
* 获取分组统计数据
* @param $field
* @param $params
* @param $params
* @param $type
* @param $type
* @param string $order
* @return false|\PDOStatement|string|\think\Collection
* @return false|\PDOStatement|string|\think\Collection
*/
*/
public
function
getTotalByAgentId
(
$
params
,
$type
)
public
function
getTotalByAgentId
(
$
field
,
$params
,
$type
,
$order
=
""
)
{
{
$group_
=
"
agent_id
"
;
$group_
=
""
;
switch
(
$type
)
{
switch
(
$type
)
{
case
1
:
case
1
:
$group_
=
"agent_id"
;
$group_
=
"agent_id"
;
...
@@ -76,12 +79,13 @@ class TAgentTotalModel extends Model
...
@@ -76,12 +79,13 @@ class TAgentTotalModel extends Model
case
3
:
case
3
:
$group_
=
"district_id"
;
$group_
=
"district_id"
;
break
;
break
;
}
}
$result
=
$this
->
db_
$result
=
$this
->
db_
->
field
(
"agent_id,store_id,district_id,sum(performance) as performance_total"
)
->
field
(
$field
)
->
where
(
$params
)
->
where
(
$params
)
->
group
(
$group_
)
->
group
(
$group_
)
->
order
(
"performance_total desc"
)
->
order
(
$order
)
->
select
();
->
select
();
//echo $this->db_->getLastSql();
//echo $this->db_->getLastSql();
return
$result
;
return
$result
;
...
...
application/model/Users.php
View file @
3471ac49
...
@@ -325,6 +325,21 @@ class Users extends Model
...
@@ -325,6 +325,21 @@ class Users extends Model
->
select
();
->
select
();
}
}
public
function
getAddUserNum
(
$params
){
$field
=
"count(1) as num"
;
$where_
=
[];
if
(
isset
(
$params
[
"agent_id"
])){
$where_
[
"referrer_id"
]
=
$params
[
"agent_id"
];
}
if
(
isset
(
$params
[
"create_time"
])){
$where_
[
"create_time"
]
=
$params
[
"create_time"
];
}
return
Db
::
table
(
$this
->
table
)
->
field
(
$field
)
->
where
(
$where_
)
->
select
();
}
public
function
all_user_count
(
$params
=
''
)
public
function
all_user_count
(
$params
=
''
)
{
{
...
...
application/route.php
View file @
3471ac49
...
@@ -363,6 +363,7 @@ Route::group('broker', [
...
@@ -363,6 +363,7 @@ Route::group('broker', [
'selectPerformanceByTime'
=>
[
'api_broker/Performance/selectPerformanceByTime'
,
[
'method'
=>
'get'
]],
'selectPerformanceByTime'
=>
[
'api_broker/Performance/selectPerformanceByTime'
,
[
'method'
=>
'get'
]],
'agentPerformanceBySearch'
=>
[
'api_broker/Performance/agentPerformanceBySearch'
,
[
'method'
=>
'get'
]],
'agentPerformanceBySearch'
=>
[
'api_broker/Performance/agentPerformanceBySearch'
,
[
'method'
=>
'get'
]],
'orderNoList'
=>
[
'api_broker/Performance/orderNoList'
,
[
'method'
=>
'get'
]],
'orderNoList'
=>
[
'api_broker/Performance/orderNoList'
,
[
'method'
=>
'get'
]],
'storeOrAgentSort'
=>
[
'api_broker/Performance/storeOrAgentSort'
,
[
'method'
=>
'get'
]],
'weekWorkImg'
=>
[
'api_broker/Statement/weekWorkImg'
,
[
'method'
=>
'post'
]],
//生成周报和日报图片
'weekWorkImg'
=>
[
'api_broker/Statement/weekWorkImg'
,
[
'method'
=>
'post'
]],
//生成周报和日报图片
'setReportContent'
=>
[
'api_broker/Statement/setReportContent'
,
[
'method'
=>
'get|post'
]],
//保存日报周报四个字段
'setReportContent'
=>
[
'api_broker/Statement/setReportContent'
,
[
'method'
=>
'get|post'
]],
//保存日报周报四个字段
...
...
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