| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241 | 
							- <?php
 
- namespace app\common\model;
 
- use app\hander\HelpHander;
 
- use think\Db;
 
- use think\Exception;
 
- class CleanPlanRecord extends Base {
 
-     protected $createTime = 'create_time';
 
-     protected $updateTime = 'update_time';
 
-     public $table = 'clean_plan_record';
 
-     protected $validateName = 'CleanPlanRecord';
 
-     public function addSave() {
 
-         $data = request()->post();
 
-         $data['forms'] = !empty($data['forms'])?implode(',',$data['forms']):'';
 
-         $data['addrs'] = !empty($data['addrs'])?implode(',',$data['addrs']):'';
 
-         $data['org_id'] = cur_org_id();
 
-         $result = validate($this->validateName)->check($data, [], 'add');
 
-         if (true !== $result) {
 
-             $this->error = validate($this->validateName)->getError();
 
-             return false;
 
-         }
 
-         $user = $data['user'];
 
-         unset($data['user']);
 
-         $this->startTrans();
 
-         try {
 
-             $forms = explode(',',$data['forms']);
 
-             $addrs = explode(',',$data['addrs']);
 
-             unset($data['forms']);
 
-             unset($data['addrs']);
 
-             foreach ($forms as $k=>$v){
 
-                 //foreach ($addrs as $kk=>$vv){
 
-                     $rdata = [
 
-                         'org_id' => $data['org_id'],
 
-                         'form_id' => $v,
 
-                         'address_id' => implode(',',$addrs),
 
-                         'plan_id' => $data['plan_id'],
 
-                         'start' => $data['start'],
 
-                         'end' => $data['end'],
 
-                         'remark' => $data['remark'],
 
-                         'create_time' => getTime()
 
-                     ];
 
-                     $rid = Db::name('clean_plan_record')->insertGetId($rdata);
 
-                     if(!$rid){
 
-                         \exception('任务保存失败');
 
-                     }
 
-                     //添加任务人员
 
-                     $users = explode(',', $user);
 
-                     $nArr = [];
 
-                     foreach ($users as $v) {
 
-                         if($v){
 
-                             $nArr[] = [
 
-                                 'record_id' => $rid,
 
-                                 'user_id' => $v
 
-                             ];
 
-                         }
 
-                     }
 
-                     if($nArr){
 
-                         $res = Db::name('clean_plan_user')->insertAll($nArr);
 
-                         if (!$res) {
 
-                             \exception('保存失败');
 
-                         }
 
-                     }
 
-               //  }
 
-             }
 
-             $this->commit();
 
-             return true;
 
-         } catch (Exception $e) {
 
-             $this->rollback();
 
-             $this->error = $e->getMessage();
 
-             return false;
 
-         }
 
-     }
 
-     public function editSave() {
 
-         $data = request()->post();
 
-         $data['org_id'] = cur_org_id();
 
-         $data['address_id'] = !empty($data['address_id'])?implode(',',$data['address_id']):'';
 
-         $result = validate($this->validateName)->check($data, [], 'edit');
 
-         if (true !== $result) {
 
-             $this->error = validate($this->validateName)->getError();
 
-             return false;
 
-         }
 
-         $user = $data['user'];
 
-         unset($data['user']);
 
-         $this->startTrans();
 
-         try {
 
-             $data['update_time'] = getTime();
 
-             $res = Db::name('clean_plan_record')->where('id',$data['id'])->update($data);
 
-             if(!$res){
 
-                 \exception('操作失败');
 
-             }
 
-             Db::name('clean_plan_user')->where('record_id',$data['id'])->delete();
 
-             //添加任务人员
 
-             $users = explode(',', $user);
 
-             $nArr = [];
 
-             foreach ($users as $v) {
 
-                 if($v){
 
-                     $nArr[] = [
 
-                         'record_id' => $data['id'],
 
-                         'user_id' => $v
 
-                     ];
 
-                 }
 
-             }
 
-             if($nArr){
 
-                 $res = Db::name('clean_plan_user')->insertAll($nArr);
 
-                 if (!$res) {
 
-                     \exception('保存失败');
 
-                 }
 
-             }
 
-             $this->commit();
 
-             return true;
 
-         } catch (Exception $e) {
 
-             $this->rollback();
 
-             $this->error = $e->getMessage();
 
-             return false;
 
-         }
 
-     }
 
-     public function get_list_by_time($orgId,$start,$end){
 
-         $map[] = ['org_id','=',$orgId];
 
-         $map[] = ['del','=',0];
 
-         $map[] = ['start','<=',$end];
 
-         $map[] = ['end','>=',$start];
 
-         $list = $this->field('id,form_id,address_id,start,end,enable')
 
-             ->where($map)
 
-             ->select();
 
-         $list = $list?$list->toArray():[];
 
-         foreach ($list as $k=>$v){
 
-             $list[$k]['ftitle'] = Db::name('clean_type')->where('id',$v['form_id'])->value('title');
 
-             $list[$k]['atitle'] = Db::name('address')->where('id',$v['address_id'])->value('title');
 
-         }
 
-         return $list?$list:array();
 
-     }
 
-     public function detail($id,$orgId){
 
-         $info = Db::name('clean_plan_record')->where('org_id',$orgId)->where('id',$id)->where('del',0)->find();
 
-         if(!$info){
 
-             $this->error = '记录不存在';
 
-             return false;
 
-         }
 
-         $users = Db::name('clean_plan_user')
 
-             ->alias('a')
 
-             ->join('user b','a.user_id = b.id')
 
-             ->where('a.record_id',$info['id'])
 
-             ->column('b.real_name');
 
-         $info['users'] = $users?implode(',',$users):'';
 
-         $address = Db::name('address')
 
-             ->where('id','in',explode(',',$info['address_id']))->select();
 
-         $info['address'] = $address?implode(',',array_column($address,'title')):'';
 
-         $forms = Db::name('clean_type')->where('id',$info['form_id'])->find();
 
-         $info['form'] = $forms?$forms['title']:'';
 
-         $info['finish_user'] = '';
 
-         if($info['finish_user_id'] > 0){
 
-             $info['finish_user'] = Db::name('user')->where('id',$info['finish_user_id'])->value('real_name');
 
-         }
 
-         $info['imgs'] = $info['imgs']?$info['imgs']:'';
 
-         return $info;
 
-     }
 
-     public function lists($page,$size,$status,$day,$userId,$orgId) {
 
-         $map[] = ['b.del','=',0];
 
-         $map[] = ['b.enable','=',$status];
 
-         $map[] = ['b.start','<=',$day];
 
-         $map[] = ['b.end','>=',$day];
 
-         $map[] = ['b.org_id','=',$orgId];
 
-         $map[] = ['a.user_id','=',$userId];
 
-         $lists = Db::name('clean_plan_user')
 
-             ->alias('a')
 
-             ->join('clean_plan_record b','a.record_id = b.id')
 
-             ->where($map)
 
-             ->order('b.id desc')
 
-             ->field('b.id,b.address_id,b.form_id,b.enable,b.start,b.end,b.remark')
 
-             ->page($page, $size)
 
-             ->select();
 
-         $lists = $lists?$lists:[];
 
-         foreach ($lists as $k=>$v){
 
-             $users = Db::name('clean_plan_user')
 
-                 ->alias('a')
 
-                 ->join('user b','a.user_id = b.id')
 
-                 ->where('a.record_id',$v['id'])
 
-                 ->column('b.real_name');
 
-             $lists[$k]['users'] = $users?implode(',',$users):'';
 
-             $address = Db::name('address')
 
-                 ->where('id','in',explode(',',$v['address_id']))
 
-                 ->select();
 
-             $lists[$k]['address'] = $address?implode(',',array_column($address,'title')):'';
 
-             $forms = Db::name('clean_type')->where('id',$v['form_id'])->find();
 
-             $lists[$k]['form'] = $forms?$forms['title']:'';
 
-         }
 
-         return $lists;
 
-     }
 
-     public function finish($id,$content,$imgs,$userId,$orgId){
 
-         $info = Db::name('clean_plan_record')->where('org_id',$orgId)->where('id',$id)->where('del',0)->find();
 
-         if(!$info){
 
-             $this->error = '记录不存在';
 
-             return false;
 
-         }
 
-         if($info['enable'] == 1){
 
-             $this->error = '已完成,勿重复操作';
 
-             return false;
 
-         }
 
-         $users = Db::name('clean_plan_user')
 
-             ->alias('a')
 
-             ->join('user b','a.user_id = b.id')
 
-             ->where('a.record_id',$info['id'])
 
-             ->where('a.user_id',$userId)
 
-             ->column('b.id');
 
-         if(!$users){
 
-             $this->error = '无权限操作';
 
-             return false;
 
-         }
 
-         $ret = Db::name('clean_plan_record')->where('id',$id)->update([
 
-             'enable' => 1,
 
-             'finish_user_id' => $userId,
 
-             'finish_time' => getTime(),
 
-             'content' => $content,
 
-             'imgs' => $imgs
 
-         ]);
 
-         if(!$ret){
 
-             $this->error = '操作失败';
 
-             return false;
 
-         }
 
-         return true;
 
-     }
 
- }
 
 
  |