package com.openerp.addons.expense; 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; public class ExpenseDBHelper extends OEDatabase { public ExpenseDBHelper(Context context) { super(context); mContext = context; } //hr.expense.line public class ExpenseLine extends OEDatabase { Context mContext = null; public ExpenseLine(Context context) { super(context); mContext = context; } @Override public String getModelName() { return "hr.expense.line"; } @Override public List<OEColumn> getModelColumns(){ List<OEColumn> cols = new ArrayList<OEColumn>(); cols.add(new OEColumn("expense_id","master expense",OEFields.integer())); cols.add(new OEColumn("name","Name",OEFields.varchar(128))); cols.add(new OEColumn("date_value","Date",OEFields.varchar(20))); cols.add(new OEColumn("total_amount","total amount",OEFields.integer())); cols.add(new OEColumn("unit_amount","unit amount",OEFields.integer())); cols.add(new OEColumn("unit_quantity","unit quantity",OEFields.integer())); //cols.add(new OEColumn("uom_id","unit of measure",OEFields.varchar(20))); //cols.add(new OEColumn("product_id","product",OEFields.varchar(20))); cols.add(new OEColumn("description","description",OEFields.text())); return cols; } } //hr.department public class Department extends OEDatabase { Context mContext = null; public Department(Context context) { super(context); } @Override public String getModelName() { return "hr.department"; } @Override public List<OEColumn> getModelColumns(){ List<OEColumn> cols = new ArrayList<OEColumn>(); cols.add(new OEColumn("name","Name",OEFields.varchar(128))); return cols; } } //hr.employee public class Employee extends OEDatabase { Context mContext = null; public Employee(Context context) { super(context); mContext = context; } @Override public String getModelName() { return "hr.employee"; } @Override public List<OEColumn> getModelColumns(){ List<OEColumn> cols = new ArrayList<OEColumn>(); cols.add(new OEColumn("name","Name",OEFields.varchar(128))); return cols; } } //获取osv name @Override public String getModelName() { return "hr.expense.expense"; } //获取columns @Override public List<OEColumn> getModelColumns() { List<OEColumn> cols = new ArrayList<OEColumn>(); //名称 cols.add(new OEColumn("name","Name",OEFields.varchar(128))); cols.add(new OEColumn("date","Date",OEFields.varchar(20))); cols.add(new OEColumn("employee_id","Employee",OEFields.manyToOne(new Employee(mContext)))); cols.add(new OEColumn("date_confirm","Date Confirm",OEFields.varchar(20))); cols.add(new OEColumn("date_valid","Date Valid",OEFields.varchar(20))); cols.add(new OEColumn("line_ids","lines",OEFields.oneToMany(new ExpenseLine(mContext)))); cols.add(new OEColumn("note","note",OEFields.varchar(200))); cols.add(new OEColumn("amount","amount",OEFields.integer())); cols.add(new OEColumn("department_id","department",OEFields.manyToOne(new Department(mContext)))); cols.add(new OEColumn("state","state",OEFields.varchar(20))); cols.add(new OEColumn("next_workflow_signal","next_signal",OEFields.varchar(20))); cols.add(new OEColumn("processed","is processed",OEFields.varchar(20))); cols.add(new OEColumn("message_ids","messages",OEFields.oneToMany(new MessageDB(mContext)))); return cols; } }