StatStockOutClass.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. namespace biz\stat\classes;
  3. use biz\base\classes\BaseClass;
  4. use biz\stat\models\StatStockOut;
  5. class StatStockOutClass extends BaseClass
  6. {
  7. public static $baseFile = '\biz\stat\models\StatStockOut';
  8. //获取总和 ssh 20210829
  9. public static function getSum($where)
  10. {
  11. $amount = self::sum($where, 'amount');
  12. return empty($amount) ? 0 : $amount;
  13. }
  14. //出库添加或更新 ssh 20210526
  15. public static function replace($main, $shop, $amount)
  16. {
  17. $sjId = $shop->sjId;
  18. $mainId = $main->id ?? 0;
  19. $time = date('Ymd');
  20. $stat = self::getByCondition(['sjId' => $sjId, 'mainId' => $mainId, 'time' => $time], true);
  21. if (empty($stat)) {
  22. $stat = self::add(['sjId' => $sjId, 'time' => $time, 'mainId' => $mainId], true);
  23. }
  24. $id = $stat->id;
  25. $unique = self::getLockById($id);
  26. if (empty($unique)) {
  27. util::fail('没有记录');
  28. }
  29. $currentAmount = bcadd($unique->amount, $amount, 2);
  30. $unique->amount = $currentAmount;
  31. $unique->totalAmount = $main->totalStockOut;
  32. $unique->save();
  33. //当月
  34. StatStockOutMonthClass::replace($main, $shop, $amount);
  35. }
  36. //今天出库金额 ssh 20210526
  37. public static function getTodayAmount($shop)
  38. {
  39. if (empty($shop)) {
  40. return 0;
  41. }
  42. $today = date("Ymd");
  43. $shopId = $shop->id;
  44. $sjId = $shop->sjId;
  45. $out = self::getByCondition(['sjId' => $sjId, 'shopId' => $shopId, 'time' => $today], true);
  46. return $out->amount ?? 0;
  47. }
  48. }