wugg 1 年之前
父节点
当前提交
c2d8f5a3da
共有 4 个文件被更改,包括 44 次插入70 次删除
  1. 11 2
      app/admin/controller/Channel.php
  2. 8 1
      app/admin/controller/Filing.php
  3. 3 3
      app/admin/controller/Platform.php
  4. 22 64
      app/command/SplitSale.php

+ 11 - 2
app/admin/controller/Channel.php

@@ -78,12 +78,21 @@ class Channel extends Base{
 		return app_show(0,"渠道编辑成功");
 	}
 	public function list(){
-		$param =$this->request->only(["channel_name"=>"","companyNo"=>"","companyName"=>"","page"=>1,"size"=>10],
-		"post","trim");
+		$param =$this->request->only([
+			"channel_name"=>"",
+			"companyNo"=>"",
+			"companyName"=>"",
+			"status"=>"",
+			"apply_name"=>"",
+			"page"=>1,
+			"size"=>10
+			],"post","trim");
 		$where=[["is_del","=",0]];
 		if($param['channel_name']!=='')$where[]=["channel_name","like","%{$param['channel_name']}%"];
 		if($param['companyName']!=='')$where[]=["companyName","like","%{$param['companyName']}%"];
 		if($param['companyNo']!=='')$where[]=["companyNo","like","%{$param['companyNo']}%"];
+		if($param['apply_name']!=='')$where[]=["apply_name","like","%{$param['apply_name']}%"];
+		if($param['status']!=='')$where[]=["status","=",$param['status']];
 		$count=Db::name("channel")->where($where)->count();
 		$total=ceil($count/$param['size']);
 		$page= $total>$param['page'] ? $param['page'] : $total;

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

@@ -624,7 +624,14 @@ class Filing extends Base
             //更新报备单
             Db::name('filing')
                 ->where(['is_del' => 0, 'id' => $param['id'], 'status' => 2])
-                ->update(['status' => 3, 'updatetime' => $date, 'orderCode' => $orderCode, 'reason' => '', 'updaterid' => $this->uid, 'updater' => $this->uname]);
+                ->update([
+                	'status' => 3,
+                    'updatetime' => $date,
+                    'orderCode' => $orderCode,
+                    'spuCode' => $spuCode,
+                    'reason' => '',
+                    'updaterid' => $this->uid,
+                    'updater' => $this->uname]);
 
             //待办已办先不处理
 

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

@@ -59,7 +59,7 @@ class Platform extends Base
                 "createrid" => $action_id,
                 "creater" => $action_name,
                 'is_select_pay_rate' => $param['is_select_pay_rate'],
-                'pay_title' => $param['pay_title'],
+//                'pay_title' => $param['pay_title'],
                 "status" => $param['status'],
                 "is_del" => 0,
                 "addtime" => $date,
@@ -194,7 +194,7 @@ class Platform extends Base
             'is_select_pay_rate' => 0,
             'desc' => '',
             'status' => 0,
-            'pay_title' => '',
+//            'pay_title' => '',
             'pay_list' => []
         ], 'post', 'trim');
 
@@ -316,7 +316,7 @@ class Platform extends Base
         else {
             $info['pay_list'] = Db::name('platform_channel')->alias("a")
             ->leftJoin("channel b","a.channel_id=b.id")
-                ->field('a.id,b.companyNo,b.companyName,b.channel_name,a.is_del')
+                ->field('a.id,b.companyNo,b.companyName,b.channel_name,a.channel_id,a.is_del')
                 ->where(['a.platform_id' => $info['id'], 'a.is_del' => 0,"b.is_del"=>0])
                 ->order(['weight' => 'desc'])
                 ->select()

+ 22 - 64
app/command/SplitSale.php

@@ -66,19 +66,20 @@ class SplitSale extends Command
                         $good = Db::name('consult_bids')
                             ->field('b.noble_metal,c.brand_name brand,d.unit,a.cost_desc,a.good_weight noble_weight,a.tax,a.delivery_day,b.lead_time')
                             ->alias('a')
-                            ->leftJoin('good_basic b', 'b.is_del=0 AND b.spuCode=a.spuCode')
+                            ->leftJoin('good_zixun b', 'b.is_del=0 AND b.spuCode=a.spuCode')
                             ->leftJoin('brand c', 'c.id=a.brand_id')
                             ->leftJoin('unit d', 'd.id=a.unit_id')
-                            ->where(['a.is_del' => 0, 'a.bidNo' => $sale['zxNo']])
+                            ->where(['a.is_del' => 0, 'a.spuCode' => $sale['good_code']])
                             ->findOrEmpty();
                     } elseif ($sale['order_type'] == 4) {
                         //报备单
                         $good = Db::name('filing')
                             ->field('a.noble_metal,c.brand_name brand,d.unit,a.cost_desc,a.gold_weight noble_weight,a.tax,a.delivery_day,0 lead_time')
                             ->alias('a')
+                            ->leftJoin('good_zixun b', 'b.is_del=0 AND b.spuCode=a.spuCode')
                             ->leftJoin('brand c', 'c.id=a.brand_id')
                             ->leftJoin('unit d', 'd.id=a.unit_id')
-                            ->where(['a.is_del' => 0, 'a.orderCode' => $sale['orderCode']])
+                            ->where(['a.is_del' => 0, 'a.orderCode' => $sale['good_code']])
                             ->findOrEmpty();
                     } else {
                         $good = Db::name('good')
@@ -115,15 +116,12 @@ class SplitSale extends Command
 
                     //采购总金额和销售总金额
                     $cgd_total = $sale_total = $sale['total_price'];
-
-                    $names = $userCommon->handle('getCodeAndName', ['code' => array_unique(array_merge(array_column($pay_rates, 'companyNo'), [$sale['customer_code'], $sale['supplierNo']]))]);
-
-                    //客户
-                    $customer = ['No' => $sale['customer_code'], 'name' => $names['data'][$sale['customer_code']] ?? ''];
+		            //客户
+                    $customer = ['No' => $sale['customer_code'], 'name' => $sale['customerName']];
                     //供应商
-                    $supplier = ['No' => $sale['supplierNo'], 'name' => $names['data'][$sale['supplierNo']] ?? ''];
+                    $suppliere = ['No' => $sale['supplierNo'], 'name' => $sale['supplierName']];
 
-                    foreach ($pay_rates as $pay_rate) {
+                    foreach ($pay_rates as $key=>$pay_rate) {
 
                         //生成新的采购单号和销售单号
                         $cgdNo = makeNo('CG');
@@ -133,63 +131,23 @@ class SplitSale extends Command
 
                         $this->i++;
 
-                        $sale_total = $cgd_total;
+						$sale_total =$cgd_total;
                         $cgd_total = bcsub($cgd_total, bcmul($sale['total_price'] ?? 0, round($pay_rate['rate'] / 100, 4), 5), 5);
-
-                        //只处理采购单
-                        if (strtoupper($pay_rate['companyNo']) == 'KH') {
-
-                            //此时尚未生成销售单,存销售单号无意义 吧?
-//                            if ($pay_rate['is_cgd'] == 1) $this->_handle_cgd_caixiao($cgd, $sale, $pay_rate, $cgdNo, $orderCode, $cgd_total);
-
-                            if ($pay_rate['is_cgd'] == 1) $this->_handle_cgd_caixiao($cgd, $sale, $pay_rate, $cgdNo, '', $cgd_total);
-
-                        } elseif (strtoupper($pay_rate['companyNo']) == 'GYS') {
-                            //只处理销售单
-
-                            //供应商事先覆盖
-                            $supplier = ['No' => $sale['supplierNo'], 'name' => $names['data'][$sale['supplierNo']] ?? ''];
-                            if ($pay_rate['is_qrd'] == 1) {
-                                //此时生成的供应商的销售单,应该关联原始采购单号
-                                $this->_handle_sale_caixiao($sale, $orderCode, $cgd['cgdNo'] ?? '', $sale_total, $customer, $supplier);
-                            }
-
-                        } else {
-
-                            //供应商事先覆盖
-                            $supplier = ['No' => $pay_rate['companyNo'], 'name' => $pay_rate['companyName']];
-
-                            //需要生成销售单
-                            if ($pay_rate['is_qrd'] == 1) $this->_handle_sale_caixiao($sale, $orderCode, $cgdNo, $sale_total, $customer, $supplier);
-
-                            //需要生成采购单
-                            if ($pay_rate['is_cgd'] == 1) $this->_handle_cgd_caixiao($cgd, $sale, $pay_rate, $cgdNo, $orderCode, $cgd_total);
-
-                            //客户事后覆盖
-                            $customer = ['No' => $pay_rate['companyNo'], 'name' => $pay_rate['companyName']];
-
-                        }
+						$supplier = ['No' => $pay_rate['companyNo'], 'name' => $pay_rate['companyName']];
+                        $this->_handle_sale_caixiao($sale, $orderCode, $cgd['cgdNo'] ?? '', $sale_total, $customer, $supplier);
+						$this->_handle_cgd_caixiao($cgd, $sale, $pay_rate, $cgdNo, '', $cgd_total);
+						$customer= ['No' => $pay_rate['companyNo'], 'name' => $pay_rate['companyName']];
 
                         //把自己覆盖到上一个记录的供应商记录中
                         if (isset($this->cgd_insert[$this->cgd_key - 1])) {
-
-                            if (strtoupper($pay_rate['companyNo']) == 'KH') continue;
-
-                        else $supplierNo = $sale['supNo'];
-//                            else $supplierNo = $pay_rate['companyNo'];
-
-//                            $supplier = Db::name('supplier')
-//                                ->field('id,code,name,person,personid')
-//                                ->where('code', $supplierNo)
-//                                ->findOrEmpty();
-                            $temp = $userCommon->handle('sInfo', ['code' => $supplierNo]);
+                            $temp = $userCommon->handle('hqInfo', ['code' =>$pay_rate['companyNo']]);
                             $supplier = $temp['data'] ?? [];
-                            $this->cgd_insert[$this->cgd_key - 1]['supplierNo'] = $supplierNo;
-
-                            $this->cgd_insert[$this->cgd_key - 1]['supplier_name'] = $supplier['name'];
-
-                            $this->cgd_insert[$this->cgd_key - 1]['supplier_persion'] = $supplier['person'] ?? '';
-                            $this->cgd_insert[$this->cgd_key - 1]['supplier_persionid'] = $supplier['personid'] ?? 0;
+                            $this->cgd_insert[$this->cgd_key - 1]['supplierNo'] =$supplier['relation_code'];
+                            $this->cgd_insert[$this->cgd_key - 1]['supplier_name'] = $supplier['relation_name'];
+                            $temps = $userCommon->handle('sInfo', ['code' =>$supplier['relation_code']]);
+                            $suppliers = $temps['data'] ?? [];
+                            $this->cgd_insert[$this->cgd_key - 1]['supplier_persion'] = $suppliers['person'] ?? '';
+                            $this->cgd_insert[$this->cgd_key - 1]['supplier_persionid'] = $suppliers['personid'] ?? 0;
                         }
 
                     }
@@ -363,8 +321,8 @@ class SplitSale extends Command
                 'cat_name' => json_encode($this->_get_cat_list($sale['cat_id']), JSON_UNESCAPED_UNICODE),
                 'companyNo' => $pay_rate['companyNo'],
                 'companyName' => $pay_rate['companyName'],
-                'supplierNo' => '',
-                'supplier_name' => '',
+                'supplierNo' => $sale['supplierNo'],
+                'supplier_name' => $sale['supplier_name'],
                 'bktime' => $cgd['bktime'] ?? '',
                 'bkcreater' => $cgd['bkcreater'] ?? '',
                 'noble_metal' => $sale['noble_metal'] ?? '',