model=new ManagerChange(); } public function create(){ $param = $this->request->only(["orderCode"=>[],"manager"=>"","managerid"=>"","companyNo"=>"","remark"=>""],"post","trim"); $valid=Validate::rule([ "orderCode|订单集合"=>"require|array", "manager|项目经理"=>"require|max:255", "managerid|项目经理"=>"require|number|gt:0", "companyNo|业务公司"=>"require" ]); if($valid->check($param)==false) return error_show(1004,$valid->getError()); $orderinfo= Db::name("sale")->whereIn("orderCode",$param['orderCode'])->where("supplierNo",$param['companyNo']) ->column("orderCode"); if(count($orderinfo)!= count($param['orderCode'])) return error_show(1004,"数据存在业务公司不一致"); $userCommon = \app\admin\common\User::getIns(); $supp = $userCommon->handle("getCodeAndName",["code"=>$param['companyNo']]); if(!isset($supp['data']) || empty($supp['data'])) return error_show(1004,'业务公司数据未获取到'); $companyName = $supp['data'][$param['companyNo']]?:""; $data=[ "apply_id"=>$this->uid, "apply_name"=>$this->uname, "orderCode"=>json_encode($param['orderCode']), "companyName"=>$companyName, "companyNo"=>$param['companyNo'], "manager"=>$param['manager'], "managerid"=>$param['managerid'], "remark"=>$param['remark'], "status"=>1 ]; $ad =$this->model->save($data); return $ad? app_show(0,"创建成功"): error_show(1004,"创建失败"); } public function list(){ $param = $this->request->only(['orderCode'=>'','oaCode'=>'','companyNo'=>'','apply_name'=>'','status'=>'','manager'=>'','page'=>1,'size'=>15],'post','trim'); $where=[]; $param['orderCode']==''?: $where[]=['orderCode','like',"%{$param['orderCode']}%"]; $param['apply_name']==''?: $where[]=['apply_name','like',"%{$param['apply_name']}%"]; $param['companyNo']==''?: $where[]=['companyNo','like',"%{$param['companyNo']}%"]; $param['manager']==''?: $where[]=['manager','like',"%{$param['manager']}%"]; $param['status']==''?: $where[]=['status','=',$param['status']]; $list = $this->model->where($where)->json(['orderCode'])->order('id','desc')->paginate(['page'=>$param['page'],'list_rows'=>$param['size']]); return app_show(0,'获取成功',['list'=>$list->items(),'count'=>$list->total()]); } public function info(){ $param = $this->request->only(['id'],'post','trim'); $info = $this->model->json(['orderCode'])->findOrEmpty($param['id']); return app_show(0,'获取成功',$info); } public function status(){ $param = $this->request->only(['id'=>'','status'=>'','remark'=>''],'post','trim'); $Valid =Validate::rule(['id|申请id'=>'require','status|状态'=>'require|number|in:2,3']); if($Valid->check($param)==false) return error_show(1004,$Valid->getError()); $info = $this->model->findOrEmpty($param['id']); if($info->isEmpty())return error_show(1004,'未找到申请单数据'); if($info->status!=1) return error_show(1004,'申请单数据已审核'); $info->status=$param['status']; $info->remark=$param['remark']; $this->model->startTrans(); try{ $up=$info->save(); if($up==false)throw new \Exception('申请单审核失败'); if($param['status']==2){ $update=["manager"=>$info->manager,"managerid"=>$info->managerid,"updatetime"=>date("Y-m-d H:i:s")]; $orderCode =json_decode($info->orderCode,true); Db::name("sale")->whereIn("orderCode",$orderCode)->update($update); } $this->model->commit(); }catch (\Exception $exception){ $this->model->rollback(); return error_show(1004,$exception->getMessage()); } return app_show(0,'申请数据处理完成'); } }