|
@@ -83,11 +83,9 @@ class MasterWorkerServiceOrderLists extends BaseAdminDataLists implements ListsS
|
|
|
if (isset($this->params['cooperation']) && !empty($this->params['cooperation'])) {
|
|
if (isset($this->params['cooperation']) && !empty($this->params['cooperation'])) {
|
|
|
$where[] = ['a.cooperation','=' ,$this->params['cooperation']];
|
|
$where[] = ['a.cooperation','=' ,$this->params['cooperation']];
|
|
|
}
|
|
}
|
|
|
- if (!empty($this->params['start_time'])) {
|
|
|
|
|
- $this->sqlJoin .= ' AND b.finished_time >= '.strtotime($this->params['start_time']);
|
|
|
|
|
- }
|
|
|
|
|
- if (!empty($this->params['end_time'])) {
|
|
|
|
|
- $this->sqlJoin .= ' AND b.finished_time < '.strtotime($this->params['end_time'])+86400;
|
|
|
|
|
|
|
+ // ( ( b.finished_time >= 1743436800 AND b.finished_time < 1746028800 ) or ( b.create_time >= 1743436800 AND b.create_time < 1746028800) )
|
|
|
|
|
+ if (!empty($this->params['start_time']) && !empty($this->params['end_time'])) {
|
|
|
|
|
+ $this->sqlJoin = ' and ( ( b.finished_time >= '.strtotime($this->params['start_time']).' AND b.finished_time < '.strtotime($this->params['end_time']).' ) or ( b.create_time >= '.strtotime($this->params['start_time']).' AND b.create_time < '.strtotime($this->params['end_time']).') )';
|
|
|
}
|
|
}
|
|
|
//dd($this->sqlJoin);
|
|
//dd($this->sqlJoin);
|
|
|
$where[] = ['a.audit_state','=' ,1];
|
|
$where[] = ['a.audit_state','=' ,1];
|
|
@@ -97,11 +95,12 @@ class MasterWorkerServiceOrderLists extends BaseAdminDataLists implements ListsS
|
|
|
{
|
|
{
|
|
|
$where = [];
|
|
$where = [];
|
|
|
if (!empty($this->params['start_time'])) {
|
|
if (!empty($this->params['start_time'])) {
|
|
|
- $where[0] = $this->params['start_time'];
|
|
|
|
|
|
|
+ $where[0] = strtotime($this->params['start_time']);
|
|
|
}
|
|
}
|
|
|
if (!empty($this->params['end_time'])) {
|
|
if (!empty($this->params['end_time'])) {
|
|
|
$where[1] = strtotime($this->params['end_time'])+86400;
|
|
$where[1] = strtotime($this->params['end_time'])+86400;
|
|
|
}
|
|
}
|
|
|
|
|
+ //dd($where);
|
|
|
return $where;
|
|
return $where;
|
|
|
}
|
|
}
|
|
|
/**
|
|
/**
|
|
@@ -138,16 +137,17 @@ class MasterWorkerServiceOrderLists extends BaseAdminDataLists implements ListsS
|
|
|
$queryWhereLog = $this->queryWhereLog();
|
|
$queryWhereLog = $this->queryWhereLog();
|
|
|
$lists = Db::name('master_worker')->alias('a')->field([
|
|
$lists = Db::name('master_worker')->alias('a')->field([
|
|
|
'a.id','a.real_name','a.nickname','a.area_name','a.worker_number','a.recruiting_behalf','a.mobile','a.cooperation','a.category_ids','a.labels','a.remark',
|
|
'a.id','a.real_name','a.nickname','a.area_name','a.worker_number','a.recruiting_behalf','a.mobile','a.cooperation','a.category_ids','a.labels','a.remark',
|
|
|
- Db::raw("COUNT(b.id) AS all_count"),
|
|
|
|
|
|
|
+ Db::raw("SUM( CASE WHEN b.work_status > 1 THEN 1 ELSE 0 END ) AS accepting_count"),
|
|
|
Db::raw("SUM(CASE WHEN b.service_status = 3 THEN 1 ELSE 0 END) AS success_count"),
|
|
Db::raw("SUM(CASE WHEN b.service_status = 3 THEN 1 ELSE 0 END) AS success_count"),
|
|
|
Db::raw("SUM(CASE WHEN b.service_status = 4 OR b.service_status = 5 THEN 1 ELSE 0 END) AS fail_count"),
|
|
Db::raw("SUM(CASE WHEN b.service_status = 4 OR b.service_status = 5 THEN 1 ELSE 0 END) AS fail_count"),
|
|
|
- Db::raw("SUM(CASE WHEN b.service_status = 3 THEN b.work_total ELSE 0 END) work_total"),
|
|
|
|
|
- Db::raw("SUM(CASE WHEN b.service_status = 3 THEN b.worker_price ELSE 0 END) worker_price"),
|
|
|
|
|
|
|
+ Db::raw("SUM(CASE WHEN b.service_status = 3 THEN b.work_amount ELSE 0 END) work_amount_sum"),
|
|
|
|
|
+ Db::raw("SUM(CASE WHEN b.service_status = 3 THEN (b.settlement_amount+b.earnest_money+b.add_work_amount+b.spare_total) ELSE 0 END) worker_settlement_sum"),
|
|
|
])
|
|
])
|
|
|
->leftJoin('service_work b', 'a.id = b.master_worker_id'.$this->sqlJoin)
|
|
->leftJoin('service_work b', 'a.id = b.master_worker_id'.$this->sqlJoin)
|
|
|
->where($queryWhere)
|
|
->where($queryWhere)
|
|
|
->where($this->queryDataWhere())
|
|
->where($this->queryDataWhere())
|
|
|
->group('a.id')
|
|
->group('a.id')
|
|
|
|
|
+ //->having('success_count>0 OR fail_count>0 OR work_amount_sum>0 OR worker_settlement_sum>0')
|
|
|
->order('a.id desc')
|
|
->order('a.id desc')
|
|
|
->limit($this->limitOffset, $this->limitLength)
|
|
->limit($this->limitOffset, $this->limitLength)
|
|
|
->select()->toArray();
|
|
->select()->toArray();
|
|
@@ -178,15 +178,17 @@ class MasterWorkerServiceOrderLists extends BaseAdminDataLists implements ListsS
|
|
|
$queryWhere = $this->queryWhere();
|
|
$queryWhere = $this->queryWhere();
|
|
|
return Db::name('master_worker')->alias('a')->field([
|
|
return Db::name('master_worker')->alias('a')->field([
|
|
|
'a.id','a.real_name','a.nickname','a.worker_number','a.recruiting_behalf',
|
|
'a.id','a.real_name','a.nickname','a.worker_number','a.recruiting_behalf',
|
|
|
|
|
+ Db::raw("SUM( CASE WHEN b.work_status > 1 THEN 1 ELSE 0 END ) AS accepting_count"),
|
|
|
Db::raw("SUM(CASE WHEN b.service_status = 3 THEN 1 ELSE 0 END) AS success_count"),
|
|
Db::raw("SUM(CASE WHEN b.service_status = 3 THEN 1 ELSE 0 END) AS success_count"),
|
|
|
Db::raw("SUM(CASE WHEN b.service_status = 4 OR b.service_status = 5 THEN 1 ELSE 0 END) AS fail_count"),
|
|
Db::raw("SUM(CASE WHEN b.service_status = 4 OR b.service_status = 5 THEN 1 ELSE 0 END) AS fail_count"),
|
|
|
- Db::raw("SUM(b.work_total) work_total"),
|
|
|
|
|
- Db::raw("SUM(b.worker_price) worker_price"),
|
|
|
|
|
|
|
+ Db::raw("SUM(CASE WHEN b.service_status = 3 THEN b.work_amount ELSE 0 END) work_amount_sum"),
|
|
|
|
|
+ Db::raw("SUM(CASE WHEN b.service_status = 3 THEN (b.settlement_amount+b.earnest_money+b.add_work_amount+b.spare_total) ELSE 0 END) worker_settlement_sum"),
|
|
|
])
|
|
])
|
|
|
->leftJoin('service_work b', 'a.id = b.master_worker_id'.$this->sqlJoin)
|
|
->leftJoin('service_work b', 'a.id = b.master_worker_id'.$this->sqlJoin)
|
|
|
->where($queryWhere)
|
|
->where($queryWhere)
|
|
|
->where($this->queryDataWhere())
|
|
->where($this->queryDataWhere())
|
|
|
->group('a.id')
|
|
->group('a.id')
|
|
|
|
|
+ //->having('success_count>0 OR fail_count>0 OR work_amount_sum>0 OR worker_settlement_sum>0')
|
|
|
->count();
|
|
->count();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -212,7 +214,7 @@ class MasterWorkerServiceOrderLists extends BaseAdminDataLists implements ListsS
|
|
|
}
|
|
}
|
|
|
return $row['labels']?:'';
|
|
return $row['labels']?:'';
|
|
|
},
|
|
},
|
|
|
- 'success_count', 'fail_count', 'work_total', 'worker_price'
|
|
|
|
|
|
|
+ 'success_count', 'fail_count', 'work_amount_sum', 'worker_settlement_sum'
|
|
|
];
|
|
];
|
|
|
return [
|
|
return [
|
|
|
'zh_cn_fields' => $zh_cn_fields,
|
|
'zh_cn_fields' => $zh_cn_fields,
|