Ver Fonte

完成人

shish há 3 anos atrás
pai
commit
87f1ebf5c0

+ 58 - 0
app-hd/controllers/StatKindController.php

@@ -10,6 +10,7 @@ use bizHd\order\classes\OrderClass;
 use bizHd\order\classes\OrderGoodsClass;
 use bizHd\part\classes\PartClass;
 use bizHd\part\classes\PartItemClass;
+use bizHd\saas\classes\StaffClass;
 use bizHd\work\classes\WorkClass;
 use common\components\dateUtil;
 use Yii;
@@ -18,6 +19,63 @@ use common\components\util;
 class StatKindController extends BaseController
 {
 
+    public function actionStatMake()
+    {
+        $get = Yii::$app->request->get();
+
+        $searchTime = isset($get['searchTime']) && !empty($get['searchTime']) ? $get['searchTime'] : 'today';
+        $startTime = $get['startTime'] ?? '';
+        $endTime = $get['endTime'] ?? '';
+        $period = dateUtil::formatTime($searchTime, $startTime, $endTime, true);
+        $start = $period['startTime'];
+        $end = $period['endTime'];
+        $currentStartDate = date('Y-m-d', strtotime($start));
+        $currentEndDate = date('Y-m-d', strtotime($end));
+        $currentStartTime = $currentStartDate . ' 00:00:00';
+        $currentEndTime = $currentEndDate . ' 23:59:59';
+
+        $mainId = $this->mainId;
+
+        $kindList = KindClass::getAllByCondition(['mainId' => $mainId, 'flower' => 1], null, '*', 'id');
+
+        $staffList = StaffClass::getAllByCondition(['mainId' => $mainId, 'flower' => 1], null, '*', 'id');
+
+        $kindStat = [];
+
+        $workTotalUseSmallNum = 0;
+
+        $where = ['mainId' => $mainId, 'status' => 1];
+        $where['finishTime'] = ['between', [$currentStartTime, $currentEndTime]];
+        $workList = WorkClass::getAllByCondition($where, null, '*', null, true);
+        if (!empty($workList)) {
+            foreach ($workList as $work) {
+                $kindId = $work->kindId ?? 0;
+                if (empty($kindId)) {
+                    continue;
+                }
+                $kindName = $kindList[$kindId]['name'] ?? '';
+                $num = $work->num ?? 0;
+                $smallNumber = $work->flowerNum ?? 0;
+                $totalMakeSmallNum = bcmul($smallNumber, $num);
+                $workTotalUseSmallNum = bcadd($workTotalUseSmallNum, $totalMakeSmallNum);
+                if (isset($kindStat[$kindId]['makeNum'])) {
+                    $kindStat[$kindId]['makeNum'] = bcadd($kindStat[$kindId]['makeNum'], $num);
+                    $kindStat[$kindId]['makeSmallNum'] = bcadd($totalMakeSmallNum, $kindStat[$kindId]['makeSmallNum']);
+                } else {
+                    $kindStat[$kindId]['makeNum'] = $num;
+                    $kindStat[$kindId]['makeSmallNum'] = $totalMakeSmallNum;
+                    $kindStat[$kindId]['kindName'] = $kindName;
+                    if (isset($kindStat[$kindId]['saleNum']) == false) {
+                        $kindStat[$kindId]['saleNum'] = 0;
+                    }
+                }
+            }
+        }
+
+
+
+    }
+
     //花束相关统计 ssh 20230320
     public function actionProfile()
     {

+ 1 - 1
app-hd/controllers/WorkController.php

@@ -256,7 +256,7 @@ class WorkController extends BaseController
                     }
                 }
             }
-            WorkClass::finish($work);
+            WorkClass::finish($work, $this->shopAdmin);
             $transaction->commit();
 
             //美团的暂时不打小票

+ 10 - 1
biz-hd/work/classes/WorkClass.php

@@ -278,10 +278,19 @@ class WorkClass extends BaseClass
     }
 
     //完成制作单 ssh 20220320
-    public static function finish($work)
+    public static function finish($work, $staff = null)
     {
         $work->status = self::STATUS_COMPLETE;
         $work->finishTime = date("Y-m-d H:i:s");
+        if (isset($staff) && !empty($staff)) {
+            $currentStaffId = $staff->id ?? 0;
+            $currentStaffName = $staff->name ?? '';
+        } else {
+            $currentStaffId = $work->staffId ?? 0;
+            $currentStaffName = $work->staffName ?? '';
+        }
+        $work->finishStaffId = $currentStaffId;
+        $work->finishStaffName = $currentStaffName;
         $work->save();
 
         WorkItemClass::wastage($work);