wugg 1 year ago
parent
commit
e9d13f6841
1 changed files with 38 additions and 42 deletions
  1. 38 42
      app/admin/controller/Manager.php

+ 38 - 42
app/admin/controller/Manager.php

@@ -26,42 +26,48 @@ class Manager extends Base
    		]);
    	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");
+   	->column("orderCode,manager,managerid","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);
+   	foreach ($orderinfo as $item){
+   			$data[]=[
+		        'apply_id'=>$this->uid,
+		        'apply_name'=>$this->uname,
+		        'orderCode'=>$item['orderCode'],
+		        'old_manager'=>$item['manager'],
+		        'old_managerid'=>$item['managerid'],
+		        'companyName'=>$companyName,
+		        'companyNo'=>$param['companyNo'],
+		        'manager'=>$param['manager'],
+		        'managerid'=>$param['managerid'],
+		        'remark'=>$param['remark'],
+		        'status'=>1
+   		    ];
+   	}
+   
+   	$ad =$this->model->saveAll($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');
+  	$param = $this->request->only(['orderCode'=>'','oaCode'=>'','companyNo'=>'','apply_name'=>'','status'=>'','manager'=>'','old_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['old_manager']==''?: $where[]=['old_manager','like',"%{$param['old_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']]);
+  	$list = $this->model->where($where)->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']);
+     $info = $this->model->findOrEmpty($param['id']);
      return app_show(0,'获取成功',$info);
   }
   
@@ -81,8 +87,7 @@ class Manager extends Base
         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);
+            Db::name("sale")->where("orderCode",$info->orderCode)->update($update);
         }
     	$this->model->commit();
     }catch (\Exception $exception){
@@ -117,34 +122,25 @@ class Manager extends Base
 		if($orderInfo->isEmpty()) return error_show(1004,"{$item['orderCode']} 未找到数据");
 		if($orderInfo['supplierNo']!=$param['companyNo'])return error_show(1004,"{$item['orderCode']} 业务公司不一致");
 		$orderUp[]=["id"=>$orderInfo['id'],"manager"=>$item['manager'],"managerid"=>$item['managerid'],"updatetime"=>date("Y-m-d H:i:s")];
-		if(!isset($changeIn[$item['managerid']])){
-			$changeIn[$item['managerid']]=[
-					"orderCode"=>[$item["orderCode"]],
-					"manager"=>$item['manager'],
-					"managerid"=>$item['managerid']
+		$changeIn[]=[
+					'orderCode'=>$item['orderCode'],
+					'apply_id'=>$this->uid,
+		            'apply_name'=>$this->uname,
+					'manager'=>$item['manager'],
+					'managerid'=>$item['managerid'],
+					'companyName'=>$companyName,
+		            'companyNo'=>$param['companyNo'],
+					'old_manager'=>$orderInfo->manager,
+					'remark'=>'',
+		            'status'=>2,
+					'old_managerid'=>$orderInfo->managerid
 				];
-		}else{
-			$changeIn[$item['managerid']]['orderCode'][]=$item['orderCode'];
-		}
 	}
+	
 	$this->model->startTrans();
 	try{
-		$sale->saveAll($orderUp);
-		$temp=[];
-		foreach ($changeIn as $item){
-			$temp[]=[
-				'apply_id'=>$this->uid,
-		        'apply_name'=>$this->uname,
-		        'orderCode'=>json_encode($item['orderCode']),
-		        'companyName'=>$companyName,
-		        'companyNo'=>$param['companyNo'],
-		        'manager'=>$item['manager'],
-		        'managerid'=>$item['managerid'],
-		        'remark'=>'',
-		        'status'=>2
-			];
-		}
-		$this->model->saveAll($temp);
+		if(empty($orderUp)==false)$sale->saveAll($orderUp);
+		if(empty($orderUp)==false)$this->model->saveAll($changeIn);
 		$this->model->commit();
 	}catch (\Exception $e){
 		$this->model->rollback();