|
@@ -926,120 +926,87 @@ class PatrolTask extends Auth
|
|
|
}
|
|
|
|
|
|
public function addrWork($mode){
|
|
|
- $day = input('day',date('Y-m-d'),'trim');
|
|
|
-
|
|
|
-
|
|
|
- if(request()->isAjax()){
|
|
|
- //分页参数
|
|
|
- $length = input('rows',10,'intval'); //每页条数
|
|
|
- $page = input('page',1,'intval'); //第几页
|
|
|
- $start = ($page - 1) * $length; //分页开始位置
|
|
|
- //排序
|
|
|
- $sortRow = input('sidx','sort','trim'); //排序列
|
|
|
- $sort = input('sord','asc','trim'); //排序方式
|
|
|
- $order = $sortRow.' '.$sort.' ,id desc';
|
|
|
-
|
|
|
- $first = 1;
|
|
|
- $w = date('w',strtotime($day));
|
|
|
- $wst = date('Ymd',strtotime("$day -" . ($w ? $w - $first : 6) . ' days'));
|
|
|
- $wet = date('Ymd',strtotime("$day +6 days"));
|
|
|
-
|
|
|
|
|
|
- $zuo = date('Ymd',strtotime($day)-86400);
|
|
|
- $you = date('Ymd',strtotime($day)+86400);
|
|
|
-
|
|
|
- $st = $day.' 00:00:00';
|
|
|
- $et = $day.' 23:59:59';
|
|
|
- $map[] = ['pt.org_id','=',$this->orgId];
|
|
|
- $map[] =['pt.patrol_mode','=',$mode];
|
|
|
- $map[] =['pt.start_time','>=',$st];
|
|
|
- $map[] =['pt.start_time','<=',$et];
|
|
|
- $map= empty($map) ? true: $map;
|
|
|
-
|
|
|
- $lists = Db::name('patrol_task_addr')
|
|
|
- ->alias('pta')
|
|
|
- ->join('patrol_task pt','pt.id=pta.patrol_task_id')
|
|
|
- ->where($map)
|
|
|
- ->field('pta.*,pt.patrol_mode')
|
|
|
- ->limit($start,$length)
|
|
|
- ->order('pta.id desc')
|
|
|
- ->group('pta.address_id')
|
|
|
- ->select();
|
|
|
+ $day = input('day',date('Y-m-d'),'trim');
|
|
|
+ $first = 1;
|
|
|
+ $w = date('w',strtotime($day));
|
|
|
+ $wst = date('Ymd',strtotime("$day -" . ($w ? $w - $first : 6) . ' days'));
|
|
|
+ $wet = date('Ymd',strtotime("$day +6 days"));
|
|
|
|
|
|
- foreach ($lists as $k=>$v){
|
|
|
- $lists[$k]['addr'] = Db::name('address')->where('id',$v['address_id'])->value('title');
|
|
|
- $taskIds = Db::name('patrol_task_addr')->where('address_id',$v['address_id'])->column('patrol_task_id');
|
|
|
- $lists[$k]['count'] = Db::name('patrol_task')
|
|
|
- ->whereIn('id',$taskIds)
|
|
|
- ->where('patrol_mode',$v['patrol_mode'])
|
|
|
- ->count();
|
|
|
- $lists[$k]['num'] = Db::name('patrol_task')
|
|
|
- ->whereIn('id',$taskIds)
|
|
|
- ->where('patrol_mode',$v['patrol_mode'])
|
|
|
- ->where('create_yyyymm',date('Ym',strtotime($day)))
|
|
|
- ->count();
|
|
|
- $lists[$k]['num1'] = Db::name('patrol_task')
|
|
|
- ->whereIn('id',$taskIds)
|
|
|
- ->where('patrol_mode',$v['patrol_mode'])
|
|
|
- ->where('create_yyyymmdd','>=',$wst)
|
|
|
- ->where('create_yyyymmdd','<=',$wet)
|
|
|
- ->count();
|
|
|
|
|
|
- $lists[$k]['num2'] = Db::name('patrol_task')
|
|
|
- ->whereIn('id',$taskIds)
|
|
|
- ->where('patrol_mode',$v['patrol_mode'])
|
|
|
- ->where('create_yyyymmdd','=',date('Ymd',strtotime($day)))
|
|
|
- ->count();
|
|
|
+ $zuo = date('Ymd',strtotime($day)-86400);
|
|
|
+ $you = date('Ymd',strtotime($day)+86400);
|
|
|
|
|
|
- $lists[$k]['num3'] = Db::name('patrol_task')
|
|
|
- ->whereIn('id',$taskIds)
|
|
|
- ->where('patrol_mode',$v['patrol_mode'])
|
|
|
- ->where('create_yyyymmdd','=',$zuo)
|
|
|
- ->where('status','in',[0,1,3,5,6])
|
|
|
- ->count();
|
|
|
+ $st = $day.' 00:00:00';
|
|
|
+ $et = $day.' 23:59:59';
|
|
|
+ $map[] = ['pt.org_id','=',$this->orgId];
|
|
|
+ $map[] =['pt.patrol_mode','=',$mode];
|
|
|
+ $map[] =['pt.start_time','>=',$st];
|
|
|
+ $map[] =['pt.start_time','<=',$et];
|
|
|
+ $map= empty($map) ? true: $map;
|
|
|
|
|
|
- $lists[$k]['num4'] = Db::name('patrol_task')
|
|
|
- ->whereIn('id',$taskIds)
|
|
|
- ->where('patrol_mode',$v['patrol_mode'])
|
|
|
- ->where('create_yyyymmdd','=',date('Ymd',strtotime($day)))
|
|
|
- ->where('status','in',[0,1,3,5,6])
|
|
|
- ->count();
|
|
|
- }
|
|
|
+ $lists = Db::name('patrol_task_addr')
|
|
|
+ ->alias('pta')
|
|
|
+ ->join('patrol_task pt','pt.id=pta.patrol_task_id')
|
|
|
+ ->where($map)
|
|
|
+ ->field('pta.*,pt.patrol_mode')
|
|
|
+ ->order('pta.id desc')
|
|
|
+ ->group('pta.address_id')
|
|
|
+ ->select();
|
|
|
|
|
|
- $totalCount = Db::name('patrol_task_addr')
|
|
|
- ->alias('pta')
|
|
|
- ->join('patrol_task pt','pt.id=pta.patrol_task_id')
|
|
|
- ->where($map)
|
|
|
- ->field('pta.*,pt.patrol_mode')
|
|
|
- ->order('pta.id desc')
|
|
|
- ->group('pta.address_id')
|
|
|
+ foreach ($lists as $k=>$v){
|
|
|
+ $lists[$k]['addr'] = Db::name('address')->where('id',$v['address_id'])->value('title');
|
|
|
+ $taskIds = Db::name('patrol_task_addr')->where('address_id',$v['address_id'])->column('patrol_task_id');
|
|
|
+ $lists[$k]['count'] = Db::name('patrol_task')
|
|
|
+ ->whereIn('id',$taskIds)
|
|
|
+ ->where('patrol_mode',$v['patrol_mode'])
|
|
|
+ ->count();
|
|
|
+ $lists[$k]['num'] = Db::name('patrol_task')
|
|
|
+ ->whereIn('id',$taskIds)
|
|
|
+ ->where('patrol_mode',$v['patrol_mode'])
|
|
|
+ ->where('create_yyyymm',date('Ym',strtotime($day)))
|
|
|
+ ->count();
|
|
|
+ $lists[$k]['num1'] = Db::name('patrol_task')
|
|
|
+ ->whereIn('id',$taskIds)
|
|
|
+ ->where('patrol_mode',$v['patrol_mode'])
|
|
|
+ ->where('create_yyyymmdd','>=',$wst)
|
|
|
+ ->where('create_yyyymmdd','<=',$wet)
|
|
|
->count();
|
|
|
|
|
|
- $totalPage = ceil($totalCount/$length);
|
|
|
- $result['page'] = $page;
|
|
|
- $result['total'] = $totalPage;
|
|
|
- $result['records'] = $totalCount;
|
|
|
- $result['rows'] = $lists;
|
|
|
- return json($result);
|
|
|
- }else{
|
|
|
+ $lists[$k]['num2'] = Db::name('patrol_task')
|
|
|
+ ->whereIn('id',$taskIds)
|
|
|
+ ->where('patrol_mode',$v['patrol_mode'])
|
|
|
+ ->where('create_yyyymmdd','=',date('Ymd',strtotime($day)))
|
|
|
+ ->count();
|
|
|
|
|
|
- $modeName = (new \app\common\model\PatrolAddrForm())->getModeTitle($mode);
|
|
|
+ $lists[$k]['num3'] = Db::name('patrol_task')
|
|
|
+ ->whereIn('id',$taskIds)
|
|
|
+ ->where('patrol_mode',$v['patrol_mode'])
|
|
|
+ ->where('create_yyyymmdd','=',$zuo)
|
|
|
+ ->where('status','in',[0,1,3,5,6])
|
|
|
+ ->count();
|
|
|
|
|
|
- $this->assign('mode',$mode);
|
|
|
- $this->assign('day',$day);
|
|
|
- $this->assign('meta_title',$modeName.'地点工作量统计');
|
|
|
- return $this->fetch();
|
|
|
+ $lists[$k]['num4'] = Db::name('patrol_task')
|
|
|
+ ->whereIn('id',$taskIds)
|
|
|
+ ->where('patrol_mode',$v['patrol_mode'])
|
|
|
+ ->where('create_yyyymmdd','=',date('Ymd',strtotime($day)))
|
|
|
+ ->where('status','in',[0,1,3,5,6])
|
|
|
+ ->count();
|
|
|
}
|
|
|
|
|
|
+ $modeName = (new \app\common\model\PatrolAddrForm())->getModeTitle($mode);
|
|
|
|
|
|
+ $this->assign('data',$lists);
|
|
|
+ $this->assign('mode',$mode);
|
|
|
+ $this->assign('day',$day);
|
|
|
+ $this->assign('meta_title',$modeName.'地点工作量统计');
|
|
|
+ return $this->fetch();
|
|
|
}
|
|
|
|
|
|
|
|
|
public function addrWorkExport(){
|
|
|
-
|
|
|
- $day = input('day',date('Y-m-d'),'trim');
|
|
|
$mode = input('mode');
|
|
|
-
|
|
|
+ $day = input('day',date('Y-m-d'),'trim');
|
|
|
$first = 1;
|
|
|
$w = date('w',strtotime($day));
|
|
|
$wst = date('Ymd',strtotime("$day -" . ($w ? $w - $first : 6) . ' days'));
|
|
@@ -1068,43 +1035,45 @@ class PatrolTask extends Auth
|
|
|
|
|
|
foreach ($lists as $k=>$v){
|
|
|
$lists[$k]['addr'] = Db::name('address')->where('id',$v['address_id'])->value('title');
|
|
|
+ $taskIds = Db::name('patrol_task_addr')->where('address_id',$v['address_id'])->column('patrol_task_id');
|
|
|
$lists[$k]['count'] = Db::name('patrol_task')
|
|
|
- ->where('id',$v['patrol_task_id'])
|
|
|
+ ->whereIn('id',$taskIds)
|
|
|
->where('patrol_mode',$v['patrol_mode'])
|
|
|
->count();
|
|
|
$lists[$k]['num'] = Db::name('patrol_task')
|
|
|
- ->where('id',$v['patrol_task_id'])
|
|
|
+ ->whereIn('id',$taskIds)
|
|
|
->where('patrol_mode',$v['patrol_mode'])
|
|
|
->where('create_yyyymm',date('Ym',strtotime($day)))
|
|
|
->count();
|
|
|
$lists[$k]['num1'] = Db::name('patrol_task')
|
|
|
- ->where('id',$v['patrol_task_id'])
|
|
|
+ ->whereIn('id',$taskIds)
|
|
|
->where('patrol_mode',$v['patrol_mode'])
|
|
|
->where('create_yyyymmdd','>=',$wst)
|
|
|
->where('create_yyyymmdd','<=',$wet)
|
|
|
->count();
|
|
|
|
|
|
$lists[$k]['num2'] = Db::name('patrol_task')
|
|
|
- ->where('id',$v['patrol_task_id'])
|
|
|
+ ->whereIn('id',$taskIds)
|
|
|
->where('patrol_mode',$v['patrol_mode'])
|
|
|
->where('create_yyyymmdd','=',date('Ymd',strtotime($day)))
|
|
|
->count();
|
|
|
|
|
|
$lists[$k]['num3'] = Db::name('patrol_task')
|
|
|
- ->where('id',$v['patrol_task_id'])
|
|
|
+ ->whereIn('id',$taskIds)
|
|
|
->where('patrol_mode',$v['patrol_mode'])
|
|
|
->where('create_yyyymmdd','=',$zuo)
|
|
|
->where('status','in',[0,1,3,5,6])
|
|
|
->count();
|
|
|
|
|
|
$lists[$k]['num4'] = Db::name('patrol_task')
|
|
|
- ->where('id',$v['patrol_task_id'])
|
|
|
+ ->whereIn('id',$taskIds)
|
|
|
->where('patrol_mode',$v['patrol_mode'])
|
|
|
->where('create_yyyymmdd','=',date('Ymd',strtotime($day)))
|
|
|
->where('status','in',[0,1,3,5,6])
|
|
|
->count();
|
|
|
}
|
|
|
|
|
|
+
|
|
|
$modeName = (new \app\common\model\PatrolAddrForm())->getModeTitle($mode);
|
|
|
|
|
|
|