multi deparment
parent
9b737c553e
commit
f472cea02d
|
@ -1,7 +1,7 @@
|
||||||
<form model="clinic.department" show_company="1">
|
<form model="clinic.department" show_company="1">
|
||||||
<head>
|
<head>
|
||||||
<button string="Options" dropdown="1">
|
<button string="Options" dropdown="1">
|
||||||
<item string='Share Access' method="share_access" confirm="Are you sure?"/>
|
<item string='Copy To Permission' method="share_access" confirm="Are you sure?"/>
|
||||||
</button>
|
</button>
|
||||||
</head>
|
</head>
|
||||||
<field name="name"/>
|
<field name="name"/>
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
<field name="cycle_item_id" span="2" onchange="onchange_cycle_item" domain="[['cycle_id','=',cycle_id]]"/>
|
<field name="cycle_item_id" span="2" onchange="onchange_cycle_item" domain="[['cycle_id','=',cycle_id]]"/>
|
||||||
<field name="visit_id" span="2"/>
|
<field name="visit_id" span="2"/>
|
||||||
<field name="branch_id" span="2"/>
|
<field name="branch_id" span="2"/>
|
||||||
<field name="department_id" span="2"/>
|
<field name="department_id" domain='[["branch_id","=",branch_id]]' span="2"/>
|
||||||
<field name="req_fee" span="2" invisible="1"/>
|
<field name="req_fee" span="2" invisible="1"/>
|
||||||
<field name="company_id" span="2" invisible="1"/> <!-- to show company name, don't remove -->
|
<field name="company_id" span="2" invisible="1"/> <!-- to show company name, don't remove -->
|
||||||
<field name="hct_include" span="2" invisible="1"/>
|
<field name="hct_include" span="2" invisible="1"/>
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
<field name="categ_id"/>
|
<field name="categ_id"/>
|
||||||
<!--<field name="branch_id" required="1"/>-->
|
<!--<field name="branch_id" required="1"/>-->
|
||||||
<!--<field name="department_id" required="1" domain='[["branch_id","=",branch_id]]'/>-->
|
<!--<field name="department_id" required="1" domain='[["branch_id","=",branch_id]]'/>-->
|
||||||
<field name="department_id"/>
|
<field name="department_id" required="1"/>
|
||||||
<field name="walkin"/>
|
<field name="walkin"/>
|
||||||
<field name="active" invisible="1"/>
|
<field name="active" invisible="1"/>
|
||||||
<tabs>
|
<tabs>
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
<field name="card_no"/>
|
<field name="card_no"/>
|
||||||
<field name="name"/>
|
<field name="name"/>
|
||||||
<field name="type_id"/>
|
<field name="type_id"/>
|
||||||
<field name="branch_id"/>
|
<!--<field name="branch_id"/>-->
|
||||||
<field name="department_id"/>
|
<field name="department_id"/>
|
||||||
<field name="doctor_id"/>
|
<field name="doctor_id"/>
|
||||||
<!--<field name="image" preview='1'/>-->
|
<!--<field name="image" preview='1'/>-->
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<inherit model="select.company" inherit="select_company">
|
<inherit model="select.company" inherit="select_company">
|
||||||
<field name="company" position="after">
|
<field name="company" position="after">
|
||||||
<field name="department" selection="get_departments"/>
|
<field name="department" selection="get_departments" required="1"/>
|
||||||
</field>
|
</field>
|
||||||
</inherit>
|
</inherit>
|
||||||
|
|
|
@ -2,7 +2,6 @@ import time
|
||||||
|
|
||||||
from netforce.model import Model, fields, get_model
|
from netforce.model import Model, fields, get_model
|
||||||
from netforce.access import get_active_company, get_active_user
|
from netforce.access import get_active_company, get_active_user
|
||||||
from netforce.utils import get_data_path
|
|
||||||
|
|
||||||
class CycleItem(Model):
|
class CycleItem(Model):
|
||||||
_name="clinic.cycle.item"
|
_name="clinic.cycle.item"
|
||||||
|
@ -52,14 +51,15 @@ class CycleItem(Model):
|
||||||
}
|
}
|
||||||
|
|
||||||
def _get_branch(self,context={}):
|
def _get_branch(self,context={}):
|
||||||
b_ids=get_model('clinic.branch').search([])
|
res=get_model('select.company').get_select()
|
||||||
if b_ids:
|
if res:
|
||||||
return b_ids[0]
|
return res['branch_id']
|
||||||
|
|
||||||
def _get_department(self,context={}):
|
def _get_department(self,context={}):
|
||||||
dpt_ids=get_model('clinic.department').search([])
|
res=get_model('select.company').get_select()
|
||||||
if dpt_ids:
|
if res:
|
||||||
return dpt_ids[0]
|
return res['department_id']
|
||||||
|
|
||||||
|
|
||||||
_defaults={
|
_defaults={
|
||||||
'state': 'draft',
|
'state': 'draft',
|
||||||
|
|
|
@ -79,7 +79,7 @@ class Department(Model):
|
||||||
if not profile_id:
|
if not profile_id:
|
||||||
raise Exception("Profile not found")
|
raise Exception("Profile not found")
|
||||||
models=[
|
models=[
|
||||||
['clinic.patient','department_id.code','='],
|
['clinic.patient','location','ilike'],
|
||||||
['clinic.patient.cycle','department_id.code','='],
|
['clinic.patient.cycle','department_id.code','='],
|
||||||
['clinic.staff','location','ilike'],
|
['clinic.staff','location','ilike'],
|
||||||
['clinic.staff.rotation','staff_id.department_id.code','='],
|
['clinic.staff.rotation','staff_id.department_id.code','='],
|
||||||
|
|
|
@ -623,14 +623,15 @@ class HDCase(Model):
|
||||||
if line.qty < 1:
|
if line.qty < 1:
|
||||||
continue
|
continue
|
||||||
prod=line.product_id
|
prod=line.product_id
|
||||||
|
if prod.type != 'stock':
|
||||||
|
continue
|
||||||
# check orginal product
|
# check orginal product
|
||||||
prod_code=prod.code.split("-")[0]
|
prod_code=prod.code.split("-")[0]
|
||||||
if len(prod_code)>1:
|
if len(prod_code)>1:
|
||||||
prods=get_model('product').search_browse(['code','=',prod_code])
|
prods=get_model('product').search_browse(['code','=',prod_code])
|
||||||
|
if not prods:
|
||||||
|
raise Exception("Can not create good issue: product code %s is not found!"%prod_code)
|
||||||
prod=prods[0]
|
prod=prods[0]
|
||||||
if prod.type != 'stock':
|
|
||||||
continue
|
|
||||||
#XXX
|
|
||||||
if prod_ids and prod.id not in prod_ids or prod.id in prod_exist_ids:
|
if prod_ids and prod.id not in prod_ids or prod.id in prod_exist_ids:
|
||||||
continue
|
continue
|
||||||
prod_exist_ids.append(prod.id)
|
prod_exist_ids.append(prod.id)
|
||||||
|
|
|
@ -64,6 +64,17 @@ class Patient(Model):
|
||||||
}
|
}
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
def _get_location(self,ids,context={}):
|
||||||
|
res={}
|
||||||
|
for obj in self.browse(ids):
|
||||||
|
dpt_codes=set()
|
||||||
|
for cline in obj.cycles:
|
||||||
|
dpt_codes.update({cline.department_id.code})
|
||||||
|
if not dpt_codes:
|
||||||
|
dpt_codes=[obj.department_id.code]
|
||||||
|
res[obj.id]=','.join([code for code in dpt_codes if code])
|
||||||
|
return res
|
||||||
|
|
||||||
_fields={
|
_fields={
|
||||||
"number": fields.Char("HN Number",required=True,search=True),
|
"number": fields.Char("HN Number",required=True,search=True),
|
||||||
"trt_no": fields.Char("TRT",search=True),
|
"trt_no": fields.Char("TRT",search=True),
|
||||||
|
@ -134,6 +145,7 @@ class Patient(Model):
|
||||||
'state': fields.Selection([['admit','Admit'],['dispose','Dispose']],'State'),
|
'state': fields.Selection([['admit','Admit'],['dispose','Dispose']],'State'),
|
||||||
'walkin': fields.Selection([['yes','Yes'],['no','No']],"Walk In"),
|
'walkin': fields.Selection([['yes','Yes'],['no','No']],"Walk In"),
|
||||||
'departments': fields.Many2Many("clinic.department","Departments"),
|
'departments': fields.Many2Many("clinic.department","Departments"),
|
||||||
|
'location': fields.Char("Location",function="_get_location",store=True), #to filter
|
||||||
}
|
}
|
||||||
|
|
||||||
def _get_number(self,context={}):
|
def _get_number(self,context={}):
|
||||||
|
|
|
@ -33,6 +33,12 @@ class ReportDiscontinuePatient(Model):
|
||||||
department_id=defaults.get('department_id',None)
|
department_id=defaults.get('department_id',None)
|
||||||
if department_id:
|
if department_id:
|
||||||
department_id=int(department_id)
|
department_id=int(department_id)
|
||||||
|
select_apt=get_model('select.company').get_select()
|
||||||
|
if select_apt:
|
||||||
|
if not branch_id:
|
||||||
|
branch_id=select_apt['branch_id']
|
||||||
|
if not department_id:
|
||||||
|
department_id=select_apt['department_id']
|
||||||
res={
|
res={
|
||||||
'date': date,
|
'date': date,
|
||||||
'date_from': date_from,
|
'date_from': date_from,
|
||||||
|
|
|
@ -30,10 +30,22 @@ class ReportHDCaseSummary(Model):
|
||||||
weekday, total_day=monthrange(int(year), int(month))
|
weekday, total_day=monthrange(int(year), int(month))
|
||||||
return "%s-%s-%s"%(year,month,total_day)
|
return "%s-%s-%s"%(year,month,total_day)
|
||||||
|
|
||||||
|
def _get_branch(self,context={}):
|
||||||
|
res=get_model('select.company').get_select()
|
||||||
|
if res:
|
||||||
|
return res['branch_id']
|
||||||
|
|
||||||
|
def _get_department(self,context={}):
|
||||||
|
res=get_model('select.company').get_select()
|
||||||
|
if res:
|
||||||
|
return res['department_id']
|
||||||
|
|
||||||
_defaults={
|
_defaults={
|
||||||
'date': lambda *a: time.strftime("%Y-%m-%d"),
|
'date': lambda *a: time.strftime("%Y-%m-%d"),
|
||||||
'date_from': _get_date_from,
|
'date_from': _get_date_from,
|
||||||
'date_to': _get_date_to,
|
'date_to': _get_date_to,
|
||||||
|
'branch_id': _get_branch,
|
||||||
|
'department_id': _get_department,
|
||||||
}
|
}
|
||||||
|
|
||||||
def get_report_data(self,ids,context={}):
|
def get_report_data(self,ids,context={}):
|
||||||
|
@ -44,8 +56,13 @@ class ReportHDCaseSummary(Model):
|
||||||
year=int(date[0:4])
|
year=int(date[0:4])
|
||||||
crr_month=int(date[5:7])
|
crr_month=int(date[5:7])
|
||||||
weekday, crr_total_day=monthrange(year, crr_month)
|
weekday, crr_total_day=monthrange(year, crr_month)
|
||||||
branch_id=None
|
defaults=self.default_get(context=context)
|
||||||
department_id=None
|
branch_id=defaults.get("branch_id",None)
|
||||||
|
if branch_id:
|
||||||
|
branch_id=branch_id[0]
|
||||||
|
department_id=defaults.get("department_id",None)
|
||||||
|
if department_id:
|
||||||
|
department_id=department_id[0]
|
||||||
time_start='%s-%s-01 00:00:00'%(year,str(crr_month).zfill(2))
|
time_start='%s-%s-01 00:00:00'%(year,str(crr_month).zfill(2))
|
||||||
time_stop='%s-%s-%s 23:59:59'%(year,str(crr_month).zfill(2),crr_total_day)
|
time_stop='%s-%s-%s 23:59:59'%(year,str(crr_month).zfill(2),crr_total_day)
|
||||||
if ids:
|
if ids:
|
||||||
|
|
|
@ -21,7 +21,6 @@ class ReportMedicalSummary(Model):
|
||||||
|
|
||||||
# in case link from another report
|
# in case link from another report
|
||||||
def default_get(self,field_names=None,context={},**kw):
|
def default_get(self,field_names=None,context={},**kw):
|
||||||
user_id=get_active_user()
|
|
||||||
defaults=context.get("defaults",{})
|
defaults=context.get("defaults",{})
|
||||||
date=defaults.get('date',time.strftime("%Y-%m-%d"))
|
date=defaults.get('date',time.strftime("%Y-%m-%d"))
|
||||||
year,month=time.strftime("%Y-%m").split("-")
|
year,month=time.strftime("%Y-%m").split("-")
|
||||||
|
@ -34,21 +33,15 @@ class ReportMedicalSummary(Model):
|
||||||
if categ_ids:
|
if categ_ids:
|
||||||
categ_id=categ_ids[0]
|
categ_id=categ_ids[0]
|
||||||
branch_id=defaults.get('branch_id',None)
|
branch_id=defaults.get('branch_id',None)
|
||||||
|
select_dpt=get_model('select.company').get_select()
|
||||||
if not branch_id:
|
if not branch_id:
|
||||||
staff=get_model("clinic.staff").search_browse([['user_id','=',user_id]])
|
if select_dpt:
|
||||||
if staff:
|
branch_id=select_dpt['branch_id']
|
||||||
branch_id=staff[0].branch_id.id
|
|
||||||
else:
|
else:
|
||||||
branch_id=int(branch_id or "0")
|
branch_id=int(branch_id or "0")
|
||||||
department_id=defaults.get('department_id',None)
|
department_id=defaults.get('department_id',None)
|
||||||
if not department_id:
|
if not department_id:
|
||||||
dom=[]
|
department_id=select_dpt['department_id']
|
||||||
dom.append(['user_id','=',user_id])
|
|
||||||
if branch_id:
|
|
||||||
dom.append(['branch_id','=',branch_id])
|
|
||||||
staff=get_model("clinic.staff").search_browse(dom)
|
|
||||||
if staff:
|
|
||||||
department_id=staff[0].department_id.id
|
|
||||||
else:
|
else:
|
||||||
department_id=int(department_id or "0")
|
department_id=int(department_id or "0")
|
||||||
res={
|
res={
|
||||||
|
@ -106,7 +99,7 @@ class ReportMedicalSummary(Model):
|
||||||
if department_id:
|
if department_id:
|
||||||
dom.append(['department_id','=',department_id])
|
dom.append(['department_id','=',department_id])
|
||||||
for hd_case in get_model('clinic.hd.case').search_browse(dom):
|
for hd_case in get_model('clinic.hd.case').search_browse(dom):
|
||||||
patient_type_id=hd_case.patient_id.type_id.id
|
patient_type_id=hd_case.patient_type_id.id
|
||||||
for line in hd_case.lines:
|
for line in hd_case.lines:
|
||||||
prod=line.product_id
|
prod=line.product_id
|
||||||
prod_code=prod.code or ""
|
prod_code=prod.code or ""
|
||||||
|
|
|
@ -32,6 +32,12 @@ class ReportRecentPatient(Model):
|
||||||
department_id=defaults.get('department_id',None)
|
department_id=defaults.get('department_id',None)
|
||||||
if department_id:
|
if department_id:
|
||||||
department_id=int(department_id)
|
department_id=int(department_id)
|
||||||
|
select_apt=get_model('select.company').get_select()
|
||||||
|
if select_apt:
|
||||||
|
if not branch_id:
|
||||||
|
branch_id=select_apt['branch_id']
|
||||||
|
if not department_id:
|
||||||
|
department_id=select_apt['department_id']
|
||||||
res={
|
res={
|
||||||
'date': date,
|
'date': date,
|
||||||
'date_from': date_from,
|
'date_from': date_from,
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
from netforce.model import Model, fields, get_model
|
from netforce.model import Model, fields, get_model
|
||||||
from netforce.access import get_active_user, set_active_user
|
from netforce.access import get_active_user, set_active_user
|
||||||
|
from netforce.database import get_connection
|
||||||
|
|
||||||
class SelectCompany(Model):
|
class SelectCompany(Model):
|
||||||
_inherit="select.company"
|
_inherit="select.company"
|
||||||
|
@ -67,7 +68,13 @@ class SelectCompany(Model):
|
||||||
|
|
||||||
def get_departments(self,context={}):
|
def get_departments(self,context={}):
|
||||||
user_id=get_active_user()
|
user_id=get_active_user()
|
||||||
|
set_active_user(1)
|
||||||
dpt_ids=[]
|
dpt_ids=[]
|
||||||
|
user=get_model("base.user").browse(user_id)
|
||||||
|
if user.department_profile_id:
|
||||||
|
for dpt in user.department_profile_id.departments:
|
||||||
|
dpt_ids.append(dpt.id)
|
||||||
|
if not dpt_ids:
|
||||||
for st in get_model("clinic.staff").search_browse(['user_id','=',user_id]):
|
for st in get_model("clinic.staff").search_browse(['user_id','=',user_id]):
|
||||||
for dpt in st.departments:
|
for dpt in st.departments:
|
||||||
dpt_ids.append(dpt.id)
|
dpt_ids.append(dpt.id)
|
||||||
|
@ -100,4 +107,23 @@ class SelectCompany(Model):
|
||||||
res=super().select(ids,context)
|
res=super().select(ids,context)
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
def get_select(self,context={}):
|
||||||
|
user_id=get_active_user()
|
||||||
|
db=get_connection()
|
||||||
|
department_id=None
|
||||||
|
branch_id=None
|
||||||
|
count=0
|
||||||
|
for r in db.query("select department from select_company where write_uid=%s order by id desc",user_id):
|
||||||
|
for dpt in get_model("clinic.department").search_browse([['name','=',r['department']]]):
|
||||||
|
department_id=dpt.id
|
||||||
|
branch_id=dpt.branch_id.id
|
||||||
|
count+=1
|
||||||
|
break
|
||||||
|
if count<1:
|
||||||
|
return {}
|
||||||
|
return {
|
||||||
|
'department_id': department_id,
|
||||||
|
'branch_id': branch_id,
|
||||||
|
}
|
||||||
|
|
||||||
SelectCompany.register()
|
SelectCompany.register()
|
||||||
|
|
|
@ -1,8 +1,21 @@
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
|
|
||||||
from netforce.model import Model, fields, get_model
|
from netforce.model import Model, fields, get_model
|
||||||
from netforce.utils import get_data_path
|
from netforce.utils import get_data_path
|
||||||
from netforce.access import get_active_company, get_active_user, set_active_user
|
from netforce.access import get_active_company, get_active_user, set_active_user
|
||||||
from netforce.database import get_connection
|
from netforce.database import get_connection
|
||||||
|
|
||||||
|
DAYS={
|
||||||
|
0: 'mon',
|
||||||
|
1: 'tue',
|
||||||
|
2: 'wed',
|
||||||
|
3: 'thu',
|
||||||
|
4: 'fri',
|
||||||
|
5: 'sat',
|
||||||
|
6: 'sun',
|
||||||
|
}
|
||||||
|
|
||||||
class ClinicSetting(Model):
|
class ClinicSetting(Model):
|
||||||
_name="clinic.setting"
|
_name="clinic.setting"
|
||||||
_string="Setting"
|
_string="Setting"
|
||||||
|
@ -136,18 +149,89 @@ class ClinicSetting(Model):
|
||||||
if user_id !=1:
|
if user_id !=1:
|
||||||
print("Only admin!!")
|
print("Only admin!!")
|
||||||
return
|
return
|
||||||
dpt_ids=get_model("clinic.department").search([])
|
### udpate working location for staff
|
||||||
for pt in get_model("clinic.patient").search_browse([]):
|
staffs={}
|
||||||
dpt2_ids=set()
|
for hdcase in get_model('clinic.hd.case').search_browse([]):
|
||||||
for vst in pt.visits:
|
dpt=hdcase.department_id
|
||||||
if vst.department_id:
|
doctor=hdcase.doctor_id
|
||||||
dpt2_ids.update({(vst.department_id.id, vst.cycle_id.id)}) # get day
|
citem=hdcase.cycle_item_id
|
||||||
print('dpt2_ids ', dpt2_ids)
|
if not citem:
|
||||||
if not pt.departments:
|
continue
|
||||||
pt.write({
|
for cline in citem.lines:
|
||||||
#'cycles': [['set',dpt2_ids]],
|
nurse=cline.nurse_id
|
||||||
|
if nurse.id not in staffs.keys():
|
||||||
|
staffs[nurse.id]=set()
|
||||||
|
staffs[nurse.id].update({dpt.id})
|
||||||
|
if doctor.id not in staffs.keys():
|
||||||
|
staffs[doctor.id]=set()
|
||||||
|
staffs[doctor.id].update({dpt.id})
|
||||||
|
for st_id, dpt_ids in staffs.items():
|
||||||
|
if not st_id:
|
||||||
|
continue
|
||||||
|
st=get_model('clinic.staff').browse(st_id)
|
||||||
|
olds=[dpt.id for dpt in st.departments]
|
||||||
|
for dpt_id in dpt_ids:
|
||||||
|
if dpt_id not in olds:
|
||||||
|
st.write({
|
||||||
|
'departments': [('add',[dpt_id])],
|
||||||
})
|
})
|
||||||
print('set department for ', pt.name)
|
#### update patient location
|
||||||
|
for pt in get_model("clinic.patient").search_browse([]):
|
||||||
|
pt.write({
|
||||||
|
'note': ' ',
|
||||||
|
})
|
||||||
|
#### update department
|
||||||
|
#### by visit
|
||||||
|
dpt_ids=get_model("clinic.department").search([])
|
||||||
|
fmt='%Y-%m-%d'
|
||||||
|
for pt in get_model("clinic.patient").search_browse([]):
|
||||||
|
cycles={}
|
||||||
|
print('len ', len(pt.visits))
|
||||||
|
for hd in pt.hd_cases:
|
||||||
|
if hd.department_id:
|
||||||
|
date=hd.date
|
||||||
|
wd=datetime.strptime(date,fmt).weekday()
|
||||||
|
key='%s-%s-%s'%(hd.department_id.id, hd.cycle_id.id, wd)
|
||||||
|
if not key in cycles.keys():
|
||||||
|
cycles[key]={
|
||||||
|
'department_id': hd.department_id.id,
|
||||||
|
'cycle_id': hd.cycle_id.id,
|
||||||
|
'day': wd,
|
||||||
|
}
|
||||||
|
print('cycles ', cycles)
|
||||||
|
if not pt.cycles and cycles:
|
||||||
|
clines=[]
|
||||||
|
for key, cycle_vals in cycles.items():
|
||||||
|
clines.append(('create',cycle_vals)),
|
||||||
|
pt.write({
|
||||||
|
'cycles': clines,
|
||||||
|
})
|
||||||
|
print('update cycle for ', pt.name)
|
||||||
|
elif pt.cycles:
|
||||||
|
continue #XXX
|
||||||
|
clines=[]
|
||||||
|
x1=set(cycles.keys())
|
||||||
|
x2=set()
|
||||||
|
for pcycle in pt.cycles:
|
||||||
|
pcycle_id=pcycle.cycle_id.id
|
||||||
|
pdpt_id=pcycle.department_id.id
|
||||||
|
wd=pcycle.day
|
||||||
|
key2='%s-%s-%s'%(pdpt_id,pcycle_id, wd)
|
||||||
|
x2.update({key2})
|
||||||
|
for cvals in (x1.difference(x2)):
|
||||||
|
dpt_id, cycle_id, day=cvals.split("-")
|
||||||
|
clines.append(('create', {
|
||||||
|
'department_id': int(dpt_id),
|
||||||
|
'cycle_id': int(cycle_id),
|
||||||
|
'day': day,
|
||||||
|
}))
|
||||||
|
if clines:
|
||||||
|
print("---- > update the rest ", clines)
|
||||||
|
pt.write({
|
||||||
|
'cycles': clines,
|
||||||
|
})
|
||||||
|
else:
|
||||||
|
pass
|
||||||
for st in get_model("clinic.staff").search_browse([]):
|
for st in get_model("clinic.staff").search_browse([]):
|
||||||
if not st.departments:
|
if not st.departments:
|
||||||
st.write({
|
st.write({
|
||||||
|
@ -158,6 +242,7 @@ class ClinicSetting(Model):
|
||||||
print('Done!')
|
print('Done!')
|
||||||
return
|
return
|
||||||
|
|
||||||
|
### remove douplicate visit
|
||||||
visits={}
|
visits={}
|
||||||
for visit in get_model("clinic.visit").search_browse([]):
|
for visit in get_model("clinic.visit").search_browse([]):
|
||||||
key='%s-%s'%(visit.visit_date, visit.patient_id.id)
|
key='%s-%s'%(visit.visit_date, visit.patient_id.id)
|
||||||
|
|
|
@ -464,6 +464,8 @@ class Visit(Model):
|
||||||
|
|
||||||
def cancel(self,ids,context={}):
|
def cancel(self,ids,context={}):
|
||||||
obj=self.browse(ids)[0]
|
obj=self.browse(ids)[0]
|
||||||
|
for hdcase in obj.hd_cases:
|
||||||
|
hdcase.cancelled()
|
||||||
obj.write({
|
obj.write({
|
||||||
'state': 'cancelled',
|
'state': 'cancelled',
|
||||||
})
|
})
|
||||||
|
|
|
@ -38,26 +38,20 @@ class VisitBoard(Model):
|
||||||
}
|
}
|
||||||
|
|
||||||
def _get_branch(self,context={}):
|
def _get_branch(self,context={}):
|
||||||
user_id=get_active_user()
|
res=get_model('select.company').get_select()
|
||||||
sts=get_model("clinic.staff").search_browse([['user_id','=',user_id]])
|
if res:
|
||||||
branch_id=None
|
return res['branch_id']
|
||||||
if sts:
|
|
||||||
branch_id=sts[0].branch_id.id
|
|
||||||
return branch_id
|
|
||||||
|
|
||||||
def _get_deparment(self,context={}):
|
def _get_department(self,context={}):
|
||||||
user_id=get_active_user()
|
res=get_model('select.company').get_select()
|
||||||
sts=get_model("clinic.staff").search_browse([['user_id','=',user_id]])
|
if res:
|
||||||
dpt_id=None
|
return res['department_id']
|
||||||
if sts:
|
|
||||||
dpt_id=sts[0].department_id.id
|
|
||||||
return dpt_id
|
|
||||||
|
|
||||||
_defaults={
|
_defaults={
|
||||||
'date': lambda *a: time.strftime("%Y-%m-%d"),
|
'date': lambda *a: time.strftime("%Y-%m-%d"),
|
||||||
'date_from': lambda *a: time.strftime("%Y-%m-%d"),
|
'date_from': lambda *a: time.strftime("%Y-%m-%d"),
|
||||||
'date_to': lambda *a: (datetime.now()+timedelta(days=DRT)).strftime("%Y-%m-%d"),
|
'date_to': lambda *a: (datetime.now()+timedelta(days=DRT)).strftime("%Y-%m-%d"),
|
||||||
'department_id': _get_deparment,
|
'department_id': _get_department,
|
||||||
'branch_id': _get_branch,
|
'branch_id': _get_branch,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -69,15 +63,17 @@ class VisitBoard(Model):
|
||||||
patient_id=None
|
patient_id=None
|
||||||
cycle_id=None
|
cycle_id=None
|
||||||
doctor_id=None
|
doctor_id=None
|
||||||
department_id=None
|
defaults=self.default_get(context=context)
|
||||||
branch_id=None
|
department_id=defaults.get("department_id",None)
|
||||||
|
if department_id:
|
||||||
|
department_id=department_id[0]
|
||||||
|
branch_id=defaults.get("branch_id",None)
|
||||||
|
if branch_id:
|
||||||
|
branch_id=branch_id[0]
|
||||||
|
|
||||||
user_id=get_active_user()
|
user_id=get_active_user()
|
||||||
set_active_user(1) #FIXME to allow user to see doctor different department
|
set_active_user(1) #FIXME to allow user to see doctor different department
|
||||||
sts=get_model("clinic.staff").search_browse([['user_id','=',user_id]])
|
|
||||||
if sts:
|
|
||||||
department_id=sts[0].department_id.id
|
|
||||||
branch_id=sts[0].branch_id.id
|
|
||||||
if ids:
|
if ids:
|
||||||
obj=self.browse(ids)[0]
|
obj=self.browse(ids)[0]
|
||||||
date_from=obj.date_from
|
date_from=obj.date_from
|
||||||
|
|
Loading…
Reference in New Issue