123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 |
- <?php
- namespace app\user\controller;
- use app\user\model\Headquarters;use think\App;
- use think\facade\Validate;
- class Business extends Base{
- public function __construct(App $app) {
- parent::__construct($app);
- $this->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"=>""],"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_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'];
- 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('保存成功');
- }
- 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('数据已删除');
- $model->is_del =1;
- if($model->save()){
- $headquarters = new \app\user\model\Headquarters();
- $headquarters->update([
- 'is_del'=>1,
- 'updater'=>$this->uname,
- 'updaterid'=>$this->uid,
- ],['code'=>$model->companyNo]);
- }
- return success('删除成功');
- }
- }
|