model=new \app\user\model\Business(); } /** * @param $page 页码 * @param $size 每页显示条数 * @param $company 公司名称 * @param $status 状态 * @param $createrid 创建人id * @param $start 开始时间 * @param $end 结束时间 * @param $company_name 公司名称 * @return \think\Response|\think\response\Json * @throws \think\db\exception\DbException */ public function list(){ $param = $this->request->param([ 'page' => 1, 'size' => 10, 'company' => '', 'status' => '', 'createrid' => '', 'start' => '', 'end' => '', 'company_name' => '', ], 'post', 'trim'); $where = [["is_del","=",0]]; if($param['company']!='')$where[]=['company','like','%'.$param['company'].'%']; if($param['status']!='')$where[]=['status','=',$param['status']]; if($param['createrid']!='')$where[]=['createrid','=',$param['createrid']]; if($param['start']!='')$where[]=['create_time','>=',startTime($param['start'])]; if($param['end']!='')$where[]=['create_time','<=',endTime($param['end'])]; $list= $this->model->where($where)->order('id desc')->paginate(["list_rows"=>$param['size'], "page"=>$param['page']]); return success('获取成功',["list"=>$list->items(),"count"=>$list->total()]); } /** * @param $company 公司名称 * @param $inv_addr 公司地址 * @param $mobile 公司联系方式 * @param $inv_code 纳税编号 * @param $inv_bank 开户行 * @param $inv_bankNo 银行卡号 * @param $license_img 营业执照 * @param $inv_time 成立日期 * @param $inv_legaler 法人 * @param $type 类型 * @param $contactor 联系人 * @param $addr 联系地址 * @return \think\Response|\think\response\Json **/ public function create(){ $param = $this->request->param(["company"=>"","inv_addr"=>"","mobile"=>"","inv_code"=>"","inv_bank"=>"",'is_del'=>'0', "inv_bankNo"=>"","license_img"=>"","inv_time"=>"","inv_legaler"=>"","type"=>"","contactor"=>"","addr"=>"","inv_scope"=>"" ,"invoice_title"=>""],"post","trim"); $valid =Validate::rule([ 'company|业务公司名称' => 'require|max:255|unique:app\user\model\Business,company^is_del', 'inv_addr|公司地址' => 'require|max:255', 'mobile|公司联系方式' => 'require|max:255', 'inv_code|公司纳税编号' => 'require|max:255', 'inv_bank|开户行' => 'require|max:255', 'inv_bankNo|银行账户' => 'require|max:255', 'license_img|营业执照' => 'require|url', 'inv_time|成立日期' => 'require|max:255', 'inv_legaler|法人' => 'require|max:255', 'type|类型' => 'require|max:255', 'contactor|联系人' => 'require|max:255', 'addr|地址' => 'require|max:255', 'inv_scope|经营范围' => 'require|max:255', "invoice_title|发票抬头"=>"require|max:255" ]); if(!$valid->check($param)){ return error($valid->getError()); } $this->model->startTrans(); try{ $data = [ 'company' => $param['company'], 'companyNo' =>makeNo('GS'), 'inv_code' =>$param['inv_code'], 'type' => $param['type'], 'inv_legaler' => $param['inv_legaler'], 'inv_time' => $param['inv_time'], 'inv_addr' => $param['inv_addr'], 'inv_bank' => $param['inv_bank'], 'inv_bankNo' => $param['inv_bankNo'], 'invoice_title' => $param['invoice_title'], 'contactor' => $param['contactor'], 'mobile' => $param['mobile'], 'addr' => $param['addr'], 'creater' => $this->uname, 'createrid' => $this->uid, 'inv_scope' => $param['inv_scope'], 'license_img' =>$param['license_img'], ]; $model = $this->model->create($data); if($model->isEmpty())throw new \Exception('业务公司创建失败'); $model->updater=$this->uname; $model->updaterid=$this->uid; $hqcreate= Headquarters::createInfo($model,1); if (!$hqcreate)throw new \Exception('业务公司信息创建失败'); $this->model->commit(); }catch (\Exception $exception){ $this->model->rollback(); return error($exception->getMessage()); } return success('添加成功'); } /** * @param $id * @param $inv_addr * @param $inv_code * @param $inv_bank * @param $inv_bankNo * @param $invoice_title * @return \think\Response|\think\response\Json */ public function save(){ $param = $this->request->param(["id"=>"","inv_addr"=>"","inv_code"=>"","inv_bank"=>"",'is_del'=>'0', "inv_bankNo"=>"" ,"invoice_title"=>"",'invoice_mobile'=>''],"post","trim"); $valid =Validate::rule([ 'id|id' => 'require|integer', 'inv_addr|公司地址' => 'require|max:255', 'inv_code|公司纳税编号' => 'require|max:255', 'inv_bank|开户行' => 'require|max:255', 'inv_bankNo|银行账户' => 'require|max:255', "invoice_mobile|公司联系方式"=>'require|max:255', 'invoice_title|发票抬头' => 'require|max:255' ]); if(!$valid->check($param)) return error($valid->getError()); $model = $this->model->findOrEmpty($param['id']); if($model->isEmpty())return error('数据不存在'); $this->model->startTrans(); try { $model->inv_addr = $param['inv_addr']; $model->inv_code = $param['inv_code']; $model->inv_bank = $param['inv_bank']; $model->inv_bankNo = $param['inv_bankNo']; $model->invoice_title = $param['invoice_title']; $model->invoice_mobile = $param['invoice_mobile']; if(!$model->save())throw new \Exception('保存失败'); $model->updater=$this->uname; $model->updaterid=$this->uid; $hqcreate= Headquarters::createInfo($model,1); if (!$hqcreate)throw new \Exception('业务公司信息创建失败'); $this->model->commit(); }catch (\Exception $exception){ $this->model->rollback(); return error($exception->getMessage()); } return success('保存成功'); } /** * @return \think\Response|\think\response\Json|void */ public function delete(){ $param = $this->request->param(["id"=>""],"post","trim"); $valid =Validate::rule([ 'id|id' => 'require|integer', ]); if(!$valid->check($param)) return error($valid->getError()); $model = $this->model->findOrEmpty($param['id']); if($model->isEmpty())return error('数据不存在'); if($model->is_del == 1)return error('数据已删除'); $this->model->startTrans(); try{ $model->is_del=1; $save=$model->save(); if(!$save)throw new \Exception('删除失败'); $header=Headquarters::where('code',$model->companyNo)->findOrEmpty(); if(!$header->isEmpty()){ $header->is_del=1; $header->updater=$this->uname; $header->updaterid=$this->uid; $header->save(); } $this->model->commit(); }catch (\Exception $e){ $this->model->rollback(); return error($e->getMessage()); } return success('删除成功'); } /** * @return \think\Response|\think\response\Json|void */ public function status(){ $param = $this->request->param(['id'=>'',"status"=>""],'post','trim'); $valid =Validate::rule([ 'id|id' => 'require|integer', "status|状态"=>"require|number|in:0,1" ]); if(!$valid->check($param)) return error($valid->getError()); $model=$this->model->findOrEmpty($param['id']); if($model->isEmpty())return error('数据不存在'); $model->status=$param['status']; $this->model->startTrans(); try{ $save=$model->save(); if(!$save)throw new \Exception('修改失败'); $header=Headquarters::where('code',$model->companyNo)->findOrEmpty(); if(!$header->isEmpty()){ $header->status=$param['status']; $header->updater=$this->uname; $header->updaterid=$this->uid; $header->save(); } $this->model->commit(); }catch (\Exception $e){ $this->model->rollback(); return error($e->getMessage()); } return success('修改成功'); } }