Parcourir la source

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

wugg il y a 1 an
Parent
commit
93984024a0

+ 26 - 3
app/admin/controller/DataChange.php

@@ -25,14 +25,22 @@ class DataChange extends Base
   	$valid =Validate::rule([
   		"code|订单编号"=>"require",
   	"type|订单类型"=>"require|number|in:1,2,3",
-  	"appply_id|申请人"=>"require|number",
+  	"apply_id|申请人"=>"require|number",
   	"change|修改字段内容"=>"require|array"]);
   	if($valid->check($param)==false) return error_show(1004,$valid->getError());
   	if($param['type']==1){
   		$orderinfo = Db::name("purchease_order")->where(["cgdNo"=>$param['code']])->find();
+  		  $fininfo =GetFin('admin/orderischeck',['token'=>$this->post['token'],'orderCode'=>$param['code'],'is_cgd_check'=>1]);
+				if(!isset($fininfo['code'])||$fininfo['code']!=0 ){
+					return json_show(1005, $fininfo['message']??'结算校验失败');
+				}
   	}
   	if($param['type']==2){
   		$orderinfo = Db::name('sale')->where(['orderCode'=>$param['code']])->find();
+  		  $fininfo =GetFin('admin/orderischeck',['token'=>$this->post['token'],'orderCode'=>$param['code'],'is_cgd_check'=>0]);
+				if(!isset($fininfo['code'])||$fininfo['code']!=0 ){
+					return json_show(1005, $fininfo['message']??'结算校验失败');
+				}
   	}
   	
   	if($param['type']==3){
@@ -41,7 +49,7 @@ class DataChange extends Base
   	$ist =$this->model->where(["code"=>$param['code'],"status"=>1])->findOrEmpty();
   	if($ist->isEmpty()==false)return error_show(1004,"订单修改存在未完成得流程");
   	if($orderinfo==false) return error_show(1004,"订单数据未找到");
-  	if($param['type']!=3 && $orderinfo['order_source']!=2 )return error_show(1004,'非咨询单订单不可修改');
+  	if($param['type']==1 && $orderinfo['order_source']!=2 )return error_show(1004,'供应商非咨询单订单不可修改');
   	$array_diff=array_diff($param['change'],$orderinfo);
   	$order=[];
   	$userCommon= \app\admin\common\User::getIns();
@@ -95,13 +103,28 @@ class DataChange extends Base
   
   public function status(){
   	$param = $this->request->only(['id'=>"",'status'=>"",'remark'=>""],'post','trim');
-  	$Valid =Validate::rule(["id|申请id"=>"require","status|状态"=>"require|number|in:1,2"]);
+  	$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'];
+    if($info->status==2 && $info->type!=3){
+    	if($info->type==1){
+    		    $fininfo =GetFin('admin/orderischeck',['token'=>$this->post['token'],'orderCode'=>$info->code,"is_cgd_check"=>1]);
+				if(!isset($fininfo['code'])||$fininfo['code']!=0 ){
+					return json_show(1005, $fininfo['message']??'结算校验失败');
+				}
+    	}
+    	if($info->type==2){
+    		    $fininfo =GetFin('admin/orderischeck',['token'=>$this->post['token'],'orderCode'=>$info->code,'is_cgd_check'=>0]);
+				if(!isset($fininfo['code'])||$fininfo['code']!=0 ){
+					return json_show(1005, $fininfo['message']??'结算校验失败');
+				}
+    	}
+    }
     $this->model->startTrans();
     try{
         $up=$info->save();

+ 21 - 3
app/admin/controller/Filing.php

@@ -62,6 +62,8 @@ class Filing extends Base
         	'customerCode',
         	'supplierNo',
         	'companyName',
+        	"manager",
+        	"managerid",
         	'num',
         	'is_determine_price',
         	'price' => 0,
@@ -122,7 +124,8 @@ class Filing extends Base
         ]);
 
         if (!$val->check($param)) return json_show(1004, $val->getError());
-
+        $manager = $param['manager']??$this->uname;
+        $managerid = $param['managerid']??$this->uid;
         //如果是贵金属的话,额外判断
         $cat = made($param['cat_id']);
         if (isset($cat[0]['id']) && $cat[0]['id'] == 6) {
@@ -184,6 +187,8 @@ class Filing extends Base
                 'apply_name' => $this->uname,
                 'status' => 0,
                 'is_del' => 0,
+                "manager"=>$manager,
+                "managerid"=>$managerid,
                 'addtime' => date('Y-m-d H:i:s'),
                 'updaterid' => $this->uid,
                 'updater' => $this->uname,
@@ -221,6 +226,8 @@ class Filing extends Base
         	'supplierNo',
         	'companyName',
         	'num',
+        	'manager',
+        	'managerid',
         	'is_determine_price',
         	'price' => 0,
         	'expect_service_proportion',
@@ -231,7 +238,7 @@ class Filing extends Base
         	'delivery_day',
         	'make_day',
         	'tax',
-        	  'fill_url' ,
+        	 'fill_url' ,
         	'unit_id',
         	'cat_id',
         	'spec_list' => [],
@@ -279,7 +286,6 @@ class Filing extends Base
             'cost_desc|工艺说明' => 'max:255',
             'good_img|商品图片' => 'require|array|max:10',
         ]);
-
         if (!$val->check($param)) return json_show(1004, $val->getError());
 		$row= Db::name("filing")->findOrEmpty($param["id"]);
 		if(empty($row))  return json_show(1004, "未找到数据");
@@ -681,6 +687,8 @@ class Filing extends Base
                 'cgder' => $supplier['data']['person'],
                 'good_createrid' => $filing['updaterid'],
                 'good_creater' => $filing['updater'],
+                 'manager'=>$filing['manager'],
+                'managerid'=>$filing['managerid'],
             ]);
 			if($sale_id==false)  throw new \Exception('订单生成失败');
 			 ActionLog::logAdd(['id'=>$this->uid,'nickname'=>$this->uname], [
@@ -930,6 +938,8 @@ class Filing extends Base
             "companyNo" => '',
             "poCode" => "",
             "workCode" => "",
+            'manager'=>"",
+        	'managerid'=>"",
             "khNo" => "",
             "qrdType" => 3,
             "goodName" => "",
@@ -997,6 +1007,8 @@ class Filing extends Base
             "orderCode" => $qrdcode,
             "apply_id" => $this->uid,
             "apply_name" => $this->uname,
+            'manager'=>$param['manager']??"",
+        	'managerid'=>$param['managerid']??0,
             "order_type" => $param['qrdType'],
             "order_source" => 9,
             "platform_id" => $param['platform_id'],
@@ -1172,6 +1184,8 @@ class Filing extends Base
         $data = [
             "orderCode" => $saleinfo['orderCode'],
             "companyNo" => $saleinfo['supplierNo'],
+            'manager'=>$saleinfo['manager']??'',
+        	'managerid'=>$saleinfo['managerid']??0,
             "companyName" => $names['data'][$saleinfo['supplierNo']] ?? '',//Db::name("supplier")->where(["code" => $saleinfo['supplierNo']])->value("name", ''),
             "poCode" => $saleinfo['platform_order'],
             "workCode" => $saleinfo['workNo'],
@@ -1217,6 +1231,8 @@ class Filing extends Base
             "tax" => "",
             "goodUnit" => "",
             "mobile" => "",
+             'manager'=>'',
+        	'managerid'=>0,
             "addr" => "",
             "addr_code" => "",
             "contactor" => "",
@@ -1267,6 +1283,8 @@ class Filing extends Base
             "platform_order" => $param['poCode'],
             "workNo" => $param['workCode'],
             "updatetime" => date("Y-m-d H:i:s"),
+             'manager'=>$param['manager']??'',
+        	'managerid'=>$param['managerid']??0,
             "cgderid" => $person['personid'],
             "cgder" => $person['person']
         ];

+ 1 - 1
app/admin/controller/Goodup.php

@@ -1581,7 +1581,7 @@ class Goodup extends Base
         if($online_remark===""){
             return error_show(1004,"参数online_remark不能为空");
         }
-        $fixed = isset($this->post['is_fixed'])&&$this->post['is_fixed']!==''? intval($this->post['is_fixed']):0;
+        $fixed = isset($this->post['is_fixed'])&&$this->post['is_fixed']!==''? intval($this->post['is_fixed']):1;
         if($fixed==1){
         	//使用实时金价
         	 $nake=Db::name('good_nake')->where(['spuCode'=> $spuCode,'is_del'=>0,"nake_fee"=>0])->findOrEmpty();

+ 4 - 0
app/admin/controller/InterOrder.php

@@ -56,6 +56,8 @@ class InterOrder extends Base
 			"sendtime|发货时间"=>"require|date|dateFormat:Y-m-d H:i:s",
 			"poCode|业务单号"=>"max:255|min:1",
 			"workCode|单据号"=>"max:255|min:1",
+			"manager|项目经理"=>"require|max:255|min:1",
+			"managerid|项目经理ID"=>"require|number",
 			]);
 			$data=[];
 			$i=0;
@@ -90,6 +92,8 @@ class InterOrder extends Base
 				"interNo"=>$interNo,
 				"apply_id"=>$this->uid,
 				"apply_name"=>$this->uname,
+				'manager'=>$item['manager'],
+                'managerid'=>$item['managerid'],
 				"companyNo"=>$item['companyNo'],
 				"companyName"=>$compAr[$item['companyNo']]??"",
 				"customerNo"=>$item['customerNo'],

+ 7 - 6
app/admin/controller/OrderOutChild.php

@@ -672,6 +672,13 @@ class OrderOutChild extends Base
                     'holder_id' => $sale[$child[$value['outChildCode']]['orderCode']]['cgderid']
                 ]);
 
+               if($sale[$child[$value['outChildCode']]['orderCode']]['is_stock']==1){
+		            $stock =  Db::name('good_stock') ->where(['is_del' => 0, 'spuCode' => $sale[$child[$value['outChildCode']]['orderCode']]['good_code'], 'wsm_code' => $child[$value['outChildCode']]['wsm_code']])->findOrEmpty();
+		            if(empty($stock))throw new \Exception('商品库存数未找到');
+		            if($stock['wait_out_stock']<$child[$value['outChildCode']]['num']){
+			            throw new \Exception('商品库存数待出库不足');
+		            }
+	            }
                 //库存
                $stock_up= Db::name('good_stock')
                     ->data(['updatetime' => $date])
@@ -692,12 +699,6 @@ class OrderOutChild extends Base
             foreach ($yz_tmp as $temp) {
                 curl_request(config('app.yz_domain') . 'api/yz_out_send', ['orderCode' => $temp['orderCode'], 'out_stype' => $temp['post_name'], 'post_code' => $temp['post_code'], 'uid' => $this->uid, 'uname' => $this->uname, 'order_out' => $temp['outCode']]);
             }
-//            if ($einfo['order_source'] == 5) {
-//                $res = curl_request(config('app.yz_domain') . 'api/yz_out_send', ['orderCode' => $einfo['orderCode'], 'out_stype' => $post_name, 'post_code' => $post_code, 'uid' => $uid, 'uname' => $uname, 'order_out' => $outCode]);
-//                $res = json_decode($res, true);
-//                if ($res['code'] != 0) return app_show(0, '发货成功,' . $res['message']);
-//            }
-
             return json_show(0, '操作完成');
 
         } catch (Exception $exception) {

+ 2 - 2
app/admin/controller/Platform.php

@@ -110,7 +110,7 @@ class Platform extends Base
             'page' => 1,
             'size' => 10,
             'platform_name' => '',
-//            'platform_type' => '',
+            'platform_type' => '',
 //            'use_type' => '',
             'status' => '',
             'start' => '',
@@ -127,7 +127,7 @@ class Platform extends Base
         if ($param['platform_name'] != "") $where[] = ['p.platform_name', "like", '%' . $param['platform_name'] . '%'];
 
 //        $platform_type = isset($this->post['platform_type']) && $this->post['platform_type'] !=="" ? intval($this->post['platform_type']):"";
-//        if ($param['platform_type'] !== "") $where[] = ['p.platform_type', "=", $param['platform_type']];
+        if ($param['platform_type'] !== "") $where[] = ['p.platform_type', "=", $param['platform_type']];
 
 //         $use_type = isset($this->post['use_type']) && $this->post['use_type'] !=="" ? intval($this->post['use_type']):"";
 //        if ($param['use_type'] !== "") $where[] = ['p.use_type', "=", $param['use_type']];

+ 22 - 8
app/admin/controller/Sale.php

@@ -69,6 +69,9 @@ class Sale extends Base
         if ($arrtime == "") {
             return error_show(1004, "参数arrtime不能为空");
         }
+        
+        $manager = isset($this->post['manager']) && $this->post['manager'] != '' ? $this->post['manager'] :$this->uname;
+       $managerid = isset($this->post['managerid']) && $this->post['managerid'] != '' ? $this->post['managerid'] :$this->uid;
         $paytime = isset($this->post['paytime']) && $this->post['paytime'] != "" ? $this->post['paytime'] : "";
         $workNo = isset($this->post['workNo']) && $this->post['workNo'] != "" ? trim($this->post['workNo']) : "";
         $ct = Db::name('good_platform')->alias('a')->join('good b', 'b.spuCode=a.spuCode', 'left')
@@ -259,6 +262,8 @@ class Sale extends Base
                 'cgder' => $holder_name,//采购员(供应商负责人)
                 'good_createrid' => $goodinfo['createrid'],
                 'good_creater' => $goodinfo['creater'],//商品创建人
+                'manager' => $manager,
+                'managerid' => $managerid,//商品创建人
             ];
             $paytime == "" ? "" : $data['paytime'] = $paytime;
             $datainfo = Db::name('sale')->insert($data, true);
@@ -864,9 +869,8 @@ class Sale extends Base
         if ($zx == false) {
             return error_show(1003, "未找到咨询单信息");
         }
-//        if (in_array($zx['status'],[2,3])) {
-//            return error_show(1003, "咨询单状态有误无法转单");
-//        }
+        $manager = isset($this->post['manager']) && $this->post['manager'] != '' ? $this->post['manager'] :$this->uname;
+       $managerid = isset($this->post['managerid']) && $this->post['managerid'] != '' ? $this->post['managerid'] :$this->uid;
         $zxorder = Db::name("consult_order")->where(["zxNo" => $zx["zxNo"], "is_del" => 0])->find();
         if ($zxorder == false) {
             return error_show(1003, "未找到咨询单信息");
@@ -1042,6 +1046,8 @@ class Sale extends Base
                 'cgder' => $supplier_temp_info['person'],//采购员(采购单对应的供应商负责人)
                 'good_createrid' => $zxinfo['createrid'],
                 'good_creater' => $zxinfo['creater'],//商品创建人id
+                "manager"=>$manager,
+                "managerid"=>$managerid,
             ];
             $datainfo = Db::name('sale')->insert($data, true);
             if ($datainfo > 0) {
@@ -1304,6 +1310,8 @@ class Sale extends Base
         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'] : "";
+       $manager = isset($this->post['manager']) && $this->post['manager'] != '' ? $this->post['manager'] :$this->uname;
+       $managerid = isset($this->post['managerid']) && $this->post['managerid'] != '' ? $this->post['managerid'] :$this->uid;
         Db::startTrans();
         try {
             $plan = Db::name("project_plan")->where(["planNo" => $planNo, "is_del" => 0])->lock(true)->find();
@@ -1340,6 +1348,8 @@ class Sale extends Base
                 $good['arrtime'] = $arrtime;
                 $good['rm'] = $rm;
                 $good['ri'] = $ri;
+                $good['manager'] = $manager;
+                $good['managerid'] = $managerid;
                 $good['send_num'] = 0;
 
                 $standing_book_data = ['projectNo' => $plan['projectNo'], 'updatetime' => date('Y-m-d H:i:s')];
@@ -1566,6 +1576,8 @@ class Sale extends Base
             'cgder' => $holder_name,//采购员(供应商负责人)
             'good_createrid' => $goodinfo['createrid'],
             'good_creater' => $goodinfo['creater'],//商品创建人
+            "manager"=>$data['manager'],
+            "managerid"=>$data['managerid'],
         ];
         $datainfo = Db::name('sale')->insert($datas, true);
         if ($datainfo > 0) {
@@ -1871,6 +1883,8 @@ class Sale extends Base
             'cgder' => $supplier_temp_info['person']??"",//采购员(供应商负责人)
             'good_createrid' => $good['createrid'],
             'good_creater' => $good['creater'],//商品创建人
+            "manager"=>$data['manager'],
+            "managerid"=>$data['managerid'],
         ];
         $datainfo = Db::name('sale')->insert($datas, true);
         if ($datainfo > 0) {
@@ -3797,9 +3811,9 @@ class Sale extends Base
             return error_show(1002, "参数addr不能为空");
         }
         $addr_code = isset($this->post['addr_code']) && $this->post['addr_code'] != "" ? trim($this->post['addr_code']) : "";
-        if ($addr_code == "") {
-            return error_show(1002, "参数addr_code不能为空");
-        }
+//        if ($addr_code == "") {
+//            return error_show(1002, "参数addr_code不能为空");
+//        }
 //        $apply_id = GetUserInfo($token);
 //        if (empty($apply_id) || $apply_id['code'] != 0) {
 //            return error_show(1002, "申请人数据不存在");
@@ -3814,7 +3828,7 @@ class Sale extends Base
             $addrlst = [
                 "orderCode" => $orderCode,
                 "addr" => $addr,
-                "addr_code" => json_encode($addr_code),
+                "addr_code" => $addr_code!=''?json_encode($addr_code):'',
                 "contactor" => $contactor,
                 "mobile" => $mobile,
                 "customer_code" => $der['customer_code'],
@@ -5293,8 +5307,8 @@ class Sale extends Base
                 	'status' => 4,
                     'th_num' => Db::raw('wsend_num'),
                 	'th_fee' =>Db::raw('total_fee'),
-                	'wsend_num' =>0,
                 	'send_num' =>Db::raw('wsend_num'),
+                	'wsend_num' =>0,
                 	'send_status' =>3,
                     'updatetime' => $date]);
 			 if($cgdup==false) throw new \Exception('采购单取消失败');

+ 2 - 0
app/command/ImportOrderFromCHandleData.php

@@ -267,6 +267,8 @@ class ImportOrderFromCHandleData extends Command
                     'cgder' => $supplier_temp_info['person'],//采购员(供应商负责人)
                     'good_createrid' => $goodinfo['createrid'],
                     'good_creater' => $goodinfo['creater'],//商品创建人
+                    'manager'=>$rm,
+                    'managerid'=>$ri,
                 ];
                 $paytime == "" ? "" : $data['paytime'] = $paytime;
                 $datainfo = Db::name('sale')->insert($data, true);

+ 3 - 1
app/command/InterMakeOrder.php

@@ -109,7 +109,9 @@ class InterMakeOrder extends Command
             "cgderid" => $person['personid'],
             "cgder" => $person['person'],
             "good_createrid" =>$param['apply_id'],
-            "good_creater" => $param['apply_name']
+            "good_creater" => $param['apply_name'],
+            'manager'=>$param['manager'],
+            'managerid'=>$param['managerid'],
         ];
         $orderCgd = [
             "orderCode" => $qrdcode,

+ 3 - 1
app/command/SplitSale.php

@@ -194,6 +194,8 @@ class SplitSale extends Command
     {
         $sale_price = $sale['good_num'] > 0 ? bcdiv($sale_total, $sale['good_num'], 5) : 0;
         $tmp_sale = [
+        	'manager'=>$sale['manager'],
+            'managerid'=>$sale['managerid'],
             'origin_price' =>round( $sale['origin_price'] ?? 0, 2),
             'origin_plan_price' =>round( $sale['plan_price'] ?? 0, 2),
 	        'total_origin_price' => round($sale['origin_price']*$sale['good_num'],2),
@@ -221,7 +223,7 @@ class SplitSale extends Command
 
         $tmp = Db::name('sale_caixiao')
             ->field('id')
-            ->where(['oldCode' => $sale['orderCode'], 'customer_code' => $customer['No']])
+            ->where(['oldCode' => $sale['orderCode'], 'supplierNo' =>$supplier['No'] ?? ''])
             ->findOrEmpty();
 
         if (!empty($tmp)) {

+ 2 - 0
app/command/handleYzOrderData.php

@@ -200,6 +200,8 @@ class handleYzOrderData extends Command
                     'cgder' => $supplier_temp_info['person']??'',//采购员(供应商负责人)
                     'good_createrid' => $goodinfo['createrid'],
                     'good_creater' => $goodinfo['creater'],//商品创建人
+                     'manager'=>$rm,
+                    'managerid'=>$ri,
                 ];
                 $paytime == "" ? "" : $data['paytime'] = $paytime;
                 $datainfo = Db::name('sale')->insertGetId($data);