package com.openerp.addons.voucher; import java.util.ArrayList; import java.util.List; import android.content.Context; import com.openerp.orm.OEColumn; import com.openerp.orm.OEDBHelper; import com.openerp.orm.OEDatabase; import com.openerp.orm.OEFields; import com.openerp.addons.message.MessageDB; import com.openerp.base.res.ResPartnerDB; //供应商付款凭证 public class VoucherDB extends OEDatabase { public VoucherDB(Context context) { super(context); } //获取osv name @Override public String getModelName() { return "account.voucher"; } //获取columns @Override public List<OEColumn> getModelColumns() { List<OEColumn> cols = new ArrayList<OEColumn>(); //名称 cols.add(new OEColumn("partner_id","partner",OEFields.manyToOne(new ResPartnerDB(mContext)))); cols.add(new OEColumn("date","Date",OEFields.varchar(20))); cols.add(new OEColumn("state","state",OEFields.varchar(20))); cols.add(new OEColumn("amount","amount",OEFields.integer(20))); cols.add(new OEColumn("type","amount",OEFields.varchar(20))); cols.add(new OEColumn("processed","is processed",OEFields.varchar(20))); cols.add(new OEColumn("next_workflow_signal","next_signal",OEFields.varchar(20))); cols.add(new OEColumn("message_ids","messages",OEFields.oneToMany(new MessageDB(mContext)))); //明细 cols.add(new OEColumn("line_ids","voucher lines",OEFields.oneToMany(new VoucherLineDB(mContext)))); cols.add(new OEColumn("narration","narration",OEFields.text())); return cols; } //付款单明细 public class VoucherLineDB extends OEDatabase { Context mContext = null; public VoucherLineDB(Context context) { super(context); mContext = context; } //获取osv name @Override public String getModelName() { return "account.voucher.line"; } //获取columns @Override public List<OEColumn> getModelColumns() { List<OEColumn> cols = new ArrayList<OEColumn>(); //主表id cols.add(new OEColumn("voucher_id","master voucher",OEFields.integer())); //名称 cols.add(new OEColumn("name","Description",OEFields.varchar(200))); //对应的会计分录 //cols.add(new OEColumn("account_id","Account",OEFields.manyToOne(new AccountDB(mContext)))); //业务发生日期 cols.add(new OEColumn("date_original","Date Original",OEFields.varchar(20))); //本次付款金额 cols.add(new OEColumn("amount","amount",OEFields.integer())); return cols; } } //会计分录 public class AccountDB extends OEDatabase { Context mContext = null; public AccountDB(Context context) { super(context); mContext = context; } //获取osv name @Override public String getModelName() { return "account.account"; } //获取columns @Override public List<OEColumn> getModelColumns() { List<OEColumn> cols = new ArrayList<OEColumn>(); //名称 cols.add(new OEColumn("name","name",OEFields.varchar(200))); //分录类型 cols.add(new OEColumn("type","Type",OEFields.varchar(200))); //贷方金额 cols.add(new OEColumn("credit","credit",OEFields.integer())); cols.add(new OEColumn("debit","debit",OEFields.integer())); cols.add(new OEColumn("balance","balance",OEFields.integer())); return cols; } } }