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
4ca419ee
Commit
4ca419ee
authored
Mar 19, 2018
by
zw
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
统计
parent
f600f945
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
158 additions
and
56 deletions
+158
-56
OBargainModel.php
application/model/OBargainModel.php
+20
-3
OReportModel.php
application/model/OReportModel.php
+17
-0
TAgentTotalModel.php
application/model/TAgentTotalModel.php
+3
-1
route.php
application/route.php
+5
-0
ResultsSummaryTask.php
application/task/controller/ResultsSummaryTask.php
+113
-52
No files found.
application/model/OBargainModel.php
View file @
4ca419ee
...
...
@@ -282,15 +282,32 @@ class OBargainModel extends Model
->
where
(
$params
)
->
find
();
}
public
function
getAddBargainNumGroupTime
(
$params
){
$field
=
"count(1) as num,DATE(create_time) as day"
;
/**
* @param $params
* @param $type
* @return false|\PDOStatement|string|\think\Collection
*/
public
function
getAddBargainNumGroupTime
(
$params
,
$type
){
$field
=
""
;
$where_
=
[];
if
(
$type
==
1
){
$field
=
"sum(scale_fee) as num,DATE(create_time) as day"
;
}
elseif
(
$type
==
2
){
$field
=
"sum(practical_fee) as num,DATE(create_time) as day"
;
}
elseif
(
$type
==
3
){
$field
=
"count(1) as num,DATE(create_time) as day"
;
}
$where_
[
"status"
]
=
11
;
//审核成功
if
(
isset
(
$params
[
"agent_id"
])){
$where_
[
"
reception
_id"
]
=
$params
[
"agent_id"
];
$where_
[
"
agent
_id"
]
=
$params
[
"agent_id"
];
}
if
(
isset
(
$params
[
"create_time"
])){
$where_
[
"create_time"
]
=
$params
[
"create_time"
];
}
return
Db
::
table
(
$this
->
table
)
->
field
(
$field
)
->
where
(
$where_
)
...
...
application/model/OReportModel.php
View file @
4ca419ee
...
...
@@ -136,5 +136,21 @@ class OReportModel extends Model
}
public
function
getAddReportNumGroupTime
(
$params
){
$field
=
"count(1) as num,DATE(create_time) as day"
;
$where_
=
[];
if
(
isset
(
$params
[
"agent_id"
])){
$where_
[
"report_agent_id"
]
=
$params
[
"agent_id"
];
}
if
(
isset
(
$params
[
"create_time"
])){
$where_
[
"create_time"
]
=
$params
[
"create_time"
];
}
$where_
[
"status"
]
=
0
;
return
Db
::
table
(
$this
->
table
)
->
field
(
$field
)
->
where
(
$where_
)
->
group
(
"day"
)
->
select
();
}
}
\ No newline at end of file
application/model/TAgentTotalModel.php
View file @
4ca419ee
...
...
@@ -17,7 +17,7 @@ class TAgentTotalModel extends Model{
function
__construct
()
{
$this
->
db_
=
Db
::
tabl
e
(
$this
->
table
);
$this
->
db_
=
Db
::
nam
e
(
$this
->
table
);
}
/**
...
...
@@ -31,6 +31,8 @@ class TAgentTotalModel extends Model{
Db
::
commit
();
return
1
;
}
catch
(
\Exception
$e
)
{
print_r
(
$e
);
Db
::
rollback
();
return
0
;
}
...
...
application/route.php
View file @
4ca419ee
...
...
@@ -272,6 +272,11 @@ Route::group('task',[
'addReport'
=>
[
'task/PrivacyNumber/addReport'
,
[
'method'
=>
'get|post'
]],
//阿里大于隐私号码回调
'queryRecordFile'
=>
[
'task/PrivacyNumber/queryRecordFile'
,
[
'method'
=>
'get'
]],
//下载录音
'releaseNumber'
=>
[
'task/PrivacyNumber/releaseNumber'
,
[
'method'
=>
'get'
]],
//释放号码
'totalAgentResults'
=>
[
'task/ResultsSummaryTask/totalAgentResults'
,
[
'method'
=>
'get'
]],
//释放号码
]);
Route
::
group
(
'broker'
,
[
...
...
application/task/controller/ResultsSummaryTask.php
View file @
4ca419ee
<?php
namespace
app\task\controller
;
use
app\model\AAgents
;
use
app\model\GHouses
;
use
app\model\OBargainModel
;
use
app\model\OMarchInModel
;
use
app\model\OPayLogModel
;
use
app\model\OReportModel
;
use
app\model\TAgentTotalModel
;
use
app\model\Users
;
...
...
@@ -15,42 +18,45 @@ use app\model\Users;
* Time : 上午10:07
* Intro:
*/
class
ResultsSummaryTask
{
class
ResultsSummaryTask
{
private
$agentsModel
;
private
$tAgentTotalModel
;
function
__construct
()
{
$this
->
agentsModel
=
new
AAgents
();
$this
->
tAgentTotalModel
=
new
TAgentTotalModel
();
}
public
function
totalAgentResults
(){
public
function
totalAgentResults
()
{
//todo 1.分页查询经纪人, 2遍历执行,判断一个经纪人在统计表最后一条统计数据的日期
//TODO 3.日期加一天并判断是否大于等于当前时间大于return 4.执行此日期的统计,5.当次日期小于当前日期,递归日期加一。继续统计
$total
=
$this
->
agentsModel
->
getAgentsCountByTask
();
$pageSize
=
50
;
$pageSize
=
50
;
$pageTotal
=
ceil
(
$total
/
$pageSize
);
for
(
$pageNo
=
1
;
$pageNo
<=
$pageTotal
;
$pageNo
++
){
$resultArr
=
$this
->
agentsModel
->
getAgentsListByTask
(
$pageNo
,
$pageSize
,
"id,store_id,district_id"
);
for
(
$pageNo
=
1
;
$pageNo
<=
$pageTotal
;
$pageNo
++
)
{
$resultArr
=
$this
->
agentsModel
->
getAgentsListByTask
(
$pageNo
,
$pageSize
,
"id,store_id,district_id"
);
$this
->
executeTotal
(
$resultArr
);
}
exit
;
}
private
function
executeTotal
(
$resultArr
){
foreach
(
$resultArr
as
$key
=>
$value
){
private
function
executeTotal
(
$resultArr
)
{
foreach
(
$resultArr
as
$key
=>
$value
)
{
$param
[
"agent_id"
]
=
$value
[
"id"
];
$param
[
"is_del"
]
=
0
;
$total_time_arr
=
$this
->
tAgentTotalModel
->
getTotalEndTimeByAgentId
(
"total_time"
,
$param
);
$total_time_arr
=
$this
->
tAgentTotalModel
->
getTotalEndTimeByAgentId
(
"total_time"
,
$param
);
$start_total_time
=
"2018-03-12"
;
$end_total_time
=
date
(
"Y-m-d"
,
strtotime
(
"-1 day"
));
if
(
count
(
$total_time_arr
)
>
0
)
{
$end_total_time
=
date
(
"Y-m-d"
,
strtotime
(
"-1 day"
));
if
(
count
(
$total_time_arr
)
>
0
)
{
$start_total_time
=
$total_time_arr
[
0
][
"total_time"
];
}
...
...
@@ -58,67 +64,121 @@ class ResultsSummaryTask{
$district_id
=
empty
(
$value
[
"district_id"
])
?
0
:
$value
[
"district_id"
];
$store_id
=
empty
(
$value
[
"store_id"
])
?
0
:
$value
[
"store_id"
];
//todo 查询时间段的数据
$this
->
selectTotal
(
$agent_id
,
$start_total_time
,
$end_total_time
);
$this
->
binAgentModel
(
$agent_id
,
$district_id
,
$store_id
);
$result
=
$this
->
selectTotal
(
$agent_id
,
$district_id
,
$store_id
,
$start_total_time
,
$end_total_time
);
$this
->
tAgentTotalModel
->
addTotal
(
$result
);
}
}
public
function
test
(){
$this
->
selectTotal
(
1
,
"2018-02-02"
,
"2018-03-15"
);
}
private
function
selectTotal
(
$agent_id
,
$start_total_time
,
$end_total_time
){
/* public function test()
{
$params = $this->selectTotal(1, 1, 1, "2018-02-02", "2018-03-15");
$this->tAgentTotalModel->addTotal($params);
// dump($params);
}*/
private
function
selectTotal
(
$agent_id
,
$district_id
,
$store_id
,
$start_total_time
,
$end_total_time
)
{
//todo 如果查询出这个时间段都为0 则给此经纪人插入条最后一个日期的为空的数据
$result_arr
=
[];
$start_total_time
=
$start_total_time
.
" 00:00:00"
;
$end_total_time
=
$end_total_time
.
" 23:59:59"
;
//房源
$houseModel
=
new
GHouses
();
$params
[
"agent_id"
]
=
$agent_id
;
$params
[
'create_time'
]
=
array
(
'between'
,
array
(
$start_total_time
,
$end_total_time
)
);
$addHouseNum
=
$houseModel
->
getAddHouseNumGroupTime
(
$params
);
$houseModel
=
new
GHouses
();
$params
[
"agent_id"
]
=
$agent_id
;
$params
[
'create_time'
]
=
array
(
'between'
,
array
(
$start_total_time
,
$end_total_time
)
);
$addHouseNum
=
$houseModel
->
getAddHouseNumGroupTime
(
$params
);
$result_arr
[
"house_num"
]
=
$this
->
foreachResult
(
$addHouseNum
);
//dump($addHouseNum);
//客源
$userModel
=
new
Users
();
$addUserNum
=
$userModel
->
getAddUserNumGroupTime
(
$params
);
$userModel
=
new
Users
();
$addUserNum
=
$userModel
->
getAddUserNumGroupTime
(
$params
);
$result_arr
[
"user_num"
]
=
$this
->
foreachResult
(
$addUserNum
);
//dump($addUserNum);
//业绩
$bargainModel
=
new
OBargainModel
();
$performanceSum
=
$bargainModel
->
getAddBargainNumGroupTime
(
$params
,
1
);
//1表示业绩 2表示实收
// dump($performanceSum);
$result_arr
[
"performance_sum"
]
=
$this
->
foreachResult
(
$performanceSum
);
//实收
$receivedSum
=
$bargainModel
->
getAddBargainNumGroupTime
(
$params
,
2
);
//1表示业绩 2表示实收
$result_arr
[
"received_sum"
]
=
$this
->
foreachResult
(
$receivedSum
);
//dump($receivedSum);
//约带看
$reportModel
=
new
OReportModel
();
$reportNum
=
$reportModel
->
getAddReportNumGroupTime
(
$params
);
$result_arr
[
"report_num"
]
=
$this
->
foreachResult
(
$reportNum
);
//dump($reportNum);
//进场
$marchInModel
=
new
OMarchInModel
();
$addMarchInNum
=
$marchInModel
->
getAddMarchInNumGroupTime
(
$params
);
$marchInModel
=
new
OMarchInModel
();
$addMarchInNum
=
$marchInModel
->
getAddMarchInNumGroupTime
(
$params
);
$result_arr
[
"addMarch_in_num"
]
=
$this
->
foreachResult
(
$addMarchInNum
);
//dump($addMarchInNum);
//收款
$payLogModel
=
new
OPayLogModel
();
$payLogNum
=
$payLogModel
->
getAddPayLogNumGroupTime
(
$params
);
$payLogModel
=
new
OPayLogModel
();
$payLogNum
=
$payLogModel
->
getAddPayLogNumGroupTime
(
$params
);
$result_arr
[
"pay_log_num"
]
=
$this
->
foreachResult
(
$payLogNum
);
//dump($payLogNum);
//监督
//todo 监督
$result_arr
[
"supervision_num"
]
=
$this
->
foreachResult
(
$supervisionNum
=
[]);
//成交报告
$bargainModel
=
new
OBargainModel
();
$bargainModel
->
getAddBargainNumGroupTime
(
$params
);
$bargainSum
=
$bargainModel
->
getAddBargainNumGroupTime
(
$params
,
3
);
//表示统计
//dump($bargainSum);
$result_arr
[
"bargain_sum"
]
=
$this
->
foreachResult
(
$bargainSum
);
return
$this
->
binAgentModel
(
$agent_id
,
$district_id
,
$store_id
,
$result_arr
,
$start_total_time
,
$end_total_time
);
}
private
function
foreachResult
(
$list
)
{
$result
=
[];
if
(
count
(
$list
)
<=
0
)
{
$day
=
date
(
"Y-m-d"
,
strtotime
(
"-1 day"
));
$result
[
$day
]
=
0
;
return
$result
;
}
foreach
(
$list
as
$item
)
{
$result
[
$item
[
"day"
]]
=
$item
[
"num"
];
}
return
$result
;
}
private
function
binAgentModel
(
$agent_id
,
$district_id
,
$store_id
){
$param
=
[];
$param
[
"district_id"
]
=
1
;
$param
[
"store_id"
]
=
1
;
$param
[
"agent_id"
]
=
1
;
$param
[
"total_time"
]
=
1
;
$param
[
"add_house_num"
]
=
1
;
$param
[
"add_user_num"
]
=
1
;
$param
[
"performance"
]
=
1
;
$param
[
"official_receipts"
]
=
1
;
$param
[
"look_at_num"
]
=
1
;
$param
[
"march_in_num"
]
=
1
;
$param
[
"paylog"
]
=
1
;
$param
[
"supervision_num"
]
=
1
;
$param
[
"create_time"
]
=
1
;
$param
[
"update_time"
]
=
1
;
return
$param
;
private
function
binAgentModel
(
$agent_id
,
$district_id
,
$store_id
,
$result_arr
,
$start_total_time
,
$end_total_time
)
{
$params
=
[];
$i
=
0
;
while
(
$start_total_time
<=
$end_total_time
)
{
if
(
isset
(
$result_arr
[
"house_num"
][
$start_total_time
])
||
isset
(
$result_arr
[
"user_num"
][
$start_total_time
])
||
isset
(
$result_arr
[
"performance_sum"
][
$start_total_time
])
||
isset
(
$result_arr
[
"received_sum"
][
$start_total_time
])
||
isset
(
$result_arr
[
"report_num"
][
$start_total_time
])
||
isset
(
$result_arr
[
"addMarch_in_num"
][
$start_total_time
])
||
isset
(
$result_arr
[
"pay_log_num"
][
$start_total_time
])
||
isset
(
$result_arr
[
"supervision_num"
][
$start_total_time
])
||
isset
(
$result_arr
[
"bargain_sum"
][
$start_total_time
])){
$params
[
$i
][
"district_id"
]
=
$district_id
;
$params
[
$i
][
"store_id"
]
=
$store_id
;
$params
[
$i
][
"agent_id"
]
=
$agent_id
;
$params
[
$i
][
"total_time"
]
=
$start_total_time
;
$params
[
$i
][
"create_time"
]
=
date
(
"Y-m-d H:s:i"
,
time
());
$params
[
$i
][
"update_time"
]
=
date
(
"Y-m-d H:s:i"
,
time
());
$params
[
$i
][
"add_house_num"
]
=
isset
(
$result_arr
[
"house_num"
][
$start_total_time
])
?
$result_arr
[
"house_num"
][
$start_total_time
]
:
0
;
$params
[
$i
][
"add_user_num"
]
=
isset
(
$result_arr
[
"user_num"
][
$start_total_time
])
?
$result_arr
[
"user_num"
][
$start_total_time
]
:
0
;
$params
[
$i
][
"performance"
]
=
isset
(
$result_arr
[
"performance_sum"
][
$start_total_time
])
?
$result_arr
[
"performance_sum"
][
$start_total_time
]
:
0
;
$params
[
$i
][
"official_receipts"
]
=
isset
(
$result_arr
[
"received_sum"
][
$start_total_time
])
?
$result_arr
[
"received_sum"
][
$start_total_time
]
:
0
;
$params
[
$i
][
"look_at_num"
]
=
isset
(
$result_arr
[
"report_num"
][
$start_total_time
])
?
$result_arr
[
"report_num"
][
$start_total_time
]
:
0
;
$params
[
$i
][
"march_in_num"
]
=
isset
(
$result_arr
[
"addMarch_in_num"
][
$start_total_time
])
?
$result_arr
[
"addMarch_in_num"
][
$start_total_time
]
:
0
;
$params
[
$i
][
"paylog"
]
=
isset
(
$result_arr
[
"pay_log_num"
][
$start_total_time
])
?
$result_arr
[
"pay_log_num"
][
$start_total_time
]
:
0
;
$params
[
$i
][
"supervision_num"
]
=
isset
(
$result_arr
[
"supervision_num"
][
$start_total_time
])
?
$result_arr
[
"supervision_num"
][
$start_total_time
]
:
0
;
$params
[
$i
][
"bargain_sum"
]
=
isset
(
$result_arr
[
"bargain_sum"
][
$start_total_time
])
?
$result_arr
[
"bargain_sum"
][
$start_total_time
]
:
0
;
$i
++
;
}
$start_total_time
=
date
(
'Y-m-d'
,
strtotime
(
'+1 day'
,
strtotime
(
$start_total_time
)));
}
return
$params
;
}
}
\ No newline at end of file
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