setting
parent
2f011dcaa8
commit
481d554913
|
@ -1,11 +1,20 @@
|
||||||
<form model="clinic.setting" title="Clinic Settings">
|
<form model="clinic.setting" title="Clinic Settings">
|
||||||
|
<head>
|
||||||
|
<button string="Options" dropdown="1">
|
||||||
|
<item string="Manual Generate Visit" method="manual_generate_visit" confirm="This action will remove all pending visit of this month and generate new one. Are you sure?"/>
|
||||||
|
</button>
|
||||||
|
</head>
|
||||||
<separator string="Visit"/>
|
<separator string="Visit"/>
|
||||||
<field name="find_dlz" span="4"/>
|
<group form_layout="stacked">
|
||||||
<field name="auto_gen_visit" span="6"/>
|
<field name="find_dlz"/>
|
||||||
|
<newline/>
|
||||||
|
<field name="auto_gen_visit" string="Next Gen"/>
|
||||||
|
<field name="next_date" span="3"/>
|
||||||
|
</group>
|
||||||
<separator string="HD Case"/>
|
<separator string="HD Case"/>
|
||||||
<group form_layout="stacked">
|
<group form_layout="stacked">
|
||||||
<field name="waiting_approval" span="3"/>
|
<!--<field name="waiting_approval" span="3"/>-->
|
||||||
<field name="real_time" span="3"/>
|
<!--<field name="real_time" span="3"/>-->
|
||||||
<field name="auto_gen" invisible="1" span="3"/>
|
<field name="auto_gen" invisible="1" span="3"/>
|
||||||
<field name="products" nolabel="1">
|
<field name="products" nolabel="1">
|
||||||
<list>
|
<list>
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
from datetime import datetime
|
from datetime import datetime, timedelta
|
||||||
|
from calendar import monthrange
|
||||||
|
|
||||||
|
|
||||||
from netforce.model import Model, fields, get_model
|
from netforce.model import Model, fields, get_model
|
||||||
|
@ -51,6 +52,7 @@ class ClinicSetting(Model):
|
||||||
"import_account_id": fields.Many2One("account.account","Import Account",multi_company=True),
|
"import_account_id": fields.Many2One("account.account","Import Account",multi_company=True),
|
||||||
'helper_categ_id': fields.Many2One("clinic.staff.categ","Helper Category"),
|
'helper_categ_id': fields.Many2One("clinic.staff.categ","Helper Category"),
|
||||||
'base_salary_day': fields.Float("Base Salary Day"),
|
'base_salary_day': fields.Float("Base Salary Day"),
|
||||||
|
'next_date': fields.DateTime("Next Gen"),
|
||||||
}
|
}
|
||||||
|
|
||||||
_defaults={
|
_defaults={
|
||||||
|
@ -954,6 +956,58 @@ class ClinicSetting(Model):
|
||||||
|
|
||||||
def generate_visit(self,ids,context={}):
|
def generate_visit(self,ids,context={}):
|
||||||
obj=self.browse(ids)[0]
|
obj=self.browse(ids)[0]
|
||||||
print(">>>>")
|
if obj.auto_gen_visit:
|
||||||
|
datenow=datetime.now().strftime("%Y-%m-%d")
|
||||||
|
year,month,day=datenow.split("-")
|
||||||
|
weekday, total_day=monthrange(int(year), int(month))
|
||||||
|
date_from="%s-%s-%s"%(year,month,"01")
|
||||||
|
date_to="%s-%s-%s"%(year,month,("%s"%total_day).zfill(2))
|
||||||
|
mobj=get_model('clinic.make.apt')
|
||||||
|
vals={
|
||||||
|
'date_from': date_from,
|
||||||
|
'date_to': date_to,
|
||||||
|
}
|
||||||
|
print('duration generate ', vals)
|
||||||
|
mid=mobj.create(vals)
|
||||||
|
m=mobj.browse(mid)
|
||||||
|
m.load(context=context)
|
||||||
|
m.gen(context=context)
|
||||||
|
|
||||||
|
def auto_generate_visit(self,ids,context={}):
|
||||||
|
obj=self.browse(ids)[0]
|
||||||
|
print("auto generate visit running...")
|
||||||
|
datenow=datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||||
|
print('now : ', datenow, 'next gen :',obj.next_date)
|
||||||
|
print('ans: ', datenow>=obj.next_date)
|
||||||
|
if datenow>=obj.next_date:
|
||||||
|
obj.generate_visit()
|
||||||
|
# update next job
|
||||||
|
date=datetime.now()
|
||||||
|
y,m,d=date.strftime("%Y-%m-%d").split("-")
|
||||||
|
m=int(m)
|
||||||
|
if m>=12:
|
||||||
|
m=1
|
||||||
|
y=int(y)+1
|
||||||
|
else:
|
||||||
|
m+=1
|
||||||
|
m=str(m).zfill(2)
|
||||||
|
next_date='%s-%s-%s 00:00:00'%(y,m,'01')
|
||||||
|
obj.write({
|
||||||
|
'next_date': next_date,
|
||||||
|
})
|
||||||
|
print("Done!")
|
||||||
|
print("Next Gen is ", obj.next_date)
|
||||||
|
|
||||||
|
def manual_generate_visit(self,ids,context={}):
|
||||||
|
dom=[]
|
||||||
|
dom.append(['name','=','Generate Visit'])
|
||||||
|
sec=10 # waiting in 10 sec
|
||||||
|
date=datetime.now()+timedelta(0,sec) # days, seconds
|
||||||
|
next_date=date.strftime("%Y-%m-%d %H:%M:%S")
|
||||||
|
obj=self.browse(ids)[0]
|
||||||
|
obj.write(
|
||||||
|
{ 'next_date': next_date,
|
||||||
|
})
|
||||||
|
print('next runing in 10 seconds ', date)
|
||||||
|
|
||||||
ClinicSetting.register()
|
ClinicSetting.register()
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
=====
|
|
||||||
- if department of staff or patient not related to department profile of user , it will show error's permission denied.
|
|
||||||
=====
|
|
||||||
- report
|
|
||||||
- walkin
|
|
||||||
- receipt **
|
|
||||||
-
|
|
||||||
- update & merge data
|
|
||||||
- patient
|
|
||||||
- doctor
|
|
||||||
- *** template:
|
|
||||||
- change company name in all report template
|
|
||||||
====
|
|
||||||
improvement:
|
|
||||||
1. ย้ายผู้ป่วย
|
|
||||||
2. ปรับ level
|
|
Loading…
Reference in New Issue