shish 5 лет назад
Родитель
Сommit
4a91a5a7d0
2 измененных файлов с 29 добавлено и 11 удалено
  1. 27 11
      biz-ghs/order/classes/StockWastageOrderClass.php
  2. 2 0
      common/components/dict.php

+ 27 - 11
biz-ghs/order/classes/StockWastageOrderClass.php

@@ -5,12 +5,9 @@ namespace bizGhs\order\classes;
 use biz\shop\classes\ShopCapitalClass;
 use biz\shop\classes\ShopClass;
 use biz\stat\classes\StatOutClass;
-use biz\stat\classes\StatStockInClass;
-use biz\stat\classes\StatStockOutClass;
 use bizGhs\order\traits\OrderTrait;
 use bizGhs\product\classes\ProductClass;
 use bizGhs\stock\classes\StockRecordClass;
-use bizHd\stat\classes\StatIncomeClass;
 use common\components\dict;
 use common\components\orderSn;
 use common\components\util;
@@ -54,7 +51,7 @@ class StockWastageOrderClass extends BaseClass
         $sumNum = self::sumNumByItemInfo($ghsItemInfo);
         $data['bigNum'] = $sumNum['bigNum'];// 总的大单位数量 总共多少扎
         $data['smallNum'] = $sumNum['smallNum']; //总的小单位数量 总共多少支
-        $data['remark'] = $post['remark']??'';
+        $data['remark'] = $post['remark'] ?? '';
 
         try {
             //写入订单表
@@ -79,16 +76,36 @@ class StockWastageOrderClass extends BaseClass
             }
 
             //计算成本价
-            $orderPrice = 0;
-            foreach ($batchData as $v){
-                $num = $v['itemNum'];
-                $cost = $v['itemCost'];
-                $orderPrice = bcadd($orderPrice,bcmul($num,$cost,2),2);
+            $wastage = 0;
+            foreach ($batchData as $v) {
+                $num = $v['itemNum'] ?? 0;
+                $cost = $v['itemCost'] ?? 0;
+                $wastage = bcadd($wastage, bcmul($num, $cost, 2), 2);
             }
-            $currentTotalExpend = bcadd($shop->totalExpend,$orderPrice, 2);
+            $currentTotalExpend = bcadd($shop->totalExpend, $wastage, 2);
             $shop->totalExpend = $currentTotalExpend;
             $shop->save();
 
+            //当天和当月支出统计
+            StatOutClass::updateOrInsert($shop, $wastage);
+
+            //报损支出
+            $capitalType = dict::getDict('capitalType', 'wastage', 'id');
+            $sjId = $post['sjId'] ?? 0;
+            $shopId = $post['shopId'] ?? 0;
+            $event = '花材报损';
+            $capitalData = [
+                'capitalType' => $capitalType,
+                'io' => 0,
+                'totalExpend' => $currentTotalExpend,
+                'payWay' => dict::getDict('payWay', 'unknown'),
+                'amount' => $wastage,
+                'sjId' => $sjId,
+                'shopId' => $shopId,
+                'event' => $event,
+            ];
+            ShopCapitalClass::addCapital($capitalData);
+
             return $order;
         } catch (\Exception $exception) {
             util::fail("入库失败" . $exception->getMessage());
@@ -132,7 +149,6 @@ class StockWastageOrderClass extends BaseClass
     }
 
 
-
     // 组装 orderItem  linqh 2021.1.25
     public static function groupOrderItem($ghsItemInfo, $orderSn)
     {

+ 2 - 0
common/components/dict.php

@@ -146,6 +146,7 @@ class dict
             //供应商入库
             'ghsCheckIn' => ['id' => 27, 'name' => 'ghsCheckIn'],
             'usePtCoupon' => ['id' => 30, 'name' => 'usePtCoupon'],
+            'wastage' => ['id' => 35, 'name' => 'wastage'],
         ],
         "capitalTypeList" => [//流水类型的对应链接,后台收支明细查看时跳转的链接
             0 => ['link' => '/capital/order-detail', 'name' => '网店', 'orderLink' => '/order/detail', 'id' => 0,],
@@ -162,6 +163,7 @@ class dict
             20 => ['link' => '', 'name' => '采购结算', 'orderLink' => '', 'id' => 20,],
             25 => ['link' => '', 'name' => '采购', 'orderLink' => '', 'id' => 25,],
             30 => ['link' => '', 'name' => '使用平台优惠券', 'orderLink' => '', 'id' => 30,],
+            35 => ['link' => '', 'name' => '报损', 'orderLink' => '', 'id' => 35,],
         ],
 
         //用户来源