shish 4 роки тому
батько
коміт
85044d6d74

+ 30 - 0
app-hd/controllers/StatWorkCatController.php

@@ -0,0 +1,30 @@
+<?php
+
+namespace hd\controllers;
+
+use bizHd\stat\classes\StatWorkCatClass;
+use common\components\dateUtil;
+use Yii;
+use common\components\util;
+
+class StatWorkCatController extends BaseController
+{
+
+    //制作单统计 ssh 20220616
+    public function actionProfile()
+    {
+        $get = Yii::$app->request->get();
+        $where = [];
+        $where['mainId'] = $this->mainId;
+        $searchTime = $get['searchTime'] ?? 'today';
+        if (!empty($searchTime)) {
+            $startTime = $get['startTime'] ?? '';
+            $endTime = $get['endTime'] ?? '';
+            $period = dateUtil::formatTime($searchTime, $startTime, $endTime, true);
+            $where['time'] = ['between', [$period['startTime'], $period['endTime']]];
+        }
+        $list = StatWorkCatClass::getAllByCondition($where, null, '*');
+        util::success(['list' => $list, 'income' => []]);
+    }
+
+}

+ 19 - 0
app-hd/controllers/StatWorkCatItemController.php

@@ -0,0 +1,19 @@
+<?php
+
+namespace hd\controllers;
+
+use bizHd\stat\classes\StatWorkCatClass;
+use common\components\dateUtil;
+use Yii;
+use common\components\util;
+
+class StatWorkCatItemController extends BaseController
+{
+
+    //制作单花材明细统计 ssh 20220616
+    public function actionProfile()
+    {
+
+    }
+
+}

+ 13 - 0
biz-hd/stat/classes/StatWorkCatClass.php

@@ -0,0 +1,13 @@
+<?php
+
+namespace bizHd\stat\classes;
+
+use Yii;
+use bizHd\base\classes\BaseClass;
+
+class StatWorkCatClass extends BaseClass
+{
+
+    public static $baseFile = '\bizHd\stat\models\StatWorkCat';
+
+}

+ 13 - 0
biz-hd/stat/classes/StatWorkCatItemClass.php

@@ -0,0 +1,13 @@
+<?php
+
+namespace bizHd\stat\classes;
+
+use Yii;
+use bizHd\base\classes\BaseClass;
+
+class StatWorkCatItemClass extends BaseClass
+{
+
+    public static $baseFile = '\bizHd\stat\models\StatWorkCatItem';
+
+}

+ 13 - 0
biz-hd/stat/classes/StatWorkCatItemMonthClass.php

@@ -0,0 +1,13 @@
+<?php
+
+namespace bizHd\stat\classes;
+
+use Yii;
+use bizHd\base\classes\BaseClass;
+
+class StatWorkCatItemMonthClass extends BaseClass
+{
+
+    public static $baseFile = '\bizHd\stat\models\StatWorkCatItemMonth';
+
+}

+ 13 - 0
biz-hd/stat/classes/StatWorkCatMonthClass.php

@@ -0,0 +1,13 @@
+<?php
+
+namespace bizHd\stat\classes;
+
+use Yii;
+use bizHd\base\classes\BaseClass;
+
+class StatWorkCatMonthClass extends BaseClass
+{
+
+    public static $baseFile = '\bizHd\stat\models\StatWorkCatMonth';
+
+}

+ 13 - 0
biz-hd/stat/models/StatWorkCat.php

@@ -0,0 +1,13 @@
+<?php
+namespace bizHd\stat\models;
+use bizHd\base\models\Base;
+
+class StatWorkCat extends Base
+{
+
+	public static function tableName()
+	{
+		return 'xhStatWorkCat';
+	}
+
+}

+ 13 - 0
biz-hd/stat/models/StatWorkCatItem.php

@@ -0,0 +1,13 @@
+<?php
+namespace bizHd\stat\models;
+use bizHd\base\models\Base;
+
+class StatWorkCatItem extends Base
+{
+
+	public static function tableName()
+	{
+		return 'xhStatWorkCatItem';
+	}
+
+}

+ 13 - 0
biz-hd/stat/models/StatWorkCatItemMonth.php

@@ -0,0 +1,13 @@
+<?php
+namespace bizHd\stat\models;
+use bizHd\base\models\Base;
+
+class StatWorkCatItemMonth extends Base
+{
+
+	public static function tableName()
+	{
+		return 'xhStatWorkCatItemMonth';
+	}
+
+}

+ 13 - 0
biz-hd/stat/models/StatWorkCatMonth.php

@@ -0,0 +1,13 @@
+<?php
+namespace bizHd\stat\models;
+use bizHd\base\models\Base;
+
+class StatWorkCatMonth extends Base
+{
+
+	public static function tableName()
+	{
+		return 'xhStatWorkCatMonth';
+	}
+
+}

+ 22 - 5
biz-hd/work/classes/WorkClass.php

@@ -10,6 +10,8 @@ use bizHd\goods\classes\GoodsClass;
 use bizHd\goods\classes\GoodsItemClass;
 use bizHd\order\classes\OrderClass;
 use bizHd\order\classes\OrderGoodsClass;
+use bizHd\shop\classes\ShopClass;
+use common\components\dict;
 use common\components\imgUtil;
 use common\components\orderSn;
 use common\components\printUtil;
@@ -82,6 +84,7 @@ class WorkClass extends BaseClass
             $goodsId = $val['productId'] ?? 0;
             $name = $info[$goodsId]['name'] ?? '';
             $goodsSn = $info[$goodsId]['sn'] ?? '';
+            $setItemNum = $info[$goodsId]['setItemNum'] ?? 0;
             $workNum = $val['num'] ?? 0;
             $cover = isset($info[$goodsId]['cover']) && !empty($info[$goodsId]['cover']) ? $info[$goodsId]['cover'] : 'hhb_small.png';
             $product = [];
@@ -129,6 +132,7 @@ class WorkClass extends BaseClass
                 'hasReachTime' => $hasReachTime,
                 'reachDate' => $reachDate,
                 'reachPeriod' => $reachPeriod,
+                'setItemNum' => $setItemNum,
             ];
             self::createFinish($current, $main);
         }
@@ -136,18 +140,31 @@ class WorkClass extends BaseClass
 
     public static function createFinish($data, $main)
     {
+        $setItemNum = $data['setItemNum'] ?? 0;
+        unset($data['setItemNum']);
         $data['flowerNum'] = isset($data['flowerNum']) && is_numeric($data['flowerNum']) ? $data['flowerNum'] : 0;
         $data['sn'] = date("j") . StatWorkCountClass::addOrder($main);
         $work = WorkClass::add($data, true);
         $product = $data['product'] ?? [];
         if (!empty($product)) {
-            //修改用材
-            WorkItemClass::modifyItem($work, $product);
-            //锁定库存
-            WorkItemClass::lock($work);
+            $mainId = $main->id ?? 0;
+            $hd = dict::getDict('ptStyle', 'hd');
+            $shop = ShopClass::getByCondition(['mainId' => $mainId, 'ptStyle' => $hd], true);
+            $stockModel = $shop->stockModel ?? 0;
+            //库存管理管到支 并且 商品的花材数量设置ok,则制作单自动锁定并扣库存
+            if ($stockModel == 1 && $setItemNum == 1) {
+                //修改用材
+                WorkItemClass::modifyItem($work, $product);
+                //锁定库存
+                WorkItemClass::lock($work);
+            } else {
+                //库存管理,管到扎,不再自动扣库存,并且清空花材
+                $workSn = $work->workSn ?? '';
+                WorkItemClass::deleteByCondition(['workSn' => $workSn]);
+            }
         }
         $complete = $data['complete'] ?? 0;
-        if ($complete == 1) {
+        if ($complete == 1 && !empty($product)) {
             //直接完成
             WorkClass::finish($work);
         }