wugg преди 5 месеца
родител
ревизия
d187d0eb45
променени са 1 файла, в които са добавени 41 реда и са изтрити 35 реда
  1. 41 35
      app/admin/controller/DataChange.php

+ 41 - 35
app/admin/controller/DataChange.php

@@ -23,44 +23,50 @@ use app\admin\model\GoodZixun;use app\cxinv\model\CaixiaoData;use think\App;use
 
         if($valid->check($param)==false) return error($valid->getError());
         $array_diff=[];
-        if($param['type']==1){
-            $purchOrder = \app\admin\model\PurcheaseOrder::where("cgdNo",$param['code'])->findOrEmpty();
-            if($purchOrder->isEmpty()) return error("采购单不存在");
-            $orderIsCheck = CaixiaoData::order_is_check($param['code'],1);
-            if(!empty($orderIsCheck)){
-                return  error("采购单存在已对账数据",10005,$orderIsCheck);
+            if($param['type']==1){
+                $purchOrder = \app\admin\model\PurcheaseOrder::where('cgdNo',$param['code'])->findOrEmpty();
+                if($purchOrder->isEmpty()) return error('采购单不存在');
+                if($param['source']!=3){
+                     $orderIsCheck = CaixiaoData::order_is_check($param['code'],1);
+                    if(!empty($orderIsCheck)){
+                        return  error('采购单存在已对账数据',10005,$orderIsCheck);
+                    }
+                    if($purchOrder['order_source']!=2) return error('供应商非咨询单订单不可修改');
+                }
+                $array_diff=array_diff($param['change'],$purchOrder->toArray());
+                if(array_key_exists('supplierNo',$array_diff)){
+                    $persion = \app\user\model\Supplier::where('code',$array_diff['supplierNo'])->findOrEmpty();
+                    $array_diff['cgder'] =$persion->person?:'';
+                    $array_diff['cgder_id'] =$persion->personid?:'';
+                }
+                array_map(function ($key)use($purchOrder,&$before){
+                    $before[$key]= $purchOrder[$key]??'';
+                },array_keys($array_diff));
             }
-            if($purchOrder['order_source']!=2) return error("供应商非咨询单订单不可修改");
-            $array_diff=array_diff($param['change'],$purchOrder->toArray());
-            if(array_key_exists("supplierNo",$array_diff)){
-                $persion = \app\user\model\Supplier::where("code",$array_diff['supplierNo'])->findOrEmpty();
-                $array_diff['cgder'] =$persion->person?:'';
-                $array_diff['cgder_id'] =$persion->personid?:'';
+            if($param['type']==2){
+                $saleOrder = \app\admin\model\Sale::where('orderCode',$param['code'])->findOrEmpty();
+                if($saleOrder->isEmpty()) return error('销售单不存在');
+                if($param['source']!=3){
+                    $orderIsCheck = CaixiaoData::order_is_check($param['code']);
+                    if(!empty($orderIsCheck)){
+                        return  error('销售单存在已对账数据',10005,$orderIsCheck);
+                    }
+                }
+                $array_diff=array_diff($param['change'],$saleOrder->toArray());
+                     array_map(function ($key)use($saleOrder,&$before){
+                    $before[$key]= $saleOrder[$key]??'';
+                },array_keys($array_diff));
             }
-            array_map(function ($key)use($purchOrder,&$before){
-                $before[$key]= $purchOrder[$key]??"";
-            },array_keys($array_diff));
-        }
-        if($param['type']==2){
-            $saleOrder = \app\admin\model\Sale::where("orderCode",$param['code'])->findOrEmpty();
-            if($saleOrder->isEmpty()) return error("销售单不存在");
-            $orderIsCheck = CaixiaoData::order_is_check($param['code']);
-            if(!empty($orderIsCheck)){
-                return  error("销售单存在已对账数据",10005,$orderIsCheck);
+            if($param['type']==3){
+                $good = GoodZixun::where('spuCode',$param['code'])->findOrEmpty();
+                if($good->isEmpty()) return error('咨询商品不存在');
+                $array_diff=array_diff($param['change'],$good->toArray());
+                array_map(function ($key)use($good,&$before){
+                    $before[$key]= $good[$key]??'';
+                },array_keys($array_diff));
             }
-            $array_diff=array_diff($param['change'],$saleOrder->toArray());
-                 array_map(function ($key)use($saleOrder,&$before){
-                $before[$key]= $saleOrder[$key]??'';
-            },array_keys($array_diff));
-        }
-        if($param['type']==3){
-            $good = GoodZixun::where("spuCode",$param['code'])->findOrEmpty();
-            if($good->isEmpty()) return error("咨询商品不存在");
-            $array_diff=array_diff($param['change'],$good->toArray());
-            array_map(function ($key)use($good,&$before){
-                $before[$key]= $good[$key]??'';
-            },array_keys($array_diff));
-        }
+
+
         $isT= $this->model->where(["code"=>$param['code'],"status"=>1])->findOrEmpty();
         if($isT->isEmpty()==false)return error("订单修改存在未完成得流程");
         $data=[