StatWorkCatItemMonthClass.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace bizHd\stat\classes;
  3. use Yii;
  4. use bizHd\base\classes\BaseClass;
  5. class StatWorkCatItemMonthClass extends BaseClass
  6. {
  7. public static $baseFile = '\bizHd\stat\models\StatWorkCatItemMonth';
  8. public static function replace($shop, $catId, $catName, $itemData, $num)
  9. {
  10. $time = date('Ym');
  11. $year = date('Y');
  12. $month = date('m');
  13. $mainId = $shop->mainId ?? 0;
  14. $itemId = $itemData['itemId'] ?? 0;
  15. $ptItemId = $itemData['ptItemId'] ?? 0;
  16. $ratio = $itemData['ratio'] ?? 0;
  17. $bigUnit = $itemData['bigUnit'] ?? '扎';
  18. $smallUnit = $itemData['smallUnit'] ?? '支';
  19. $itemName = $itemData['itemName'] ?? '';
  20. $itemCover = $itemData['itemCover'] ?? '';
  21. $where = ['mainId' => $mainId, 'catId' => $catId, 'itemId' => $itemId, 'time' => $time];
  22. $model = self::getByCondition($where, true);
  23. if (empty($model)) {
  24. $addData = ['mainId' => $mainId, 'catId' => $catId, 'catName' => $catName, 'time' => $time, 'year' => $year, 'month' => $month, 'ptItemId' => $ptItemId, 'ratio' => $ratio, 'itemId' => $itemId,
  25. 'bigUnit' => $bigUnit, 'smallUnit' => $smallUnit, 'itemName' => $itemName, 'itemCover' => $itemCover, 'itemId' => $itemId];
  26. $model = self::add($addData, true);
  27. }
  28. $id = $model->id;
  29. $stat = self::getLockById($id);
  30. $stat->num = bcadd($num, $stat->num);
  31. $stat->save();
  32. }
  33. }