ผลต่างระหว่างรุ่นของ "Openerp/histest"
ไปยังการนำทาง
ไปยังการค้นหา
Jittat (คุย | มีส่วนร่วม) |
Jittat (คุย | มีส่วนร่วม) |
||
แถว 1: | แถว 1: | ||
== สร้างโมเดล Department และเชื่อมโยงกับ Appointment เพื่อค้นหาและสร้างรายงาน == | == สร้างโมเดล Department และเชื่อมโยงกับ Appointment เพื่อค้นหาและสร้างรายงาน == | ||
+ | |||
+ | === histest.py === | ||
+ | |||
+ | <syntaxhighlight lang="python"> | ||
+ | class HISAppointment(osv.Model): | ||
+ | _name = 'histest.appointment' | ||
+ | _columns = { | ||
+ | 'date': fields.date(string=u'วันที่', | ||
+ | required=True), | ||
+ | 'patient_id': fields.many2one('histest.patient', | ||
+ | 'Patient'), | ||
+ | 'department_id': fields.many2one('histest.department', | ||
+ | 'Department'), | ||
+ | } | ||
+ | |||
+ | class HISDepartment(osv.Model): | ||
+ | _name = 'histest.department' | ||
+ | _columns = { | ||
+ | 'name': fields.char(size=200, | ||
+ | string=u'แผนก', | ||
+ | required=True), | ||
+ | 'appointment_ids': fields.one2many('histest.appointment', | ||
+ | 'department_id', | ||
+ | 'Appointments'), | ||
+ | } | ||
+ | |||
+ | class HISDepartmentSearch(osv.TransientModel): | ||
+ | _name = 'histest.departmentsearch' | ||
+ | |||
+ | def appointment_search(self, cr, uid, ids, field_name=None, | ||
+ | arg=None, context=None): | ||
+ | |||
+ | appointment_obj = self.pool.get('histest.appointment') | ||
+ | |||
+ | dsearches = self.browse(cr, uid, ids) | ||
+ | result = {} | ||
+ | for dsearch in dsearches: | ||
+ | result[dsearch.id] = ( | ||
+ | appointment_obj.search(cr, uid, | ||
+ | [('department_id','=',dsearch.department_id.id), | ||
+ | ('date','=',dsearch.search_date)], | ||
+ | context=context)) | ||
+ | return result | ||
+ | |||
+ | _columns = { | ||
+ | 'department_id': fields.many2one('histest.department', | ||
+ | 'Department'), | ||
+ | 'search_date': fields.date(string=u'วันที่ต้องการหา'), | ||
+ | |||
+ | 'appointment_ids': fields.function(appointment_search, | ||
+ | type='one2many', | ||
+ | relation='histest.appointment', | ||
+ | string='Appointment by date'), | ||
+ | } | ||
+ | </syntaxhighlight> | ||
== เอกสารครั้งก่อน ๆ == | == เอกสารครั้งก่อน ๆ == |
รุ่นแก้ไขเมื่อ 07:33, 24 เมษายน 2557
สร้างโมเดล Department และเชื่อมโยงกับ Appointment เพื่อค้นหาและสร้างรายงาน
histest.py
class HISAppointment(osv.Model):
_name = 'histest.appointment'
_columns = {
'date': fields.date(string=u'วันที่',
required=True),
'patient_id': fields.many2one('histest.patient',
'Patient'),
'department_id': fields.many2one('histest.department',
'Department'),
}
class HISDepartment(osv.Model):
_name = 'histest.department'
_columns = {
'name': fields.char(size=200,
string=u'แผนก',
required=True),
'appointment_ids': fields.one2many('histest.appointment',
'department_id',
'Appointments'),
}
class HISDepartmentSearch(osv.TransientModel):
_name = 'histest.departmentsearch'
def appointment_search(self, cr, uid, ids, field_name=None,
arg=None, context=None):
appointment_obj = self.pool.get('histest.appointment')
dsearches = self.browse(cr, uid, ids)
result = {}
for dsearch in dsearches:
result[dsearch.id] = (
appointment_obj.search(cr, uid,
[('department_id','=',dsearch.department_id.id),
('date','=',dsearch.search_date)],
context=context))
return result
_columns = {
'department_id': fields.many2one('histest.department',
'Department'),
'search_date': fields.date(string=u'วันที่ต้องการหา'),
'appointment_ids': fields.function(appointment_search,
type='one2many',
relation='histest.appointment',
string='Appointment by date'),
}
เอกสารครั้งก่อน ๆ
- โค้ดสำหรับการทดสอบครั้งที่ 1 วันที่ 27 มี.ค. 2557 - เกี่ยวกับ web module และการเรียก message
- โค้ดสำหรับการทดสอบครั้งที่ 2 วันที่ 3 เม.ย. 2557 - การทำ responsive css และ asynchronous request
- โค้ดสำหรับการทดสอบครั้งที่ 3 - การทำรายงาน