Browse Source

Merge branch 'master-new-wgg' of wugg/phpstock into master-new

wugg 2 years ago
parent
commit
72b24bf7c6

+ 5 - 5
app/admin/controller/Action.php

@@ -254,12 +254,12 @@ class Action extends BaseController
                 ->where(['a.menuid' => $value['id'], "a.status" => 1])
                 ->select()
                 ->toArray();
-            $act_data = Db::name("action_field")
-                ->where(['menuid' => $value['id'], "status" => 1])
-                ->select()
-                ->toArray();
+//            $act_data = Db::name("action_field")
+//                ->where(['menuid' => $value['id'], "status" => 1])
+//                ->select()
+//                ->toArray();
             $value['action'] = $act;
-            $value['action_data'] = $act_data;
+            $value['action_data'] =[];
             if (array_key_exists($value['pid'], $result)) {
                 $result[$value['pid']]["child"][] = $value;
             }

+ 4 - 2
app/admin/controller/Consult.php

@@ -2351,8 +2351,10 @@ class Consult extends Base
         //查看非本公司的竞价单
         $relaComNo = isset($this->post['relaComNo']) && $this->post['relaComNo'] != "" ? trim($this->post['relaComNo']) : "";
         if ($relaComNo != "") {
-            if ($this->level == 2) $where[] = ['b.companyNo', '<>', $relaComNo];
-            else {
+            if ($this->level == 3) {
+//            	$where[] = ['b.companyNo', '<>', $relaComNo];
+//}
+//            else {
                 $relaComArr = $userCommon->handle("hqInfo", ["code" => $relaComNo]);
                 $where[] = ['b.companyNo', '<>', $relaComArr['data']['relation_code'] ?? ''];
             }

+ 8 - 11
app/admin/controller/Filing.php

@@ -245,16 +245,12 @@ class Filing extends Base
             ->field('id,is_select_pay_rate')
             ->findOrEmpty();
         if (empty($tmp)) return json_show(1005, '该平台不存在');
+        if ($tmp['status'] != 1) return error_show(1004, "平台信息已禁用");
+	    if($tmp['is_select_pay_rate']==1 && channel_is_company($param['platform_id'],$param['companyCode']))return
+	    error_show(1004, "平台渠道含有 {$company['data']['companyName']}");
 
 
         //校验支付渠道中的业务公司是否与报备单业务公司重复
-        if ($tmp['is_select_pay_rate'] == 1) {
-            $temp = Db::name('platform_pay_rate')
-                ->where(['is_del' => 0, 'platform_id' => $rs['platform_id'], 'companyNo' => $rs['companyCode']])
-                ->field('id')
-                ->findOrEmpty();
-            if (!empty($temp)) return json_show(1004, '业务公司重复,请选择其他平台');
-        }
 
         $update = array_merge($param, [
             'companyName' => $company['data']['companyName'],
@@ -729,10 +725,11 @@ class Filing extends Base
             $payinfo = Db::name("platform")->where(["id"=> $param['platform_id'],"is_del"=>0])->findOrEmpty();
             if (empty($payinfo)) return error_show(1004, "平台信息未找到");
             if ($payinfo['status'] != 1) return error_show(1004, "平台信息已禁用");
-            if($payinfo['is_select_pay_rate']==1){
-	            $supplierArr = Db::name("platform_pay_rate")->where(["platform_id" => $param['platform_id'], "status" => 1, "is_del" => 0])->column("companyNo");
-	            if (in_array($param['companyNo'], $supplierArr)) return error_show(1004, "平台支付渠道含有该业务公司,平台无法使用!");
-            }
+
+//	            $supplierArr = Db::name("platform_pay_rate")->where(["platform_id" => $param['platform_id'], "status" => 1, "is_del" => 0])->column("companyNo");
+//	            if (in_array($param['companyNo'], $supplierArr)) return error_show(1004, "平台支付渠道含有该业务公司,平台无法使用!");
+	             if($payinfo['is_select_pay_rate']==1 && channel_is_company($param['platform_id'],$param['companyNo']))return error_show(1004, "平台渠道含有 {$tmp['data'][$param['companyNo']]}");
+
 		$supplierinfo = $userCommon->handle("hqInfo",["code"=>$param['supplierNo']]);
 		if(!isset($supplierinfo['data'])|| empty($supplierinfo['data'])) return json_show(1004, "未找到供应商公司数据");
 		$person =$supplierinfo['data']['child']??["person"=>'',"person_id"=>0];

+ 6 - 6
app/admin/controller/Good.php

@@ -264,12 +264,12 @@ class Good extends Base
         if ($param['brand_id'] !== "") $where[] = ['a.brand_id', "=", $param['brand_id']];
 //        $role = $this->checkRole();
 //        if (!empty($role['write'])) $where[] = ["a.createrid", "in", $role['write']];
-        $role = $this->checkDataShare();
-        $hand = resign_hand_user($this->uid,0);
-        if (!empty($role[DataGroupModel::$type_全部])) {
-        	$arr= array_unique(array_merge($hand,$role[DataGroupModel::$type_全部]));
-			$where[] = ['b.createrid', 'in',$arr];
-        }
+//        $role = $this->checkDataShare();
+//        $hand = resign_hand_user($this->uid,0);
+//        if (!empty($role[DataGroupModel::$type_全部])) {
+//        	$arr= array_unique(array_merge($hand,$role[DataGroupModel::$type_全部]));
+//			$where[] = ['b.createrid', 'in',$arr];
+//        }
         if ($param['company_name'] !== '') $where[] = ["a.createrid", 'in', get_company_item_user_by_name($param['company_name'])];
 
 //        $relaComNo = isset($this->post['relaComNo']) && $this->post['relaComNo']!="" ? trim($this->post['relaComNo']):"";

+ 57 - 18
app/admin/controller/Goodup.php

@@ -525,6 +525,14 @@ class Goodup extends Base
         if($good_size==''){
             return error_show(1004,"参数good_size不能为空");
         }
+        $proof_type = isset($this->post['proof_type'])&&$this->post['proof_type']!=""? trim($this->post['proof_type']):"";
+          if($proof_type==''){
+            return error_show(1004,"参数proof_type不能为空");
+        }
+       $proof_url = isset($this->post['proof_url'])&&$this->post['proof_url']!=""? trim($this->post['proof_url']):"";
+         if($proof_url==''){
+            return error_show(1004,"参数proof_url不能为空");
+        }
         $company_id = isset($this->post['company_id'])&&$this->post['company_id']!=""? trim($this->post['company_id']) :"";
         if($company_id==''){
             return error_show(1004,"参数company_id不能为空");
@@ -753,10 +761,21 @@ class Goodup extends Base
                     }
                     $count = Db::name("good_spec")->insertAll($temp);
                     if($count==0){
-                        Db::rollback();
-                        return app_show(1004,"商品规格值创建失败");
+                      throw new \Exception("商品规格值创建失败");
                     }
                 }
+                 $proof=[
+		                    'spuCode'=>$spucode,
+		                    'proof_type'=>$proof_type,
+		                    'proof_url'=>$proof_url,
+		                    'is_del'=>0,
+		                    "creater"=>$creater,
+		                    "createrid"=>$createrid,
+		                    "addtime"=>date("Y-m-d H:i:s"),
+		                    "updatetime"=>date("Y-m-d H:i:s")
+		                    ];
+		                $inproof = Db::name("good_proof")->insert($proof);
+		                if($inproof==false)throw new \Exception("商品凭证新建失败");
 //                $catinfo = Db::name("cat")->where(["id"=>$cat_id])->find();
 //                $budget = isset($catinfo['order_rate']) ? $catinfo['order_rate']/100:0;
                 $top_cat_id = made($cat_id);//获取所有分类
@@ -795,8 +814,7 @@ class Goodup extends Base
                     }
                     $count = Db::name("good_nake")->insertAll($temp);
                     if($count==0){
-                        Db::rollback();
-                        return app_show(1004,"商品规格值创建失败");
+                    	throw new \Exception("商品成本创建失败");
                     }
                 }
 
@@ -820,8 +838,7 @@ class Goodup extends Base
                     return app_show(0,"创建成功",["spuCode"=>$spucode]);
 
             }else{
-                Db::rollback();
-                return app_show(1004,"商品创建失败");
+              throw new \Exception("商品创建失败");
             }
         }catch (\Exception $e){
             Db::rollback();
@@ -1000,6 +1017,9 @@ class Goodup extends Base
         }
         $count = Db::name("good_nake")->where(["spuCode"=>$supcode,"is_del"=>0])->count();
         $speclist = isset($this->post['speclist'])&&!empty($this->post['speclist'])? $this->post['speclist']:"";
+        $proof_type = isset($this->post['proof_type'])&&$this->post['proof_type']!=""? trim($this->post['proof_type']):"";
+        $proof_url = isset($this->post['proof_url'])&&$this->post['proof_url']!=""? trim($this->post['proof_url']):"";
+
         Db::startTrans();
         try {
             $temp=[
@@ -1073,6 +1093,21 @@ class Goodup extends Base
                         }
                     }
                 }
+                if($proof_url!=''){
+                $proof=[
+		                    'spuCode'=>$supcode,
+		                    'proof_type'=>$proof_type,
+		                    'proof_url'=>$proof_url,
+		                    'is_del'=>0,
+		                    "creater"=>$this->uid,
+		                    "createrid"=>$this->uname,
+		                    "addtime"=>date("Y-m-d H:i:s"),
+		                    "updatetime"=>date("Y-m-d H:i:s")
+		                    ];
+		                $inproof = Db::name("good_proof")->insert($proof);
+		                if($inproof==false)throw new \Exception("商品凭证新建失败");
+                }
+
                 //修改状态,添加待办
                 ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname], [
                     "order_code" =>$supcode,//咨询单详情编号
@@ -1811,18 +1846,6 @@ class Goodup extends Base
 
                     }
                     if ($post['exam_status'] == 3) {
-						 $proof=[
-		                    'spuCode'=>$platform['spuCode'],
-		                    'proof_type'=>$post['proof_type'],
-		                    'proof_url'=>$post['proof_url'],
-		                    'is_del'=>0,
-		                    "creater"=>$creater,
-		                    "createrid"=>$createrid,
-		                    "addtime"=>date("Y-m-d H:i:s"),
-		                    "updatetime"=>date("Y-m-d H:i:s")
-		                    ];
-		                $inproof = Db::name("good_proof")->insert($proof);
-		                if($inproof==false)throw new \Exception("商品凭证新建失败");
 		                if(empty($post['good_ladder']))throw new \Exception("商品阶梯价不能为空");
 		                foreach ($post['good_ladder'] as $value){
 		                	     $lemp=[];
@@ -2377,6 +2400,8 @@ class Goodup extends Base
         $speclist = isset($this->post['speclist'])&&!empty($this->post['speclist'])? $this->post['speclist']:"";
 
         $is_support_barter = isset($this->post['is_support_barter']) && $this->post['is_support_barter'] !== "" ? intval($this->post['is_support_barter']) : 1;
+		$proof_type = isset($this->post['proof_type'])&&$this->post['proof_type']!=""? trim($this->post['proof_type']):"";
+        $proof_url = isset($this->post['proof_url'])&&$this->post['proof_url']!=""? trim($this->post['proof_url']):"";
 
         Db::startTrans();
         try {
@@ -2482,6 +2507,20 @@ class Goodup extends Base
                         }
                     }
                 }
+               if($proof_url!=''){
+                $proof=[
+		                    'spuCode'=>$supcode,
+		                    'proof_type'=>$proof_type,
+		                    'proof_url'=>$proof_url,
+		                    'is_del'=>0,
+		                    "creater"=>$this->uid,
+		                    "createrid"=>$this->uname,
+		                    "addtime"=>date("Y-m-d H:i:s"),
+		                    "updatetime"=>date("Y-m-d H:i:s")
+		                    ];
+		                $inproof = Db::name("good_proof")->insert($proof);
+		                if($inproof==false)throw new \Exception("商品凭证新建失败");
+                }
                 if($good_ladder!=="" && !empty($good_ladder)){
 
 //                    $user =GetUserInfo($this->post['token']);//获取用户信息,下面更新成本表的创建人

+ 26 - 12
app/admin/controller/Resign.php

@@ -82,19 +82,33 @@ class Resign extends Base
 //        }
 
         //超管、库管、库管-张凯旋、boss能看到所有,其他人只能看到自己创建的和身为采购员的单子
-        $super_roleid = array_merge([1, 33], config('app.wsm_cgder_role'));
-        if (!in_array($this->roleid, $super_roleid)) {
-        	$role = $this->checkDataShare();
-        	$hand =resign_hand_user($this->uid,0);
-        if (!empty($role[DataGroupModel::$type_全部])){
-        	$arr= array_unique(array_merge($hand,$role[DataGroupModel::$type_全部]));
-        	$condition[]= ["p.apply_id","in",$arr];
-        	$condition[]= ["p.cgderid","in",$hand];
-        }
-//        	$condition .="p.cgderid in {$hand}  or p.apply_id in {$hand} or p.apply_id in ("
-//        .implode(',',$role[DataGroupModel::$type_全部]).")";
-        }
+//        $super_roleid = array_merge([1, 33], config('app.wsm_cgder_role'));
+//        if (!in_array($this->roleid, $super_roleid)) {
+//        	$role = $this->checkDataShare();
+//        	$hand =resign_hand_user($this->uid,0);
+//        if (!empty($role[DataGroupModel::$type_全部])){
+//        	$arr= array_unique(array_merge($hand,$role[DataGroupModel::$type_全部]));
+//        	$condition[]= ["p.apply_id","in",$arr];
+//        	$condition[]= ["p.cgderid","in",$hand];
+//        }
+////        	$condition .="p.cgderid in {$hand}  or p.apply_id in {$hand} or p.apply_id in ("
+////        .implode(',',$role[DataGroupModel::$type_全部]).")";
+//        }
+		//只有level2的账号过滤数据权限
+        if ($this->level == 2) {
+            $role = $this->checkDataShare();
+            $hand = resign_hand_user($this->uid, 0);
+            if (!empty($role[DataGroupModel::$type_全部])) {
+                $arr = array_unique(array_merge($hand, $role[DataGroupModel::$type_全部]));
 
+                $supplierNos = Db::connect('mysql_sys')
+                    ->name('supplier')
+                    ->where(['is_del' => 0, 'personid' => $arr])
+                    ->column('code');
+
+                $where[] = ['p.supplierNo', 'in', $supplierNos];
+            }
+        }
         $company_name = isset($this->post['company_name']) && $this->post['company_name'] !== "" ? trim($this->post['company_name']) : "";
         if ($company_name !== "") $where[] = ["p.apply_id", 'in', get_company_item_user_by_name($company_name)];
 

+ 15 - 3
app/admin/controller/Sale.php

@@ -52,6 +52,10 @@ class Sale extends Base
         if ($platform_id == '') {
             return error_show(1004, "参数platform_id不能为空");
         }
+        $platforminfo = Db::name("platform")->where(["id"=> $platform_id,"is_del"=>0])->findOrEmpty();
+        if (empty($platforminfo)) return error_show(1004, "平台信息未找到");
+        if ($platforminfo['status'] != 1) return error_show(1004, "平台信息已禁用");
+        if($platforminfo['is_select_pay_rate']==1 && channel_is_company($platform_id,$supplierNo))return error_show(1004, "平台渠道含有 {$tmp['data'][$supplierNo]}");
         $platform_order = isset($this->post['platform_order']) && $this->post['platform_order'] !== "" ? trim($this->post['platform_order']) : "";
         $good_code = isset($this->post['good_code']) && $this->post['good_code'] !== "" ? trim($this->post['good_code']) : "";
         if ($good_code == '') {
@@ -879,7 +883,6 @@ class Sale extends Base
         if ($companyNo == "") {
             return error_show(1003, "参数 companyNo 不能为空");
         }
-
         $userCommon = \app\admin\common\User::getIns();
 //        }
         $remark = isset($this->post['remark']) && $this->post['remark'] != "" ? trim($this->post['remark']) : "";
@@ -889,6 +892,10 @@ class Sale extends Base
         $companyinfo = $userCommon->handle('getCodeAndName',['code'=>[$companyNo,$zxorder['khNo']]]);
         if(!isset($companyinfo['code']) || $companyinfo['code']!=0) return json_show($companyinfo['code'],$companyinfo['message'],$companyinfo['data']);
         $supplier_temp_info = $tmp['data'];
+		$platforminfo = Db::name("platform")->where(["id"=> $zxorder['platform_code'],"is_del"=>0])->findOrEmpty();
+        if (empty($platforminfo)) return error_show(1004, "平台信息未找到");
+        if ($platforminfo['status'] != 1) return error_show(1004, "平台信息已禁用");
+        if($platforminfo['is_select_pay_rate']==1 && channel_is_company($zxorder['platform_code'],$companyNo))return error_show(1004, "平台渠道含有 {$companyinfo['data'][$companyNo]}");
         $orderCode = makeNo("QR");
         $spuCode = $zxinfo['spuCode'];
         $skuCode = "";
@@ -1269,6 +1276,7 @@ class Sale extends Base
         if ($project == false) {
             return error_show(1004, "未找到方案信息");
         }
+
         $arrtime = isset($this->post['arrtime']) && $this->post['arrtime'] != "" ? $this->post['arrtime'] : "";
         if ($arrtime == "") {
             return error_show(1002, "参数arrtime不能为空");
@@ -1280,6 +1288,10 @@ class Sale extends Base
         $userCommon = \app\admin\common\User::getIns();
         $names = $userCommon->handle('getCodeAndName', ['code' =>[$project['companyNo'],$project['khNo']]]);
 		if($names['code']!=0 || empty($names['data']) ) return error_show($names['code'],$names['message']);
+		$platforminfo = Db::name("platform")->where(["id"=> $project['platform_id'],"is_del"=>0])->findOrEmpty();
+        if (empty($platforminfo)) return error_show(1004, "平台信息未找到");
+        if ($platforminfo['status'] != 1) return error_show(1004, "平台信息已禁用");
+        if($platforminfo['is_select_pay_rate']==1 && channel_is_company($project['platform_id'],$project['companyNo']))return error_show(1004, "平台渠道含有 {$names['data'][$project['companyNo']]}");
         $rm = $this->uid;//isset($apply_id["data"]['id']) ? $apply_id["data"]['id'] : "";
         $ri = $this->uname;//isset($apply_id["data"]['nickname']) ? $apply_id["data"]['nickname'] : "";
         Db::startTrans();
@@ -5165,7 +5177,7 @@ class Sale extends Base
             foreach ($list as $sale) {
 
                 if ($sale['sale_status'] == 3) throw new \think\Exception($sale['orderCode'] . '已取消,无法重复操作');
-                if (cat_is_gold($sale['cat_id'])) throw new \think\Exception($sale['orderCode'] . '为贵金属,无法取消');
+//                if (cat_is_gold($sale['cat_id'])) throw new \think\Exception($sale['orderCode'] . '为贵金属,无法取消');
 //                if ($sale['sale_status']!=0) throw new \think\Exception($sale['orderCode'] . '已发货,无法取消');
                 if ($sale['order_type'] == 1) {
                     if ($sale['sale_status'] != 0) throw new \think\Exception($sale['orderCode'] . '已发货,无法取消');
@@ -5184,7 +5196,7 @@ class Sale extends Base
 					"th_type"=>4,//取消订单
 					"th_num"=>$sale["wsend_num"],
 					"th_fee"=>$sale["total_price"],
-					"th_Code"=>$sale["orderCode"],
+					"thCode"=>$sale["orderCode"],
 					"cat_id"=>$sale["cat_id"],
 					"good_name"=>$sale["good_name"],
 					"spuCode"=>$sale["good_code"],

+ 8 - 1
app/command/ImportOrderFromCHandleData.php

@@ -93,7 +93,14 @@ class ImportOrderFromCHandleData extends Command
 
                 $sendtype = 1;//直接发货
                 $platform_id = $extend_data['platform_id'];
-
+			$tmp = Db::name('platform')
+            ->where(['is_del' => 0, 'id' => $extend_data['platform_id']])
+            ->field('id,is_select_pay_rate')
+            ->findOrEmpty();
+        if (empty($tmp)) throw new Exception('平台不存在');
+        if ($tmp['status'] != 1) throw new Exception('平台已禁用');
+	    if($tmp['is_select_pay_rate']==1 && channel_is_company($extend_data['platform_id'],$supplierNo))
+	    	throw new Exception("平台渠道含有{$supplier['company']}");
                 $platform_order = $extend_data['platform_code'];
                 $good_num = $extend_data['num'];
                 $arrtime = $extend_data['platform_time'];

+ 13 - 0
app/common.php

@@ -1704,4 +1704,17 @@ if(function_exists('cat_is_gold')==false){
 			if(empty($catlist))return in_array($catid,$gold_cat_id);
 			else return cat_is_gold($catid,$catlist);
     }
+}
+
+//是否是贵金属
+if(function_exists('channel_is_company')==false){
+    function channel_is_company($platform_id,$companyNo){
+    	$platform=Db::name("platform_channel")
+    	->alias("a")
+    	->leftJoin("channel b","a.channel_id=b.id")
+    	->where(["a.is_del"=>0,"b.is_del"=>0,"b.status"=>1,"a.id"=>$platform_id])
+    	->column("b.companyNo");
+    	if(in_array($companyNo,$platform))return true;
+		return false;
+    }
 }