report hd case
parent
d870a49af0
commit
514198043d
|
@ -0,0 +1,8 @@
|
|||
<action>
|
||||
<field name="string">HD Case Dialy</field>
|
||||
<field name="view_cls">report</field>
|
||||
<field name="model">clinic.hd.case.dialy</field>
|
||||
<field name="report_template">hd_case_dialy</field>
|
||||
<field name="report_template_xls">hd_case_dialy</field>
|
||||
<field name="menu">clinic_menu</field>
|
||||
</action>
|
|
@ -0,0 +1,3 @@
|
|||
<form model="clinic.hd.case.dialy">
|
||||
<field name="date" span="2"/>
|
||||
</form>
|
|
@ -36,8 +36,10 @@
|
|||
<item string="Visit Dialy" action="clinic_visit_dialy"/>
|
||||
<item string="Generate Visit" action="clinic_gen_visit_form"/>
|
||||
</item>
|
||||
<item string="HD Cases" action="clinic_hd_case"/>
|
||||
<!--<item string="POS" icon="arrow-right" url="/static/pos/index.html"/>-->
|
||||
<item string="HD Cases">
|
||||
<item string="HD Cases" action="clinic_hd_case"/>
|
||||
<item string="HD Case Dialy" action="clinic_hd_case_dialy"/>
|
||||
</item>
|
||||
<item string="Reports">
|
||||
<item string="HD Case Summary" action="clinic_report_hd_case_summary"/>
|
||||
<item string="Medical Summary" action="clinic_report_medical_summary"/>
|
||||
|
|
|
@ -23,8 +23,9 @@ from . import hd_case_personal
|
|||
from . import hd_case_gmline
|
||||
from . import hd_case_discont
|
||||
from . import hd_case_payment
|
||||
from . import hd_case_dialy
|
||||
from . import hd_case_dialyzer
|
||||
from . import dialyzer
|
||||
from . import dialyzer_line
|
||||
from . import import_payment
|
||||
from . import cycle
|
||||
from . import cycle_item
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
from netforce.model import Model, fields
|
||||
|
||||
class DialyzerLine(Model):
|
||||
_name="clinic.dialyzer.line"
|
||||
_fields={
|
||||
"hd_case_id": fields.Many2One("clinic.hd.case","HdCase",on_delete="cascade"),
|
||||
"visit_id": fields.Many2One("clinic.visit","Visit",on_delete="cascade"),
|
||||
"dialyzer_id": fields.Many2One("clinic.dialyzer","Dialzer",search=True),
|
||||
"description": fields.Char("Description",search=True),
|
||||
"use_time":fields.Integer("Use time"),
|
||||
"max_use_time":fields.Integer("Max use time"),
|
||||
"member_type": fields.Selection([("unsub","Unsub cellul"),("sub","Sub cellul"),("synthetic","Synthetic")],"Member Type"),
|
||||
"dialyzer_type": fields.Selection([("low","low flux"),("high","high flux"),("dbl","dbl hifulx")],"Member Type"),
|
||||
"bid_flow_rate": fields.Integer("Bid Flow Rate (ml/min)"),
|
||||
"ultrafittration": fields.Float("Ultrafittration Kg."),
|
||||
"state":fields.Selection([("draft","New"),("active","Active"),("drop","Drop")],"Status"),
|
||||
}
|
||||
|
||||
DialyzerLine.register()
|
||||
|
|
@ -49,7 +49,7 @@ class HDCase(Model):
|
|||
"check_goverment_pay" : fields.Boolean("The Government Pay"),
|
||||
"check_personal_pay" : fields.Boolean("Pay yourself"),
|
||||
"state": fields.Selection([("draft","Draft"),("in_progress","In Progress"),("completed","Completed"),("waiting_payment","Waiting Payment"),("discountinued","Discountinued"),("in_completed","In completed")],"Status",required=True),
|
||||
"dialyzers": fields.One2Many("clinic.dialyzer.line","hd_case_id","Dialyzers"),
|
||||
"dialyzers": fields.One2Many("clinic.hd.case.dialyzer","hd_case_id","Dialyzers"),
|
||||
"lines": fields.One2Many("clinic.hd.case.line","hd_case_id","Lines"),
|
||||
"personals": fields.One2Many("clinic.hd.case.personal","hd_case_id","Personals"),
|
||||
"comments": fields.One2Many("message","related_id","Comments"), "company_id": fields.Many2One("company","Company"),
|
||||
|
@ -694,7 +694,6 @@ class HDCase(Model):
|
|||
doctor+= 1
|
||||
else:
|
||||
nurse+=1
|
||||
print('doctor ', doctor_id)
|
||||
res[obj.id]={
|
||||
'total_doctor': doctor,
|
||||
'total_nurse': nurse,
|
||||
|
|
|
@ -0,0 +1,77 @@
|
|||
import time
|
||||
import urllib.parse as urllib
|
||||
|
||||
from datetime import datetime
|
||||
from calendar import monthrange
|
||||
from netforce.model import Model, fields, get_model
|
||||
from netforce.access import get_active_company
|
||||
|
||||
from . import utils
|
||||
|
||||
class HDCaseDialy(Model):
|
||||
_name="clinic.hd.case.dialy"
|
||||
_string="HD Case Dialy"
|
||||
_transient=True
|
||||
|
||||
_fields={
|
||||
"date": fields.Date("Date", required=True),
|
||||
}
|
||||
|
||||
_defaults={
|
||||
'date': lambda *a: time.strftime("%Y-%m-%d"),
|
||||
}
|
||||
|
||||
def get_report_data(self,ids,context={}):
|
||||
company_id=get_active_company()
|
||||
company=get_model("company").browse(company_id)
|
||||
|
||||
date=datetime.now().strftime("%Y-%m-%d")
|
||||
if ids:
|
||||
obj=self.browse(ids)[0]
|
||||
date=obj.date
|
||||
month=int(date[5:7])
|
||||
day=date[8:10]
|
||||
year=date[0:4]
|
||||
month_str=utils.MONTHS['th_TH'][month]
|
||||
dom=[]
|
||||
dom.append(['time_start','>=','%s 00:00:00'%date])
|
||||
dom.append(['time_stop','<=','%s 23:59:59'%date])
|
||||
lines=[]
|
||||
no=1
|
||||
for obj in get_model("clinic.hd.case").search_browse(dom):
|
||||
patient_type=utils.PATIENT_TYPE[obj.patient_id.type]
|
||||
dlz_number=""
|
||||
dlz_id=None
|
||||
for line in obj.dialyzers:
|
||||
dlz=line.dialyzer_id
|
||||
dlz_id=dlz.id
|
||||
dlz_number=dlz.number
|
||||
line={
|
||||
'cycle_name': obj.cycle_id.name,
|
||||
'no': no,
|
||||
'hd_case_number': obj.number,
|
||||
'patient_name': obj.patient_id.name,
|
||||
'patient_type': patient_type,
|
||||
'doctor_name': obj.doctor_id.name,
|
||||
'doctor_id': obj.doctor_id.id,
|
||||
'fee_amount': obj.fee_amount,
|
||||
'hd_case_id': obj.id,
|
||||
'dlz_number': dlz_number,
|
||||
'dlz_id': dlz_id,
|
||||
'success_color': obj.state=='completed' and '#99ff99' or '',
|
||||
'note': obj.note or "",
|
||||
}
|
||||
lines.append(line)
|
||||
no+=1
|
||||
# XXX
|
||||
year=int(year)+543
|
||||
date_str='%s %s %s'%(day,month_str,year)
|
||||
data={
|
||||
'lines': lines,
|
||||
'date': date_str,
|
||||
'company_name': company.name,
|
||||
'company_parent_name': company.parent_id.name,
|
||||
}
|
||||
return data
|
||||
|
||||
HDCaseDialy.register()
|
|
@ -1,9 +1,10 @@
|
|||
from netforce.model import Model, fields
|
||||
|
||||
class HdcaseDialyzer(Model):
|
||||
class HDCaseDialyzerLine(Model):
|
||||
_name="clinic.hd.case.dialyzer"
|
||||
_fields={
|
||||
"hd_case_id": fields.Many2One("clinic.hd.case","HdCase",required=True,on_delete="cascade"),
|
||||
"hd_case_id": fields.Many2One("clinic.hd.case","HdCase",on_delete="cascade"),
|
||||
"visit_id": fields.Many2One("clinic.visit","Visit",on_delete="cascade"),
|
||||
"dialyzer_id": fields.Many2One("clinic.dialyzer","Dialzer",search=True),
|
||||
"description": fields.Char("Description",search=True),
|
||||
"use_time":fields.Integer("Use time"),
|
||||
|
@ -15,5 +16,5 @@ class HdcaseDialyzer(Model):
|
|||
"state":fields.Selection([("draft","New"),("active","Active"),("drop","Drop")],"Status"),
|
||||
}
|
||||
|
||||
HdcaseDialyzer.register()
|
||||
HDCaseDialyzerLine.register()
|
||||
|
||||
|
|
Binary file not shown.
|
@ -0,0 +1,45 @@
|
|||
<center>
|
||||
<h2>ตารางการรักษาผู้ป่วย</h2>
|
||||
<h3>
|
||||
{{parent_company_name}} {{company_name}}<br/>
|
||||
</h3>
|
||||
<h4>
|
||||
ประจำวันที่ {{date}}
|
||||
</h4>
|
||||
</center>
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<th>รอบ</th>
|
||||
<th>No</th>
|
||||
<th>ชื่อ-นามสกุล</th>
|
||||
<th>แพทย์</th>
|
||||
<th>สิทธิ์</th>
|
||||
<th>จำนวนเงิน</th>
|
||||
<th>RC.No</th>
|
||||
<th>H</th>
|
||||
<th>DZ</th>
|
||||
<th>N/U</th>
|
||||
<th>พยาบาล</th>
|
||||
<th>หมายเหตุ</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{#each lines }}
|
||||
<tr style="background-color: {{success_color}}">
|
||||
<td style="background-color: {{cycle_color}}">{{cycle_name}}</td>
|
||||
<td>{{no}}</td>
|
||||
<td><a href="/ui#name=clinic_patient&active_id={{patient_id}}&mode=form">{{patient_name}}</a></td>
|
||||
<td><a href="/ui#name=clinic_personal&active_id={{doctor_id}}&mode=form">{{doctor_name}}</a></td>
|
||||
<td>{{patient_type}}</td>
|
||||
<td>{{fee_amount}}</td>
|
||||
<td>-</td>
|
||||
<td><a href="/ui#name=clinic_hd_case&active_id={{hd_case_id}}&mode=form">{{hd_case_number}}</a></td>
|
||||
<td><a href="/ui#name=clinic_hd_dialyzer&active_id={{dlz_id}}&mode=form">{{dlz_number}}</a></td>
|
||||
<td>-</td>
|
||||
<td>-</td>
|
||||
<td>{{note}}</td>
|
||||
</tr>
|
||||
{{/each}}
|
||||
</tbody>
|
||||
<tfoot>
|
||||
</tfoot>
|
||||
</table>
|
|
@ -1,5 +1,5 @@
|
|||
<center>
|
||||
<h2>ตารางการรักษาผู้ป่วย</h2>
|
||||
<h2>ตารางการนัดผู้ป่วย</h2>
|
||||
<h3>
|
||||
{{parent_company_name}} {{company_name}}<br/>
|
||||
</h3>
|
||||
|
@ -12,7 +12,7 @@
|
|||
<th>รอบ</th>
|
||||
<th>Ref.</th>
|
||||
<th>ผู้ป่วย</th>
|
||||
<th>นพ.</th>
|
||||
<th>แพทย์</th>
|
||||
<th>HD Case</th>
|
||||
<th>หมายเหตุ</th>
|
||||
</thead>
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
=======
|
||||
- report salary
|
||||
-
|
||||
========
|
||||
customize ui
|
||||
calendar -
|
||||
- show search
|
||||
|
|
Loading…
Reference in New Issue