wugg 4 months ago
parent
commit
26f074c2ac

+ 11 - 6
app/command/makeModel.php

@@ -7,7 +7,9 @@ use think\console\Command;
 use think\console\Input;
 use think\console\input\Argument;
 use think\console\input\Option;
-use think\console\Output;use think\facade\Db;use think\facade\Env;
+use think\console\Output;
+use think\facade\Db;
+use think\facade\Env;
 
 class makeModel extends Command
 {
@@ -17,12 +19,15 @@ class makeModel extends Command
         $this->setName('makemodel')
             ->setDescription('the makemodel command');
     }
-	static $schema = 'wsm3_pre_release';
+	static $schema = 'cxinv_v2_pre_release';
 	static $prefix = 'Wsm';
-	static $epp = 'admin';
+	static $epp = 'cxinv';
     protected function execute(Input $input, Output $output)
     {
-
+        $str = 'mysql_cxinv';
+        self::$schema = Env("{$str}_database");
+        self::$prefix =  Env("{$str}_prefix");
+        self::$epp = "cxinv";
          //获取表名
         $tables = Db::query("SELECT TABLE_NAME  as 'name'
         from information_schema.tables
@@ -65,9 +70,9 @@ class makeModel extends Command
     
     private static function snakeToCamel($str, $capitalized = true)
             {
-                $result =str_replace(['_',self::$prefix], ['',""],ucwords($str,"_"),);
+                $result =str_replace([ucwords(self::$prefix),'_'], ['',""],ucwords($str,"_"),);
                 echo $result."--";
-                echo str_replace(['_',self::$prefix], ['',''],$str);
+                echo str_replace([ucwords(self::$prefix),'_'], ['',''],ucwords($str,'_'),);
                 if (!$capitalized) {
                     $result = lcfirst($result);
                 }

+ 2 - 1
app/cxinv/command/CheckInvoice.php

@@ -132,13 +132,14 @@ class CheckInvoice extends Command
             $update['supplierNo'] = $saller->code;
             $update['supplierName'] = $saller->name;
         }else $update['supplierName'] = $save['seller_name'];
-        Invoice::where(['id'=>$invoice['id']])->update(array_merge($update,[
+       $up= Invoice::where(['id'=>$invoice['id']])->update(array_merge($update,[
             'status'=>1,
             "invoice_total"=>$data['jshj'],
             'invoice_subtotal'=>$data['fpje'],
             'inv_status'=>$this->taxStatus[$data['zfbz']]??0,
             'remark'=>'验票成功'
         ]));
+       if($up==false) throw new \Exception('更新失败');
     }
 
     protected function checkItem($detail){

+ 60 - 5
app/cxinv/controller/Trade.php

@@ -5,7 +5,7 @@ namespace app\cxinv\controller;
 use app\cxinv\model\Assoc;
 use app\cxinv\model\ComonOrder;
 use app\cxinv\model\QrdInfo;
-use app\cxinv\model\TradePool;
+use app\cxinv\model\TradeLib;use app\cxinv\model\TradePool;
 use app\cxinv\model\TradeReturn;
 use app\user\model\Business;
 use think\App;
@@ -383,27 +383,58 @@ class Trade extends Base{
     public function importTradeByArr(){
         $data= $this->request->post("data",[],"trim");
         if(!is_array($data)||empty($data)) return error("参数错误");
+        /**
+* 'palt_po'  =>'varchar',//平台采购po
+        'skuCode'  =>'varchar',//泰E购sku
+        'goodName'  =>'varchar',//平台物料名称
+        'goodNum'  =>'varchar',//商品数量
+        'platPrice'  =>'decimal',//平台业务公司单价
+        'plat_total'  =>'decimal',//平台业务公司金额
+        'tax'  =>'varchar',//税率
+        'cat_code'  =>'varchar',//税收编码
+        'cat_name'  =>'varchar',//税收名称
+        'comPrice'  =>'decimal',//业务公司单价
+        'com_total'  =>'decimal',//业务公司总额
+        'pcCode'  =>'varchar',//批次号
+ */
         $valid = Validate::rule([
             "companyNo|收款方公司编号"=>"require|max:255",
+            "trade_type|汇款类型"=>"require|number|in:0,1",
             "trade_in_account|收款账户"=>"require|max:255",
             "tradeTime|交易时间"=>"require|date",
             "trade_fee|交易金额"=>"require|float",
             "trade_bank|交易银行"=>"require|max:255",
             "trade_account|对方账号"=>"require|max:255",
             "trade_out|交易方名称"=>"require|max:255",
+            "poCode|PO编号" =>"requireIf:trade_type,1|max:255",
+            "NdCode|ND编号"=>"requireIf:trade_type,1|max:255",
+            "palt_po|平台采购po"=>"requireIf:trade_type,1|max:255",
+            "skuCode|SKU"=>"requireIf:trade_type,1|max:255",
+            "goodName|商品名称"=>"requireIf:trade_type,1|max:255",
+            "goodNum|商品数量"=>"requireIf:trade_type,1|float",
+            "platPrice|平台单价"=>"requireIf:trade_type,1|float",
+            "plat_total|平台金额"=>"requireIf:trade_type,1|float",
+            "tax|税率"=>"requireIf:trade_type,1|max:255",
+            "cat_code|税收编码"=>"requireIf:trade_type,1|max:255",
+            "cat_name|税收名称"=>"requireIf:trade_type,1|max:255",
+            "comPrice|业务公司单价"=>"requireIf:trade_type,1|float",
+            "com_total|业务公司总额"=>"requireIf:trade_type,1|float",
          ]);
         $companyArr= Business::whereIn("companyNo",array_column($data,'companyNo'))->column("company","companyNo");
         $list=[];
+        $lib=[];
+        $pcCode= makeNo("PC");
         foreach ($data as $key=>$value){
             if(!$valid->check($value)) return error('第'.($key+1).'行'.$valid->getError());
             if(!isset($companyArr[$value['companyNo']])) return error('第'.($key+1).'行收款方业务公司不存在');
             $radStr= Str::random(3,3);
+            $tradNo= makeNo('S'.$radStr,str_pad($key+1,4,'0',STR_PAD_LEFT));
             $list[]=[
-                "tradNo"=>makeNo("S".$radStr,str_pad($key+1,4,'0',STR_PAD_LEFT)),
+                "tradNo"=>$tradNo,
                 "companyNo"=>$value['companyNo'],
                 "trade_in"=>$value['trade_in']??$companyArr[$value['companyNo']],
                 "trade_out"=>$value['trade_out'],
-                "trade_type"=>0,
+                "trade_type"=>$value['trade_type']??0,
                 "total_fee"=>str_replace(',','',$value['trade_fee']),
                 "balance"=>str_replace(',','',$value['trade_fee']),
                 "trade_remark"=>$value['trade_remark']??"",
@@ -418,11 +449,35 @@ class Trade extends Base{
                 "apply_id"=>$this->uid,
                 "apply_name"=>$this->uname,
             ];
+            if($value['trade_type']==1){
+                $lib[]=[
+                    "tradNo"=>$tradNo,
+                    "palt_po"=>$value['palt_po'],
+                    "skuCode"=>$value['skuCode'],
+                    "goodName"=>$value['goodName'],
+                    "goodNum"=>$value['goodNum'],
+                    "platPrice"=>$value['platPrice'],
+                    "plat_total"=>$value['plat_total'],
+                    "tax"=>$value['tax'],
+                    "cat_code"=>$value['cat_code'],
+                    "cat_name"=>$value['cat_name'],
+                    "comPrice"=>$value['comPrice'],
+                    "com_total"=>$value['com_total'],
+                    "pcCode"=>$pcCode,
+                    ];
+            }
 
         }
         if(empty($list)) return error("导入数据不能为空");
-        $num=$this->model->saveAll($list);
-        if($num->isEmpty()) return error("资金流水导入失败");
+        $this->model->startTrans();
+        try{
+            $num=$this->model->saveAll($list);
+            if($num->isEmpty())throw new \Exception('资金流水导入失败');
+            if(!empty($lib)) (new TradeLib())->saveAll($lib);
+        }catch (\Exception $e){
+            $this->model->rollback();
+            return error($e->getMessage());
+        }
         return success("资金导入成功");
     }
 

+ 2 - 2
app/cxinv/model/PayInvoice.php

@@ -68,8 +68,8 @@ class PayInvoice extends Base
                  $ticket->hpNo= $model->hpNo;
                  $ticket->save();
                  if($bool==false){
-//                     $model->status=14;
-//                     $model->save();
+                     $model->status=14;
+                     $model->save();
                  }
             }
         }

+ 1 - 1
app/cxinv/model/Trade.php

@@ -9,7 +9,7 @@ use app\user\model\Business;class Trade extends Base
         'tradNo'  =>'varchar',//打款交易记录编号
         'trade_bank'  =>'varchar',//交易银行
         'trade_account'  =>'varchar',//交易账户
-        'trade_type'  =>'int',//交易类型
+        'trade_type'  =>'int',//交易类型 0 自营资金1 平台资金
         'trade_time'  =>'datetime',//交易时间
         'trade_used'  =>'varchar',//交易用途
         'trade_out'  =>'varchar',//付款方

+ 25 - 0
app/cxinv/model/TradeLib.php

@@ -0,0 +1,25 @@
+<?php
+namespace app\cxinv\model;
+
+class TradeLib extends Base
+{
+    //设置字段信息
+    protected $schema = [
+        'id'  =>'bigint',//
+        'tradNo'  =>'varchar',//平台资金编号
+        'palt_po'  =>'varchar',//平台采购po
+        'skuCode'  =>'varchar',//泰E购sku
+        'goodName'  =>'varchar',//平台物料名称
+        'goodNum'  =>'varchar',//商品数量
+        'platPrice'  =>'decimal',//平台业务公司单价
+        'plat_total'  =>'decimal',//平台业务公司金额
+        'tax'  =>'varchar',//税率
+        'cat_code'  =>'varchar',//税收编码
+        'cat_name'  =>'varchar',//税收名称
+        'comPrice'  =>'decimal',//业务公司单价
+        'com_total'  =>'decimal',//业务公司总额
+        'pcCode'  =>'varchar',//批次号
+        'createtime'  =>'datetime',//
+       ];
+    protected $createTime = 'createtime';
+}

+ 2 - 1
app/cxinv/model/TradePool.php

@@ -14,7 +14,8 @@ class TradePool extends Base
         'trade_time'  =>'datetime',//交易时间
         'total_fee'  =>'decimal',//总额
         'remark'  =>'varchar',//备注
-        'tag_id'  =>'int',//标签id
+        'tag_type'  =>'int',//资金类型 0 认领自己 1平台衍生资金认领
+        'relaNo'  =>'varchar',//关联平台衍生资金编号
         'is_del'  =>'int',//
         'status'  =>'varchar',//状态 1待审核2审核通过3 驳回
         'apply_name'  =>'varchar',//