improve dialyzer

conv_bal
watcha.h 2015-02-10 12:22:04 +07:00
parent 58ec5de459
commit 10b2578088
6 changed files with 30 additions and 23 deletions

View File

@ -3,7 +3,7 @@
<field name="state"/> <field name="state"/>
<button string="Options" dropdown="1"> <button string="Options" dropdown="1">
<item string="New Dialyzer" action="clinic_hd_case_dlz" states="draft,in_progress,waiting_treatment"/> <item string="New Dialyzer" action="clinic_hd_case_dlz" states="draft,in_progress,waiting_treatment"/>
<item string="RD Shop" method="new_shop" states="draft,in_progress,waiting_treatment"/> <!--<item string="RD Shop" method="new_shop" states="draft,in_progress,waiting_treatment"/>-->
<item string="To Draft" method="to_draft" states="paid,waiting_payment,completed,cancelled"/> <item string="To Draft" method="to_draft" states="paid,waiting_payment,completed,cancelled"/>
</button> </button>
</head> </head>
@ -49,7 +49,7 @@
<field name="membrane_type" span="2"/> <field name="membrane_type" span="2"/>
<field name="dialyzer_type" span="2"/> <field name="dialyzer_type" span="2"/>
<field name="use_time"/> <field name="use_time"/>
<field name="max_use_time" readonly="1"/> <field name="max_use_time"/>
<field name="description"/> <field name="description"/>
</list> </list>
</field> </field>

View File

@ -46,6 +46,9 @@
<item string="HD Cases" action="clinic_hd_case"/> <item string="HD Cases" action="clinic_hd_case"/>
<item string="RD Shop" action="clinic_shop" perm="clinic_shop"/> <item string="RD Shop" action="clinic_shop" perm="clinic_shop"/>
<item string="Sickbed" action="clinic_sickbed"/> <item string="Sickbed" action="clinic_sickbed"/>
<divider/>
<header string="OTHERS"/>
<item string="Matching HD Case" action="clinic_matching_hd_case"/>
</item> </item>
<item string="Reporting" perm="clinic_report"> <item string="Reporting" perm="clinic_report">
<item string="Visit Summary" action="clinic_report_visit"/> <item string="Visit Summary" action="clinic_report_visit"/>

View File

@ -215,7 +215,7 @@ class Dialyzer(Model):
obj=self.browse(ids[0]) obj=self.browse(ids[0])
# XXX # XXX
if obj.use_time > obj.max_use_time: if obj.use_time > obj.max_use_time:
raise Exception("No long to use it (use time > max use time") raise Exception("Dialyzer %s is expired. (use time > max use time)"%obj.number or '')
obj.cancel() obj.cancel()
obj.write({"state": "new"}) obj.write({"state": "new"})

View File

@ -153,15 +153,8 @@ class HDCase(Model):
"time_stop": lambda *a: time.strftime("%Y-%m-%d %H:%M:%S"), "time_stop": lambda *a: time.strftime("%Y-%m-%d %H:%M:%S"),
'number': '/', 'number': '/',
"company_id": lambda *a: get_active_company(), "company_id": lambda *a: get_active_company(),
#'wt_start': 0.0,
#'wt_stop': 0.0,
#'bp_start': '0/0',
#'bp_stop': '0/0',
#"bid_flow_rate": 0.0,
#"ultrafittration": 0.0,
'hd_acc': 'o', 'hd_acc': 'o',
'hd_mode': 'chronic', 'hd_mode': 'chronic',
#'hct': 0,
'hct_msg': "สามารถเบิกค่ายาสูงสุดไม่เกิน 1,125บาท ต่อ สัปดาห์", 'hct_msg': "สามารถเบิกค่ายาสูงสุดไม่เกิน 1,125บาท ต่อ สัปดาห์",
'invoice_option': 'fee', 'invoice_option': 'fee',
'invoice_policy': 'fee', 'invoice_policy': 'fee',
@ -686,23 +679,32 @@ class HDCase(Model):
for obj in self.browse(ids): for obj in self.browse(ids):
is_decrease=context.get('is_decrease') is_decrease=context.get('is_decrease')
for dlz_line in obj.dialyzers: for dlz_line in obj.dialyzers:
dlz=dlz_line.dialyzer_id membrane_type=dlz_line.membrane_type or ''
dialyzer_type=dlz_line.dialyzer_type or ''
use_time=dlz_line.use_time or 0 use_time=dlz_line.use_time or 0
max_use_time=dlz_line.max_use_time or 0
desc=dlz_line.description or ''
if is_decrease: if is_decrease:
use_time-=1 use_time-=1
print("decrease ok") print("decrease ok")
print("use_time ", use_time) vals={
if dlz_line.use_time < dlz.max_use_time: 'membrane_type': membrane_type,
dlz.write({ 'dialyzer_type': dialyzer_type,
'use_time': use_time, 'use_time': use_time,
}) 'max_use_time': max_use_time,
elif dlz_line.use_time==dlz.max_use_time: 'note': desc,
dlz.write({ }
if use_time==max_use_time:
vals.update({
'use_time': use_time, 'use_time': use_time,
'state': 'expire', 'state': 'expire',
}) })
else: elif use_time > max_use_time:
raise Exception("Dialyzer is expired!") raise Exception("Dialyzer is expired!")
else:
pass
dlz=dlz_line.dialyzer_id
dlz.write(vals)
return True return True
def create_cycle_item(self,ids,context={}): def create_cycle_item(self,ids,context={}):
@ -993,6 +995,7 @@ class HDCase(Model):
'use_time': 1, 'use_time': 1,
'max_use_time': dialyzer.max_use_time, 'max_use_time': dialyzer.max_use_time,
'dialyzer_type': dialyzer.dialyzer_type, 'dialyzer_type': dialyzer.dialyzer_type,
'membrane_type': dialyzer.membrane_type,
})) }))
obj.write(vals) obj.write(vals)
if context.get('called'): if context.get('called'):

View File

@ -19,7 +19,7 @@ class HDCaseDialyzerLine(Model):
"description": fields.Char("Description",search=True), "description": fields.Char("Description",search=True),
"use_time":fields.Integer("Use time"), "use_time":fields.Integer("Use time"),
"max_use_time":fields.Integer("Max use time"), "max_use_time":fields.Integer("Max use time"),
"membrane_type": fields.Selection([("unsub","Unsub cellul"),("sub","Sub cellul"),("synthetic","Synthetic")],"Membrane Type",function="_get_all",function_multi=True), "membrane_type": fields.Selection([("unsub","Unsub cellul"),("sub","Sub cellul"),("synthetic","Synthetic")],"Membrane Type"),
} }
HDCaseDialyzerLine.register() HDCaseDialyzerLine.register()

View File

@ -136,11 +136,12 @@ class Visit(Model):
dialyzer=get_model("clinic.dialyzer").browse(dlz_id) dialyzer=get_model("clinic.dialyzer").browse(dlz_id)
use_time+=1 use_time+=1
vals={ vals={
"description": dialyzer.name or dialyzer.product_id.name or "", 'dialyzer_id': dialyzer.id,
'membrane_type': dialyzer.membrane_type or '',
"dialyzer_type": dialyzer.dialyzer_type,
"use_time": use_time, "use_time": use_time,
"max_use_time": dialyzer.max_use_time, "max_use_time": dialyzer.max_use_time,
"dialyzer_type": dialyzer.dialyzer_type, "description": dialyzer.name or dialyzer.product_id.name or "",
'dialyzer_id': dialyzer.id,
} }
return vals return vals