shish 10 hours ago
parent
commit
762e1a3f09

+ 20 - 4
app-ghs/controllers/OrderController.php

@@ -3078,7 +3078,8 @@ class OrderController extends BaseController
     }
 
     /**
-     * 应收统计:按支付日汇总。
+     * 应收统计:按记账日或发货日汇总。
+     * timeType=bill(默认)筛 payTime;send 筛 sendTime,且只统计已付款。
      * originAmount=未扣隔天;nextDayAmount=跨天售后;amount=已扣隔天(净额)。
      */
     public function actionAccountList()
@@ -3104,7 +3105,14 @@ class OrderController extends BaseController
         if ($debt > -1) {
             $where['debt'] = $debt;
         }
-        $where['payTime'] = ['between', [$currentStartTime, $currentEndTime]];
+        // timeType=bill(默认记账 payTime)/ send(发货 sendTime)
+        $timeType = isset($get['timeType']) ? strval($get['timeType']) : 'bill';
+        $saleTimeField = ($timeType === 'send') ? 'sendTime' : 'payTime';
+        $where[$saleTimeField] = ['between', [$currentStartTime, $currentEndTime]];
+        // sendTime 不代表成交,发货口径只统计已确认付款
+        if ($timeType === 'send') {
+            $where['payStatus'] = 1;
+        }
         $orderList = OrderClass::getAllByCondition($where, null, '*');
         $list = [];
         $totalOriginAmount = 0;
@@ -3228,7 +3236,8 @@ class OrderController extends BaseController
 
 
     /**
-     * 客户业绩(PC):按支付日汇总开单;跨天售后按通过日扣实际金额并计入退款。
+     * 客户业绩(PC):按记账日或发货日汇总开单;跨天售后按通过日扣实际金额并计入退款。
+     * timeType=bill(默认)筛 payTime;send 筛 sendTime,且只统计已付款。
      * 与小程序 statCustomCg 同步,搜索关键词 customYj。
      */
     public function actionYj()
@@ -3254,7 +3263,14 @@ class OrderController extends BaseController
         if ($debt > -1) {
             $where['debt'] = $debt;
         }
-        $where['payTime'] = ['between', [$currentStartTime, $currentEndTime]];
+        // timeType=bill(默认记账 payTime)/ send(发货 sendTime)
+        $timeType = isset($get['timeType']) ? strval($get['timeType']) : 'bill';
+        $saleTimeField = ($timeType === 'send') ? 'sendTime' : 'payTime';
+        $where[$saleTimeField] = ['between', [$currentStartTime, $currentEndTime]];
+        // sendTime 不代表成交,发货口径只统计已确认付款
+        if ($timeType === 'send') {
+            $where['payStatus'] = 1;
+        }
         $orderList = OrderClass::getAllByCondition($where, null, '*');
         $list = [];
         $totalActPrice = 0;

+ 6 - 2
app-ghs/controllers/PurchaseOrderController.php

@@ -958,7 +958,8 @@ class PurchaseOrderController extends BaseController
     }
 
     /**
-     * 应付统计:按入库日汇总。
+     * 应付统计:按记账日或发货日汇总。
+     * timeType=bill(默认)筛 entryTime;send 筛 sendTime(仍只统计已入库 status=4)。
      * originAmount=未扣隔天;nextDayAmount=跨天售后;amount=已扣隔天(净额)。
      */
     public function actionDueList()
@@ -983,7 +984,10 @@ class PurchaseOrderController extends BaseController
         if ($debt > 0) {
             $cgWhere['debt'] = $debt;
         }
-        $cgWhere['entryTime'] = ['between', [$currentStartTime, $currentEndTime]];
+        // timeType=bill(默认记账 entryTime)/ send(发货 sendTime)
+        $timeType = isset($get['timeType']) ? strval($get['timeType']) : 'bill';
+        $cgTimeField = ($timeType === 'send') ? 'sendTime' : 'entryTime';
+        $cgWhere[$cgTimeField] = ['between', [$currentStartTime, $currentEndTime]];
         $cgList = PurchaseOrderClass::getAllByCondition($cgWhere, null, '*');
         $list = [];
         $totalOriginAmount = 0;

+ 6 - 2
biz-ghs/order/classes/OrderClass.php

@@ -2959,7 +2959,9 @@ XL;
                 $objPHPExcel->getActiveSheet()->getStyle($col . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
             }
         }
-        $fileName = '应收统计-' . date("m-d");
+        // 文件名带上记账/发货口径,和页面「导出记账时间」对齐
+        $timeTypeName = Yii::$app->request->get('timeType') === 'send' ? '发货时间' : '记账时间';
+        $fileName = '应收统计-' . $timeTypeName . '-' . date("m-d");
         $objPHPExcel->getActiveSheet()->setTitle($fileName);
         $objPHPExcel->setActiveSheetIndex(0);
         $dir = './priceTable/' . $mainId;
@@ -3142,7 +3144,9 @@ XL;
             $objPHPExcel->getActiveSheet()->getStyle('I' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
             $objPHPExcel->getActiveSheet()->getStyle('J' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
         }
-        $fileName = '客户业绩-' . date("m-d");
+        // 文件名带上记账/发货口径,和页面「导出记账时间」对齐
+        $timeTypeName = Yii::$app->request->get('timeType') === 'send' ? '发货时间' : '记账时间';
+        $fileName = '客户业绩-' . $timeTypeName . '-' . date("m-d");
         $objPHPExcel->getActiveSheet()->setTitle($fileName);
         $objPHPExcel->setActiveSheetIndex(0);
         $dir = './priceTable/' . $mainId;

+ 3 - 1
biz-ghs/order/classes/PurchaseOrderClass.php

@@ -2008,7 +2008,9 @@ class PurchaseOrderClass extends BaseClass
                 $objPHPExcel->getActiveSheet()->getStyle($col . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
             }
         }
-        $fileName = '应付统计-' . date("m-d");
+        // 文件名带上记账/发货口径,和页面「导出记账时间」对齐
+        $timeTypeName = Yii::$app->request->get('timeType') === 'send' ? '发货时间' : '记账时间';
+        $fileName = '应付统计-' . $timeTypeName . '-' . date("m-d");
         $objPHPExcel->getActiveSheet()->setTitle($fileName);
         $objPHPExcel->setActiveSheetIndex(0);
         $dir = './priceTable/' . $mainId;

+ 3 - 1
biz-ghs/stat/classes/StatCgClass.php

@@ -228,7 +228,9 @@ class StatCgClass extends BaseClass
             $objPHPExcel->getActiveSheet()->getStyle('B' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
             $objPHPExcel->getActiveSheet()->getStyle('C' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
         }
-        $fileName = '采购花材-' . date("m-d");
+        // 文件名带上记账/发货口径,和页面「导出记账时间」对齐
+        $timeTypeName = Yii::$app->request->get('timeType') === 'send' ? '发货时间' : '记账时间';
+        $fileName = '采购花材-' . $timeTypeName . '-' . date("m-d");
         $objPHPExcel->getActiveSheet()->setTitle($fileName);
         $objPHPExcel->setActiveSheetIndex(0);
         $dir = './priceTable/' . $mainId;

+ 10 - 3
biz-ghs/stat/classes/StatSaleClass.php

@@ -1386,7 +1386,9 @@ class StatSaleClass extends BaseClass
             $objPHPExcel->getActiveSheet()->getStyle('E' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
             $objPHPExcel->getActiveSheet()->getStyle('F' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
         }
-        $fileName = '收支花材-' . date("m-d");
+        // 文件名带上记账/发货口径,和页面「导出记账时间」对齐
+        $timeTypeName = Yii::$app->request->get('timeType') === 'send' ? '发货时间' : '记账时间';
+        $fileName = '收支花材-' . $timeTypeName . '-' . date("m-d");
         $objPHPExcel->getActiveSheet()->setTitle($fileName);
         $objPHPExcel->setActiveSheetIndex(0);
         $dir = './priceTable/' . $mainId;
@@ -1477,7 +1479,9 @@ class StatSaleClass extends BaseClass
             $objPHPExcel->getActiveSheet()->getStyle('E' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
             $objPHPExcel->getActiveSheet()->getStyle('F' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
         }
-        $fileName = '收支分类-' . time();
+        // 文件名带上记账/发货口径,和页面「导出记账时间」对齐
+        $timeTypeName = Yii::$app->request->get('timeType') === 'send' ? '发货时间' : '记账时间';
+        $fileName = '收支分类-' . $timeTypeName . '-' . time();
         $objPHPExcel->getActiveSheet()->setTitle($fileName);
         $objPHPExcel->setActiveSheetIndex(0);
         $dir = './priceTable/' . $mainId;
@@ -1560,7 +1564,10 @@ class StatSaleClass extends BaseClass
             $objPHPExcel->getActiveSheet()->getStyle('D' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
             $objPHPExcel->getActiveSheet()->getStyle('E' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
         }
-        $fileName = '花材销量-' . date("m-d");
+        // 文件名带上记账/发货 + 是否含售后历史,避免下载后分不清口径
+        $timeTypeName = Yii::$app->request->get('timeType') === 'send' ? '发货时间' : '记账时间';
+        $afterSaleName = ((int)Yii::$app->request->get('includeNextDay', 1) === 1) ? '含售后历史' : '不含售后历史';
+        $fileName = '花材销量-' . $timeTypeName . '-' . $afterSaleName . '-' . date("m-d");
         $objPHPExcel->getActiveSheet()->setTitle($fileName);
         $objPHPExcel->setActiveSheetIndex(0);
         $dir = './priceTable/' . $mainId;

+ 3 - 1
biz/stat/classes/StatCgGhsClass.php

@@ -184,7 +184,9 @@ class StatCgGhsClass extends BaseClass
             $objPHPExcel->getActiveSheet()->getStyle('I' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
             $objPHPExcel->getActiveSheet()->getStyle('J' . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
         }
-        $fileName = '供货商业绩-' . date("m-d");
+        // 文件名带上记账/发货口径,和页面「导出记账时间」对齐
+        $timeTypeName = Yii::$app->request->get('timeType') === 'send' ? '发货时间' : '记账时间';
+        $fileName = '供货商业绩-' . $timeTypeName . '-' . date("m-d");
         $objPHPExcel->getActiveSheet()->setTitle($fileName);
         $objPHPExcel->setActiveSheetIndex(0);
         $dir = './priceTable/' . $mainId;