$params['supplier_id'] ?? 0, 'contract_id' => $params['contract_id'] ?? 0, 'refund_amount' => $params['refund_amount'] ?? 0, 'refund_amount_daxie' => $params['refund_amount_daxie'] ?? '', 'refund_date' => $params['refund_date'] ?? '', 'refund_type' => $params['refund_type'] ?? 0, 'reason' => $params['reason'] ?? '', 'remark' => $params['remark'] ?? '', 'annex' => $params['annex'] ?? '', 'bank_account_id' => $params['bank_account_id'] ?? 0, 'is_calculate_interest' => $params['is_calculate_interest'] ?? 0, 'interest_calculation_start_date' => $params['interest_calculation_start_date'] ?? '', ]); Db::commit(); return true; } catch (\Exception $e) { Db::rollback(); self::setError($e->getMessage()); return false; } } /** * @notes 编辑 * @param array $params * @return bool * @author likeadmin * @date 2023/12/15 14:41 */ public static function edit(array $params): bool { Db::startTrans(); try { FinanceRefundRecord::where('id', $params['id'])->update([ 'supplier_id' => $params['supplier_id'] ?? 0, 'contract_id' => $params['contract_id'] ?? 0, 'refund_amount' => $params['refund_amount'] ?? 0, 'refund_amount_daxie' => $params['refund_amount_daxie'] ?? '', 'refund_date' => $params['refund_date'] ?? '', 'refund_type' => $params['refund_type'] ?? 0, 'reason' => $params['reason'] ?? '', 'remark' => $params['remark'] ?? '', 'annex' => $params['annex'] ?? '', 'bank_account_id' => $params['bank_account_id'] ?? 0, 'is_calculate_interest' => $params['is_calculate_interest'] ?? 0, 'interest_calculation_start_date' => $params['interest_calculation_start_date'] ?? '', ]); Db::commit(); return true; } catch (\Exception $e) { Db::rollback(); self::setError($e->getMessage()); return false; } } /** * @notes 删除 * @param array $params * @return bool * @author likeadmin * @date 2023/12/15 14:41 */ public static function delete(array $params): bool { return FinanceRefundRecord::destroy($params['id']); } /** * @notes 获取详情 * @param $params * @return array * @author likeadmin * @date 2023/12/15 14:41 */ public static function detail($params): array { $financeRefundRecord = FinanceRefundRecord::findOrEmpty($params['id']); $financeRefundRecord->contract; $financeRefundRecord->supplier = null; $financeRefundRecord->project = null; if (!empty($financeRefundRecord->contract->project_id)) { $financeRefundRecord->project = Project::findOrEmpty($financeRefundRecord->contract->project_id); } return $financeRefundRecord->toArray(); } }