|
@@ -47,23 +47,14 @@ class PropertyOrderAnalysis extends BaseAdminDataLists implements ListsSearchInt
|
|
|
public function queryWhere()
|
|
public function queryWhere()
|
|
|
{
|
|
{
|
|
|
$where = [];
|
|
$where = [];
|
|
|
- $tmpWhere = [];
|
|
|
|
|
- $workIds = [];
|
|
|
|
|
- isset($this->params['property_name']) && !empty($this->params['property_name']) && $tmpWhere[] = ['property_name', 'LIKE', '%'.$this->params['property_name'].'%'];
|
|
|
|
|
- isset($this->params['village_name']) && !empty($this->params['village_name']) && $tmpWhere[] = ['village_name', 'LIKE', '%'.$this->params['village_name'].'%'];
|
|
|
|
|
- isset($this->params['head_name']) && !empty($this->params['head_name']) && $tmpWhere[] = ['head_name', 'LIKE', '%'.$this->params['head_name'].'%'];
|
|
|
|
|
- isset($this->params['head_mobile']) && !empty($this->params['head_mobile']) && $tmpWhere[] = ['head_mobile', '=', $this->params['head_mobile']];
|
|
|
|
|
- if(!empty($tmpWhere)){
|
|
|
|
|
- $property_head_ids = PropertyHead::where($tmpWhere)->column('id');
|
|
|
|
|
- $property_head_ids && $workIds = PropertyOrder::where('order_status',3)->where('property_head_id','IN',$property_head_ids)->column('work_id');
|
|
|
|
|
- }else{
|
|
|
|
|
- $workIds = PropertyOrder::where('order_status',3)->column('work_id');
|
|
|
|
|
- }
|
|
|
|
|
- $where[] = ['id','IN',$workIds?:[0]];
|
|
|
|
|
|
|
+ isset($this->params['property_name']) && !empty($this->params['property_name']) && $where[] = ['c.property_name', 'LIKE', '%'.$this->params['property_name'].'%'];
|
|
|
|
|
+ isset($this->params['village_name']) && !empty($this->params['village_name']) && $where[] = ['c.village_name', 'LIKE', '%'.$this->params['village_name'].'%'];
|
|
|
|
|
+ isset($this->params['head_name']) && !empty($this->params['head_name']) && $where[] = ['c.head_name', 'LIKE', '%'.$this->params['head_name'].'%'];
|
|
|
|
|
+ isset($this->params['head_mobile']) && !empty($this->params['head_mobile']) && $where[] = ['c.head_mobile', '=', $this->params['head_mobile']];
|
|
|
if(isset($this->params['start_month']) && $this->params['start_month']){
|
|
if(isset($this->params['start_month']) && $this->params['start_month']){
|
|
|
$startDateTime = strtotime($this->params['start_month']);
|
|
$startDateTime = strtotime($this->params['start_month']);
|
|
|
$endDateTime = strtotime('+1 month', $startDateTime)-1;
|
|
$endDateTime = strtotime('+1 month', $startDateTime)-1;
|
|
|
- $where[] = ['finished_time','BETWEEN',[$startDateTime,$endDateTime]];
|
|
|
|
|
|
|
+ $where[] = ['b.finished_time','BETWEEN',[$startDateTime,$endDateTime]];
|
|
|
}
|
|
}
|
|
|
return $where;
|
|
return $where;
|
|
|
}
|
|
}
|
|
@@ -79,13 +70,19 @@ class PropertyOrderAnalysis extends BaseAdminDataLists implements ListsSearchInt
|
|
|
*/
|
|
*/
|
|
|
public function lists(): array
|
|
public function lists(): array
|
|
|
{
|
|
{
|
|
|
- return ServiceWork::with(['propertyHead'])->where([['work_pay_status','=',2],['approval','=',1]])
|
|
|
|
|
- ->where('finished_time','>',0)
|
|
|
|
|
- ->where('user_id','>',0)
|
|
|
|
|
|
|
+ $res = Db::name('property_order')->alias('a')
|
|
|
|
|
+ ->field(['c.id','c.head_name','c.property_name','c.village_name',
|
|
|
|
|
+ Db::raw('DATE_FORMAT(FROM_UNIXTIME(b.finished_time), "%Y-%m") AS month_format,COUNT(b.id) as month_num, SUM(b.work_amount) as month_amount')
|
|
|
|
|
+ ])
|
|
|
|
|
+ ->leftJoin('service_work b', 'a.work_id = b.id')
|
|
|
|
|
+ ->leftJoin('property_head c', 'a.property_head_id = c.id')
|
|
|
|
|
+ ->where([['b.work_pay_status','=',2],['b.approval','=',1]])
|
|
|
|
|
+ ->where('b.finished_time','>',0)
|
|
|
->where($this->queryWhere())
|
|
->where($this->queryWhere())
|
|
|
- ->field(Db::raw('user_id,DATE_FORMAT(FROM_UNIXTIME(finished_time), "%Y-%m") AS month_format,COUNT(id) as month_num, SUM(work_amount) as month_amount'))
|
|
|
|
|
- ->group('user_id,month_format')
|
|
|
|
|
|
|
+ ->group('a.property_head_id,month_format')
|
|
|
|
|
+ ->limit($this->limitOffset, $this->limitLength)
|
|
|
->select()->toArray();
|
|
->select()->toArray();
|
|
|
|
|
+ return $res;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|