Jelajahi Sumber

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

wugg 4 bulan lalu
induk
melakukan
fef8e6294c

+ 21 - 7
app/admin/controller/Consult.php

@@ -668,7 +668,7 @@ class Consult extends Base
         $up = Db::name("consult_info")->save($zxinfo);
         if($up){
             if($status==2 || $status==7){
-                Db::name("consult_bids")->where(["infoNo"=>$infoNo,"is_del"=>0])->update(["tax_status"=>0]);
+                Db::name("consult_bids")->where(["infoNo"=>$infoNo,"is_del"=>0,"tax_status"=>-1])->update(["tax_status"=>0]);
             }
             ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname], [
                 "order_code" => $zxinfo['infoNo'],//咨询单详情编号
@@ -783,10 +783,7 @@ class Consult extends Base
 			 $spucode=makeNo('SSU');
 		}
 		$tax_id = isset($this->post['tax_id'])&&$this->post['tax_id']!==''? intval($this->post['tax_id']):'0';
-        $is_syscn_tax = isset($this->post['is_syscn_tax'])&&$this->post['is_syscn_tax']!==''? intval($this->post['is_syscn_tax']):'0';
-        $out_tax = isset($this->post['tax'])&&$this->post['tax']!==''? trim($this->post['tax']):'';
-        $out_tax_id = isset($this->post['out_tax_id'])&&$this->post['out_tax_id']!==''? intval($this->post['out_tax_id']):'0';
-		$cgd_tax_id = isset($this->post['cgd_tax_id'])&&$this->post['cgd_tax_id']!==''? intval($this->post['cgd_tax_id']):'0';
+        $cgd_tax_id = isset($this->post['cgd_tax_id'])&&$this->post['cgd_tax_id']!==''? intval($this->post['cgd_tax_id']):'0';
 		$cgd_tax = isset($this->post['cgd_tax'])&&$this->post['cgd_tax']!==''? trim($this->post['cgd_tax']):'';
         $open_type= isset($this->post['open_type'])&&$this->post['open_type']!==''? intval($this->post['open_type']):1;
         $inv_good_name = isset($this->post['inv_good_name'])&&$this->post['inv_good_name']!==''? trim($this->post['inv_good_name']):'';
@@ -799,11 +796,15 @@ class Consult extends Base
                 if($cgd_tax==='') return error_show(1004,'源头供应商开票税率不能为空');
             }
         }
-        if($is_syscn_tax==1){
+        $is_syscn_tax = isset($this->post['is_syscn_tax'])&&$this->post['is_syscn_tax']!==''? intval($this->post['is_syscn_tax']):'0';
+        $out_tax = isset($this->post['tax'])&&$this->post['tax']!==''? trim($this->post['tax']):'';
+        $out_tax_id = isset($this->post['out_tax_id'])&&$this->post['out_tax_id']!==''? intval($this->post['out_tax_id']):'0';
+        $tax_status = -1;
+         if($is_syscn_tax==1){
             $out_tax_id = $tax_id;
             $out_tax = $tax;
+            $tax_status = 1;
         }
-        $tax_status = $tax_id!=0 && $out_tax_id!=0? 1 : -1;
         //计算毛利率
         $budget = get_budget($zxinfo['cat_id'], $zx['companyNo'], $zx['platform_code']);
 		if($budget===false) $this->error('未找到业务公司有关的平台分类毛利信息');
@@ -1289,6 +1290,15 @@ class Consult extends Base
                 if($cgd_tax==='') return error_show(1004,'源头供应商开票税率不能为空');
             }
         }
+        $is_syscn_tax = isset($this->post['is_syscn_tax'])&&$this->post['is_syscn_tax']!==''? intval($this->post['is_syscn_tax']):'0';
+        $out_tax = isset($this->post['tax'])&&$this->post['tax']!==''? trim($this->post['tax']):'';
+        $out_tax_id = isset($this->post['out_tax_id'])&&$this->post['out_tax_id']!==''? intval($this->post['out_tax_id']):'0';
+        $tax_status = -1;
+        if($is_syscn_tax==1){
+            $out_tax_id = $tax_id;
+            $out_tax = $tax;
+            $tax_status = 1;
+        }
         Db::startTrans();
         try{
             $data=[
@@ -1331,6 +1341,7 @@ class Consult extends Base
                 "origin_price"=>$saleprice,
                 "supply_area"=>$supply_area,
                 "remark"=>$remark,
+                'is_syscn_tax'=>$is_syscn_tax,
                 "status"=>0,
                 "updatetime"=>date("Y-m-d H:i:s"),
                 'delivery_place' => $delivery_place,
@@ -1342,6 +1353,9 @@ class Consult extends Base
 		        'open_type'=>$open_type,
                 'inv_good_name'=>$inv_good_name,//采购商品名称
                 'tax_id'=>$tax_id,//税目id
+                'out_tax'=>$out_tax,//税目
+                'out_tax_id'=>$out_tax_id,//税目id
+                'tax_status'=>$tax_status,
                 'cgd_tax'=>$cgd_tax,//税目
 	            'cgd_tax_id'=>$cgd_tax_id
             ];

+ 43 - 8
app/admin/controller/Goodup.php

@@ -613,6 +613,13 @@ class Goodup extends Base
                     if($cgd_tax==='') return error_show(1004,'源头供应商开票税率不能为空');
                 }
 			}
+            $is_syscn_tax = isset($this->post['is_syscn_tax'])&&$this->post['is_syscn_tax']!==""? intval($this->post['is_syscn_tax']):"0";
+            $out_tax_id = isset($this->post['out_tax_id'])&&$this->post['out_tax_id']!==""? intval($this->post['out_tax_id']):"0";
+            $out_tax = isset($this->post['out_tax'])&&$this->post['out_tax']!==""? floatval($this->post['out_tax']):"";
+            if($is_syscn_tax==1){
+                $out_tax_id = $tax_id;
+                $out_tax = $tax;
+            }
         $createrid= $this->uid;
         $creater= $this->uname;
         $spucode=makeNo("SKU");
@@ -688,6 +695,7 @@ class Goodup extends Base
                 "other_config"=>$other_config,
                 "field_change"=>'',
                 "is_step" => count($good_ladder) > 1 ? 1 : 0,//如果阶梯价个数大于1,说明启用阶梯价
+                'is_syscn_tax'=>$is_syscn_tax,
                 "is_online"=>0,
                 "stock_moq"=>$stock_moq,
                 'open_type'=>$open_type,
@@ -790,7 +798,10 @@ class Goodup extends Base
 				        'tax_id'=>$tax_id,
 				        'inv_good_name'=>$inv_good_name,
 				        "cgd_tax_id"=>$cgd_tax_id,
+                        'out_tax_id'=>$out_tax_id,
+                        'out_tax'=>$out_tax,
 				        "cgd_tax"=>$cgd_tax,
+                        "status"=> $is_syscn_tax==1?2 :1,
 				        'tax'=>$tax,
 				        "creater"=>$creater,
 				        "createrid"=>$createrid,
@@ -999,6 +1010,13 @@ class Goodup extends Base
                 if($cgd_tax==='') return error_show(1004,'源头供应商开票税率不能为空');
             }
         }
+        $is_syscn_tax = isset($this->post['is_syscn_tax'])&&$this->post['is_syscn_tax']!==""? intval($this->post['is_syscn_tax']):"0";
+        $out_tax_id = isset($this->post['out_tax_id'])&&$this->post['out_tax_id']!==""? intval($this->post['out_tax_id']):"0";
+        $out_tax = isset($this->post['out_tax'])&&$this->post['out_tax']!==""? floatval($this->post['out_tax']):"";
+        if($is_syscn_tax==1){
+            $out_tax_id = $tax_id;
+            $out_tax = $tax;
+        }
         if($isCombind==1){
 			if(empty($combindList)) return error_show(1004,'组合商品子商品信息不能为空');
 			$dchild=[];
@@ -1029,6 +1047,7 @@ class Goodup extends Base
                 "moq"=>$moq,
                 "is_exclusive"=>$is_exclusive,
                 "customized"=>$customized,
+                'is_syscn_tax'=>$is_syscn_tax,
                 "tax"=>$tax,
                 "supplierNo"=>$supplierNo,
                 "is_auth"=>$is_auth,
@@ -1119,6 +1138,9 @@ class Goodup extends Base
 			    $taxInfo->companyNo = $company_id;
 			    $taxInfo->open_type = $open_type;
 			    $taxInfo->tax_id = $tax_id;
+                $taxInfo->out_tax_id = $out_tax_id;
+                $taxInfo->out_tax = $out_tax;
+                $taxInfo->status =$is_syscn_tax ?2 : 1;
 			    $taxInfo->inv_good_name = $inv_good_name;
 			    $taxInfo->tax = $tax;
 			    $taxInfo->cgd_tax_id = $cgd_tax_id;
@@ -1331,6 +1353,9 @@ class Goodup extends Base
         $creater= $this->uname;
         Db::startTrans();
         try {
+            if($status==9 && $data['is_syscn_tax']==1){
+                $status=1;
+            }
             if($status==1){
             	        //区分是否是对接平台
 		        $platform_info=Db::name('platform')
@@ -1363,7 +1388,6 @@ class Goodup extends Base
                     ]);
                 }
             }
-
             $old_status = $data['status'];
             $data['status']=$status;
             $data['updatetime']=date("Y-m-d H:i:s");
@@ -1581,14 +1605,14 @@ class Goodup extends Base
             return error_show(1004,"未找到商品数据");
         }
         $online_reason = isset($this->post['online_reason'])&&$this->post['online_reason']!==""? trim($this->post['online_reason']):"";
-        if($online_reason===""){
-            return error_show(1004,"参数online_reason不能为空");
-        }
+//        if($online_reason===""){
+//            return error_show(1004,"参数online_reason不能为空");
+//        }
         $online_remark= isset($this->post['online_remark'])&&$this->post['online_remark']!==""? trim($this->post['online_remark']):"";
-        if($online_remark===""){
-            return error_show(1004,"参数online_remark不能为空");
-        }
-     
+//        if($online_remark===""){
+//            return error_show(1004,"参数online_remark不能为空");
+//        }
+//
         $fixed = isset($this->post['is_fixed'])&&$this->post['is_fixed']!==''? intval($this->post['is_fixed']):1;
         if($fixed==1){
         	//使用实时金价
@@ -2482,6 +2506,13 @@ class Goodup extends Base
                     if($cgd_tax_id==0) return error_show(1004,'源头供应商开票税目不能为空');
                     if($cgd_tax==='') return error_show(1004,'源头供应商开票税率不能为空');
                 }
+            }
+        $is_syscn_tax = isset($this->post['is_syscn_tax'])&&$this->post['is_syscn_tax']!==""? intval($this->post['is_syscn_tax']):"0";
+            $out_tax_id = isset($this->post['out_tax_id'])&&$this->post['out_tax_id']!==""? intval($this->post['out_tax_id']):"0";
+            $out_tax = isset($this->post['out_tax'])&&$this->post['out_tax']!==""? trim($this->post['out_tax']):"";
+            if($is_syscn_tax==1){
+               $out_tax_id=$tax_id;
+               $out_tax=$tax;
             }
 		 if($isCombind==1){
 			if(empty($combindList)) return error_show(1004,'组合商品子商品信息不能为空');
@@ -2528,6 +2559,7 @@ class Goodup extends Base
                 "packing_list"=>$packing_list,
                 "packing_weight"=>$packing_weight,
                 "good_bar"=>$good_bar,
+                'is_syscn_tax'=>$is_syscn_tax,
                 "supply_area"=>$supply_area,
                 "delivery_place"=>$delivery_place,
                 "origin_place"=>$origin_place,
@@ -2663,6 +2695,9 @@ class Goodup extends Base
                     $taxInfo->inv_good_name = $inv_good_name;
 				    $taxInfo->cgd_tax_id = $cgd_tax_id;
                     $taxInfo->cgd_tax = $cgd_tax;
+                    $taxInfo->out_tax_id = $out_tax_id;
+                    $taxInfo->out_tax = $out_tax;
+                    $taxInfo->status = $is_syscn_tax==1?2:1;
                     $taxInfo->tax = $tax;
                     $taxInfo->creater = $this->uname;
                     $taxInfo->createrid =$this->uid;

+ 1 - 11
app/admin/controller/Purchin.php

@@ -662,18 +662,8 @@ class Purchin extends Base
 //                        $order = ["order_code" => $good['spuCode'], "status" => 1, "action_remark" => '', "action_type" => "edit"];
                     }
                     $good['wait_in_stock'] -= $send_num;
-//                    if ($good['presale_stock'] > 0) {
-//                        if ($good['presale_stock'] >= $send_num) {
-//                            $good['presale_stock'] -= $send_num;
-//                            $good['wait_out_stock'] += $send_num;
-//                        } else {
-//                            $good['presale_stock'] = 0;
-//                            $good['usable_stock'] += $send_num - $good['presale_stock'];
-//                            $good['wait_out_stock'] += $good['presale_stock'];
-//                        }
-//                    } else {
                     $good['usable_stock'] += $send_num;
-//                    }
+
 
                     $good['total_stock'] = $good['usable_stock'] + $good['wait_out_stock'];
                     $good['updatetime'] = date("Y-m-d H:i:s");

+ 6 - 2
app/youzan/logic/Goodup.php

@@ -180,8 +180,12 @@ class Goodup
                     $iso = Db::name("good")->where(["spuCode" => $value['spuCode'], "is_del" => 0])->find();
                     if ($iso == false) {
                         unset($value['id']);
-                        $value['addtime'] = date("Y-m-d H:i:s");
-                        $value['updatetime'] = date("Y-m-d H:i:s");
+                        $stock_num = Db::name('good_stock')->alias("a")
+                            ->leftJoin("warehouse_info b","a.wsm_code=b.wsm_code")
+                            ->where(['a.is_del' => 0, 'a.spuCode' =>$value['spuCode'],"b.wsm_type"=>[2,5]])->sum('usable_stock');
+                        $value['usable_stock'] =$stock_num;
+                        $value['addtime']=date("Y-m-d H:i:s");
+                        $value['updatetime']=date("Y-m-d H:i:s");
                     } else {
                         $value['id'] = $iso['id'];
                         $value['updatetime'] = date("Y-m-d H:i:s");