id ?? 0; $where = ['mainId' => $mainId, 'catId' => $catId, 'time' => $time,]; $model = self::getByCondition($where, true); if (empty($model)) { $model = self::add(['mainId' => $mainId, 'catId' => $catId, 'catName' => $catName, 'time' => $time, 'year' => $year, 'month' => $month, 'num' => 1], true); } $id = $model->id; $stat = self::getLockById($id); $stat->workNum = bcadd($workNum, $stat->workNum); $stat->num = bcadd($num, $stat->num); $stat->save(); } }