shish преди 1 ден
родител
ревизия
6b624a9a2f

+ 4 - 1
app-ghs/controllers/StatCgGhsController.php

@@ -43,7 +43,10 @@ class StatCgGhsController extends BaseController
         if (!empty($debt)) {
             $where['debt'] = $debt;
         }
-        $where['entryTime'] = ['between', [$currentStartTime, $currentEndTime]];
+        // timeType=bill(默认记账 entryTime)/ send(发货 sendTime)
+        $timeType = isset($get['timeType']) ? strval($get['timeType']) : 'bill';
+        $cgTimeField = ($timeType === 'send') ? 'sendTime' : 'entryTime';
+        $where[$cgTimeField] = ['between', [$currentStartTime, $currentEndTime]];
         $orderList = PurchaseOrderClass::getAllByCondition($where, null, '*');
         $list = [];
         $totalActPrice = 0;

+ 4 - 1
app-ghs/controllers/StatController.php

@@ -30,7 +30,10 @@ class StatController extends BaseController
             $period = dateUtil::formatTime($searchTime, $startTime, $endTime, true);
             $start = date("Y-m-d 00:00:00", strtotime($period['startTime']));
             $end = date("Y-m-d 23:59:59", strtotime($period['endTime']));
-            $where['entryTime'] = ['between', [$start, $end]];
+            // timeType=bill(默认记账 entryTime)/ send(发货 sendTime)
+            $timeType = isset($get['timeType']) ? strval($get['timeType']) : 'bill';
+            $cgTimeField = ($timeType === 'send') ? 'sendTime' : 'entryTime';
+            $where[$cgTimeField] = ['between', [$start, $end]];
         }
         $cgList = PurchaseOrderClass::getAllByCondition($where, 'entryTime ASC', '*', null, true);
         $packingCharge = 0;

+ 4 - 1
app-ghs/controllers/StatItemController.php

@@ -66,7 +66,10 @@ class StatItemController extends BaseController
         $currentEndDate = date('Y-m-d', strtotime($end));
         $currentStartTime = $currentStartDate . ' 00:00:00';
         $currentEndTime = $currentEndDate . ' 23:59:59';
-        $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]];
 
         $staffId = $get['staffId'] ?? 0;
 

+ 10 - 2
biz-ghs/stat/classes/StatCgClass.php

@@ -50,8 +50,12 @@ class StatCgClass extends BaseClass
 
         $productInfo = ProductClass::getAllByCondition(['mainId' => $mainId], null, 'id,name,py', 'id');
 
+        // timeType=bill(默认记账 entryTime)/ send(发货 sendTime)
+        $timeType = isset($get['timeType']) ? strval($get['timeType']) : 'bill';
+        $cgTimeField = ($timeType === 'send') ? 'sendTime' : 'entryTime';
+
         $cgWhere = ['mainId' => $mainId, 'status' => 4];
-        $cgWhere['entryTime'] = ['between', [$currentStartTime, $currentEndTime]];
+        $cgWhere[$cgTimeField] = ['between', [$currentStartTime, $currentEndTime]];
         $cgList = PurchaseOrderClass::getAllByCondition($cgWhere, null, '*');
         $arr = [];
         $cgData = [];
@@ -265,8 +269,12 @@ class StatCgClass extends BaseClass
         $currentStartTime = $currentStartDate . ' 00:00:00';
         $currentEndTime = $currentEndDate . ' 23:59:59';
 
+        // timeType=bill(默认记账 entryTime)/ send(发货 sendTime)
+        $timeType = isset($get['timeType']) ? strval($get['timeType']) : 'bill';
+        $cgTimeField = ($timeType === 'send') ? 'sendTime' : 'entryTime';
+
         $cgWhere = ['mainId' => $mainId, 'status' => 4];
-        $cgWhere['entryTime'] = ['between', [$currentStartTime, $currentEndTime]];
+        $cgWhere[$cgTimeField] = ['between', [$currentStartTime, $currentEndTime]];
         $cgList = PurchaseOrderClass::getAllByCondition($cgWhere, null, '*');
 
         $cgData = [];

+ 6 - 2
biz-ghs/stat/classes/StatKdClass.php

@@ -43,6 +43,10 @@ class StatKdClass extends BaseClass
         $currentStartTime = $currentStartDate . ' 00:00:00';
         $currentEndTime = $currentEndDate . ' 23:59:59';
 
+        // timeType=bill(默认记账 payTime)/ send(发货 sendTime):只切批发/零售销售表
+        $timeType = isset($get['timeType']) ? strval($get['timeType']) : 'bill';
+        $saleTimeField = ($timeType === 'send') ? 'sendTime' : 'payTime';
+
         $staffList = ShopAdminClass::getAllByCondition(['mainId' => $mainId, 'isPt' => 0], null, '*', 'id', true);
         $kf = [];
         if (!empty($staffList)) {
@@ -165,7 +169,7 @@ class StatKdClass extends BaseClass
 
         //批发开单
         $where = ['mainId' => $mainId, 'status' => ['in', [OrderClass::ORDER_STATUS_UN_SEND, OrderClass::ORDER_STATUS_SENDING, OrderClass::ORDER_STATUS_COMPLETE]]];
-        $where['payTime'] = ['between', [$currentStartTime, $currentEndTime]];
+        $where[$saleTimeField] = ['between', [$currentStartTime, $currentEndTime]];
 
         $ghsOrderList = OrderClass::getAllByCondition($where, null, '*');
         if (!empty($ghsOrderList)) {
@@ -279,7 +283,7 @@ class StatKdClass extends BaseClass
         $payCodeIncome = 0;
         $lsAfterSale = 0;
         $hdWhere = ['mainId' => $mainId, 'status' => ['in', [HdOrderClass::ORDER_STATUS_UN_SEND, HdOrderClass::ORDER_STATUS_SENDING, HdOrderClass::ORDER_STATUS_COMPLETE]]];
-        $hdWhere['payTime'] = ['between', [$currentStartTime, $currentEndTime]];
+        $hdWhere[$saleTimeField] = ['between', [$currentStartTime, $currentEndTime]];
         $hdOrderList = HdOrderClass::getAllByCondition($hdWhere, null, '*');
         foreach ($hdOrderList as $hdKey => $hdOrder) {
             $payWay = $hdOrder['payWay'] ?? 0;

+ 19 - 5
biz-ghs/stat/classes/StatSaleClass.php

@@ -140,8 +140,12 @@ class StatSaleClass extends BaseClass
         $currentStartTime = $currentStartDate . ' 00:00:00';
         $currentEndTime = $currentEndDate . ' 23:59:59';
 
+        // timeType=bill(默认记账 payTime)/ send(发货 sendTime)
+        $timeType = isset($get['timeType']) ? strval($get['timeType']) : 'bill';
+        $saleTimeField = ($timeType === 'send') ? 'sendTime' : 'payTime';
+
         $where = ['mainId' => $mainId, 'status' => ['in', [OrderClass::ORDER_STATUS_UN_SEND, OrderClass::ORDER_STATUS_SENDING, OrderClass::ORDER_STATUS_COMPLETE]]];
-        $where['payTime'] = ['between', [$currentStartTime, $currentEndTime]];
+        $where[$saleTimeField] = ['between', [$currentStartTime, $currentEndTime]];
 
         $customList = CustomClass::getAllByCondition(['ownMainId' => $mainId], null, 'id,name,py', 'id');
 
@@ -882,6 +886,12 @@ class StatSaleClass extends BaseClass
             util::fail('查询时间不能超过三个月,编号780');
         }
 
+        // timeType=bill:销售 payTime、采购 entryTime;send:均按 sendTime
+        $timeType = isset($get['timeType']) ? strval($get['timeType']) : 'bill';
+        $useSendTime = ($timeType === 'send');
+        $saleTimeField = $useSendTime ? 'sendTime' : 'payTime';
+        $cgTimeField = $useSendTime ? 'sendTime' : 'entryTime';
+
         $classList = ItemClassClass::getAllByCondition(['mainId' => $mainId], null, 'id,name', 'id');
         if (empty($classList)) {
             util::fail('没有找到花材');
@@ -899,7 +909,7 @@ class StatSaleClass extends BaseClass
         $tbCgIncome = [];
         $tbCgIncomeStaff = [];
         $cgWhere = ['mainId' => $mainId, 'status' => 4];
-        $cgWhere['entryTime'] = ['between', [$currentStartTime, $currentEndTime]];
+        $cgWhere[$cgTimeField] = ['between', [$currentStartTime, $currentEndTime]];
         $cgList = PurchaseOrderClass::getAllByCondition($cgWhere, null, '*');
         if (!empty($cgList)) {
             foreach ($cgList as $cgKey => $cgItem) {
@@ -1040,7 +1050,7 @@ class StatSaleClass extends BaseClass
         $tbSaleIncome = [];
         $tbSaleIncomeStaff = [];
         $where = ['mainId' => $mainId, 'status' => ['in', [OrderClass::ORDER_STATUS_UN_SEND, OrderClass::ORDER_STATUS_SENDING, OrderClass::ORDER_STATUS_COMPLETE]]];
-        $where['payTime'] = ['between', [$currentStartTime, $currentEndTime]];
+        $where[$saleTimeField] = ['between', [$currentStartTime, $currentEndTime]];
         $ghsOrderList = OrderClass::getAllByCondition($where, null, '*');
         if (!empty($ghsOrderList)) {
             foreach ($ghsOrderList as $ghsKey => $ghsOrder) {
@@ -1169,7 +1179,7 @@ class StatSaleClass extends BaseClass
         //零售开单
         $lsIncome = 0;
         $hdWhere = ['mainId' => $mainId, 'status' => ['in', [HdOrderClass::ORDER_STATUS_UN_SEND, HdOrderClass::ORDER_STATUS_SENDING, HdOrderClass::ORDER_STATUS_COMPLETE]]];
-        $hdWhere['payTime'] = ['between', [$currentStartTime, $currentEndTime]];
+        $hdWhere[$saleTimeField] = ['between', [$currentStartTime, $currentEndTime]];
         $hdOrderList = HdOrderClass::getAllByCondition($hdWhere, null, '*');
         foreach ($hdOrderList as $hdKey => $hdOrder) {
             $actPrice = $hdOrder['mainPay'] ?? 0;
@@ -1643,8 +1653,12 @@ class StatSaleClass extends BaseClass
         $currentStartTime = $currentStartDate . ' 00:00:00';
         $currentEndTime = $currentEndDate . ' 23:59:59';
 
+        // timeType=bill(默认记账 payTime)/ send(发货 sendTime)
+        $timeType = isset($get['timeType']) ? strval($get['timeType']) : 'bill';
+        $saleTimeField = ($timeType === 'send') ? 'sendTime' : 'payTime';
+
         $where = ['mainId' => $mainId, 'status' => ['in', [OrderClass::ORDER_STATUS_UN_SEND, OrderClass::ORDER_STATUS_SENDING, OrderClass::ORDER_STATUS_COMPLETE]]];
-        $where['payTime'] = ['between', [$currentStartTime, $currentEndTime]];
+        $where[$saleTimeField] = ['between', [$currentStartTime, $currentEndTime]];
 
         $customList = CustomClass::getAllByCondition(['ownMainId' => $mainId], null, 'id,name,distId', 'id');
 

+ 6 - 2
biz-ghs/stat/classes/StatYjClass.php

@@ -36,9 +36,13 @@ class StatYjClass extends BaseClass
 
         $arr = [];
 
+        // timeType=bill(默认记账 payTime)/ send(发货 sendTime)
+        $timeType = isset($get['timeType']) ? strval($get['timeType']) : 'bill';
+        $saleTimeField = ($timeType === 'send') ? 'sendTime' : 'payTime';
+
         //批发开单
         $where = ['mainId' => $mainId];
-        $where['payTime'] = ['between', [$currentStartTime, $currentEndTime]];
+        $where[$saleTimeField] = ['between', [$currentStartTime, $currentEndTime]];
         $ghsOrderList = OrderClass::getAllByCondition($where, null, '*');
         if (!empty($ghsOrderList)) {
             foreach ($ghsOrderList as $ghsKey => $ghsOrder) {
@@ -63,7 +67,7 @@ class StatYjClass extends BaseClass
         }
 
         $hdWhere = ['mainId' => $mainId];
-        $hdWhere['payTime'] = ['between', [$currentStartTime, $currentEndTime]];
+        $hdWhere[$saleTimeField] = ['between', [$currentStartTime, $currentEndTime]];
         $hdOrderList = \bizHd\order\classes\OrderClass::getAllByCondition($hdWhere, null, '*');
         if (!empty($hdOrderList)) {
             foreach ($hdOrderList as $hdKey => $hdOrder) {