|
|
@@ -0,0 +1,57 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+namespace console\controllers;
|
|
|
+
|
|
|
+use biz\shop\classes\ShopClass;
|
|
|
+use biz\stat\classes\StatPdAddClass;
|
|
|
+use biz\stat\classes\StatPdSubClass;
|
|
|
+use bizGhs\order\classes\CheckOrderClass;
|
|
|
+use bizGhs\order\classes\CheckOrderItemClass;
|
|
|
+use common\components\util;
|
|
|
+use yii\console\Controller;
|
|
|
+use Yii;
|
|
|
+
|
|
|
+class PdController extends Controller
|
|
|
+{
|
|
|
+
|
|
|
+ //盘点数据 ./yii pd/update
|
|
|
+ public function actionUpdate()
|
|
|
+ {
|
|
|
+ $list = CheckOrderClass::getAllByCondition(['status' => 2], 'id asc', '*', null, true);
|
|
|
+ if (!empty($list)) {
|
|
|
+ foreach ($list as $item) {
|
|
|
+ $orderSn = $item->orderSn ?? '';
|
|
|
+ $shopId = $item->shopId ?? 0;
|
|
|
+ $addTime = $item->addTime ?? '';
|
|
|
+ $shop = ShopClass::getById($shopId, true);
|
|
|
+ if (empty($shop)) {
|
|
|
+ echo '没有找到店铺 ' . $shopId . ' ' . $orderSn . "\n";
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ $productList = CheckOrderItemClass::getAllByCondition(['orderSn' => $orderSn], null, '*', null, true);
|
|
|
+ if (!empty($productList)) {
|
|
|
+ $add = 0;
|
|
|
+ $sub = 0;
|
|
|
+ foreach ($productList as $product) {
|
|
|
+ $num = $product->profitLossNum ?? 0;
|
|
|
+ $cost = $product->itemCost ?? 0;
|
|
|
+ $res = bcmul($num, $cost, 2);
|
|
|
+ if ($res > 0) {
|
|
|
+ $add = bcadd($add, $res, 2);
|
|
|
+ } else {
|
|
|
+ $sub = bcadd($add, abs($res), 2);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $date = date("Ymd", strtotime($addTime));
|
|
|
+ if ($add > 0) {
|
|
|
+ StatPdAddClass::replace($shop, $add, $date);
|
|
|
+ }
|
|
|
+ if ($sub > 0) {
|
|
|
+ StatPdSubClass::replace($shop, $sub, $date);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+}
|