StatPartClass.php 975 B

1234567891011121314151617181920212223242526272829303132
  1. <?php
  2. namespace bizHd\part\classes;
  3. use bizHd\base\classes\BaseClass;
  4. use Yii;
  5. class StatPartClass extends BaseClass
  6. {
  7. public static $baseFile = '\bizHd\part\models\StatPart';
  8. //每天统计 ssh 20230209
  9. public static function replace($main, $amount, $totalNum, $date = null)
  10. {
  11. $mainId = $main->id ?? 0;
  12. $time = $date == null ? date('Ymd') : $date;
  13. $stat = self::getByCondition(['mainId' => $mainId, 'time' => $time], true);
  14. if (empty($stat)) {
  15. $stat = self::add(['mainId' => $mainId, 'time' => $time, 'num' => 0], true);
  16. }
  17. $id = $stat->id;
  18. $unique = self::getLockById($id);
  19. $currentAmount = bcadd($unique->amount, $amount, 2);
  20. $unique->amount = $currentAmount;
  21. $unique->totalAmount = $main->totalWast;
  22. $unique->num = bcadd($totalNum, $unique->num);
  23. $unique->save();
  24. StatPartMonthClass::replace($main, $amount, $totalNum, $time);
  25. }
  26. }