|
@@ -0,0 +1,95 @@
|
|
|
+<?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['code']==''?: $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,'申请数据处理完成');
|
|
|
+ }
|
|
|
+}
|