1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- <?php
- declare (strict_types = 1);
- namespace app\admin\controller;
- use app\admin\model\ManagerChange;
- use think\App;
- use think\facade\Db;
- use think\facade\Validate;
- class Manager extends Base
- {
- protected $model=null;
- public function __construct(App $app) {
- parent::__construct($app);
- $this->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'=>'','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['manager']==''?: $where[]=['manager','like',"%{$param['manager']}%"];
- // $param['oaCode']==''?: $where[]=['oaCode','like',"%{$param['oaCode']}%"];
- // $param['type']==''?: $where[]=['type','=',$param['type']];
- $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->json(['orderCode'])->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")];
- Db::name("sale")->whereIn("orderCode",$info->orderCode)->update($update);
- }
- $this->model->commit();
- }catch (\Exception $exception){
- $this->model->rollback();
- return error_show(1004,$exception->getMessage());
- }
- return app_show(0,'申请数据处理完成');
- }
- }
|