|
|
@@ -7,6 +7,7 @@
|
|
|
namespace biz\stat\classes;
|
|
|
|
|
|
use biz\base\classes\BaseClass;
|
|
|
+use common\components\util;
|
|
|
|
|
|
class StatOutClass extends BaseClass
|
|
|
{
|
|
|
@@ -15,43 +16,26 @@ class StatOutClass extends BaseClass
|
|
|
|
|
|
//更新当前商家的数据 linqh 2021.4.13
|
|
|
// 当采购后台,将价格更新
|
|
|
- public static function updateOrInsert($sjId, $shopId, $amount)
|
|
|
+ public static function updateOrInsert($shop, $amount)
|
|
|
{
|
|
|
+ $sjId = $shop->sjId;
|
|
|
+ $shopId = $shop->id;
|
|
|
$time = date('Ymd');
|
|
|
- $where = [
|
|
|
- 'sjId' => $sjId,
|
|
|
- 'shopId' => $shopId,
|
|
|
- 'time' => $time,
|
|
|
- ];
|
|
|
- $model = self::getByCondition($where);
|
|
|
- if ($model) {
|
|
|
- $id = $model['id'];
|
|
|
- //累加金额 amount
|
|
|
- $newAmount = bcadd($amount, $model['amount'], 2);
|
|
|
- $totalAmount = bcadd($amount, $model['totalAmount'], 2);
|
|
|
- self::updateById($id, ['amount' => $newAmount, 'totalAmount' => $totalAmount]);
|
|
|
- } else {
|
|
|
- //insert
|
|
|
- $data = $where;
|
|
|
- $data['amount'] = $amount;
|
|
|
- //totalAmount = 前一天的 totalAmount
|
|
|
- $totalAmount = 0;
|
|
|
- $lastDate = date('Ymd', strtotime("-1 day"));
|
|
|
- $lastWhere = [
|
|
|
- 'sjId' => $sjId,
|
|
|
- 'shopId' => $shopId,
|
|
|
- 'time' => $lastDate,
|
|
|
- ];
|
|
|
- $lastModel = self::getByCondition($lastWhere);
|
|
|
- if ($lastModel) {
|
|
|
- $totalAmount = $lastModel['totalAmount'];
|
|
|
- }
|
|
|
- $data['totalAmount'] = bcadd($amount, $totalAmount, 2);
|
|
|
- $data['createTime'] = date('Y-m-d H:i:s');
|
|
|
- self::add($data);
|
|
|
+ $stat = self::getByCondition(['sjId' => $sjId, 'shopId' => $shopId, 'time' => $time], true);
|
|
|
+ if (empty($stat)) {
|
|
|
+ $stat = self::add(['shopId' => $shopId, 'sjId' => $sjId, 'time' => $time], true);
|
|
|
}
|
|
|
+ $id = $stat->id;
|
|
|
+ $unique = self::getLockById($id);
|
|
|
+ if (empty($unique)) {
|
|
|
+ util::fail('没有记录');
|
|
|
+ }
|
|
|
+ $currentAmount = bcadd($unique->amount, $amount, 2);
|
|
|
+ $unique->amount = $currentAmount;
|
|
|
+ $unique->totalAmount = $shop->totalExpend;
|
|
|
+ $unique->save();
|
|
|
//当月
|
|
|
- StatOutMonthClass::updateOrInsert($sjId, $shopId, $amount);
|
|
|
+ StatOutMonthClass::updateOrInsert($shop, $amount);
|
|
|
}
|
|
|
|
|
|
}
|