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"> | ||||
|         <item string="HD Cases" action="clinic_hd_case"/> | ||||
|     <!--<item string="POS" icon="arrow-right" url="/static/pos/index.html"/>--> | ||||
|         <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