import request from '@/config/axios'

// 现金流量表行数据 VO
export interface CashFlowSheetRowVO {
  mainItem: string // 主表项目
  mainLineNo: string // 主表行次
  mainAmount: number | null // 主表金额
  supplementItem: string // 补充资料项目
  supplementLineNo: string // 补充资料行次
  supplementAmount: number | null // 补充资料金额
  isTotal?: boolean // 是否合计行
  isCategory?: boolean // 是否分类行
  indent?: boolean // 是否缩进
}

// 现金流量表保存 Request VO
export interface CashFlowSheetSaveReqVO {
  reportDate: string // 报表日期（格式：YYYY-MM）
  companyName?: string // 编制单位
  guidanceOpinion?: string // 指导意见
  rows: CashFlowSheetRowVO[] // 现金流量表行数据列表
}

// 现金流量表 Response VO
export interface CashFlowSheetRespVO {
  id: number // 主键编号
  reportDate: string // 报表日期（格式：YYYY-MM）
  companyName?: string // 编制单位
  mainItem: string // 主表项目
  mainLineNo: string // 主表行次
  mainAmount: number | null // 主表金额
  supplementItem: string // 补充资料项目
  supplementLineNo: string // 补充资料行次
  supplementAmount: number | null // 补充资料金额
  isTotal?: boolean // 是否合计行
  isCategory?: boolean // 是否分类行
  indent?: boolean // 是否缩进
  createTime?: string // 创建时间
  updateTime?: string // 更新时间
}

// 现金流量表 API
export const CashFlowSheetApi = {
  // 保存现金流量表
  saveCashFlowSheet: async (data: CashFlowSheetSaveReqVO) => {
    return await request.post({ url: `/erp/cash-flow-sheet/save`, data })
  },

  // 根据报表日期查询现金流量表
  getCashFlowSheet: async (reportDate: string): Promise<CashFlowSheetRespVO[]> => {
    return await request.get({ url: `/erp/cash-flow-sheet/get`, params: { reportDate } })
  }
}

