StatWorkCatClass.php 934 B

12345678910111213141516171819202122232425262728293031
  1. <?php
  2. namespace bizHd\stat\classes;
  3. use Yii;
  4. use bizHd\base\classes\BaseClass;
  5. class StatWorkCatClass extends BaseClass
  6. {
  7. public static $baseFile = '\bizHd\stat\models\StatWorkCat';
  8. public static function replace($main, $catId, $catName, $workNum, $num)
  9. {
  10. $time = date('Ymd');
  11. $mainId = $main->id ?? 0;
  12. $where = ['mainId' => $mainId, 'catId' => $catId, 'time' => $time];
  13. $model = self::getByCondition($where, true);
  14. if (empty($model)) {
  15. $data = ['mainId' => $mainId, 'time' => $time, 'catId' => $catId, 'catName' => $catName];
  16. $model = self::add($data, true);
  17. }
  18. $id = $model->id;
  19. $stat = self::getLockById($id);
  20. $stat->workNum = bcadd($workNum, $stat->workNum);
  21. $stat->num = bcadd($num, $stat->num);
  22. $stat->save();
  23. StatWorkCatMonthClass::replace($main, $catId, $catName, $workNum, $num);
  24. }
  25. }