$sjId, 'time' => $time, 'categoryId' => $categoryId], true); if (empty($income)) { $income = self::add($data, true); } else { $income->amount += $amount; } $income = business::savePayWayAmount($income, $amount, $payWay); $income->save(); /**每个月的增加**/ StatIncomeCategoryMonthService::replaceData($data); return true; } //取最近的按分类的收入 ssh 2019.9.26 public static function getLatestIncome($start, $end,$sjId) { $list = self::getAllList('categoryId,amount', ['sjId' => $sjId, 'time' => ['between', [$start, $end]]], 'time asc'); $totalAmount = 0; $categoryList = CategoryRelateService::getCategoryData(); $data = []; foreach ($categoryList as $categoryId => $category) { $data[$categoryId]['name'] = $category['showName']; $data[$categoryId]['value'] = 0; } if (!empty($list)) { foreach ($list as $val) { $categoryId = $val['categoryId']; $amount = $val['amount']; $data[$categoryId]['value'] = stringUtil::calcAdd($data[$categoryId]['value'], $amount); $totalAmount = stringUtil::calcAdd($totalAmount, $amount); } } $categoryName = array_column($categoryList, 'showName'); return ['data' => array_values($data), 'categoryName' => $categoryName, 'totalAmount' => $totalAmount]; } }