complete hd case
parent
3b5a68260d
commit
20f304274d
|
@ -1,6 +1,12 @@
|
||||||
<form title="Import NHSO">
|
<form title="Import NHSO">
|
||||||
<field name="file"/>
|
<field name="file"/>
|
||||||
|
<field name="date">
|
||||||
|
<template>
|
||||||
|
<a href="ui#name=clinic_hd_case">xx{{context.data}}</a>
|
||||||
|
</template>
|
||||||
|
</field>
|
||||||
<foot replace="1">
|
<foot replace="1">
|
||||||
<button string="Import Data" method="import_nhso" type="primary" icon="arrow-right"/>
|
<button string="Import Data" method="import_nhso" type="primary" icon="arrow-right"/>
|
||||||
|
<!--<button string="Post" method="post" type="success"/>-->
|
||||||
</foot>
|
</foot>
|
||||||
</form>
|
</form>
|
||||||
|
|
|
@ -577,9 +577,13 @@ class HDCase(Model):
|
||||||
def done(self,ids,context={}):
|
def done(self,ids,context={}):
|
||||||
obj=self.browse(ids)[0]
|
obj=self.browse(ids)[0]
|
||||||
obj.update_usetime()
|
obj.update_usetime()
|
||||||
obj.write({
|
state='waiting_payment'
|
||||||
'state': 'waiting_payment',
|
if not obj.amount:
|
||||||
})
|
obj.complete()
|
||||||
|
else:
|
||||||
|
obj.write({
|
||||||
|
'state': state,
|
||||||
|
})
|
||||||
|
|
||||||
def get_report_payment_data(self,context={}):
|
def get_report_payment_data(self,context={}):
|
||||||
settings=get_model("settings").browse(1)
|
settings=get_model("settings").browse(1)
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
from netforce.model import Model, fields, get_model
|
||||||
|
class ImportData(Model):
|
||||||
|
_name='clinic.import.data'
|
||||||
|
_fields={
|
||||||
|
}
|
||||||
|
|
||||||
|
ImportData.register()
|
|
@ -5,7 +5,21 @@ class ImportDataNHSO(Model):
|
||||||
_transient=True
|
_transient=True
|
||||||
_fields={
|
_fields={
|
||||||
'name': fields.Char("Name"),
|
'name': fields.Char("Name"),
|
||||||
|
'type': fields.Selection([['sucess','Succes'],['fail','Fail']],'Type'),
|
||||||
|
'epostat': fields.Char("Epostat"),
|
||||||
|
'hdrate': fields.Char("Hdrate"),
|
||||||
|
'hdflag': fields.Char("Hdflag"),
|
||||||
|
'amount': fields.Float("Amount"),
|
||||||
|
'paid': fields.Float("Paid"),
|
||||||
|
'paychk': fields.Char("Paychk"),
|
||||||
|
'dttran': fields.Char("Dttran"),
|
||||||
|
'hreg': fields.Char("Hreg"),
|
||||||
|
'station': fields.Char("Station"),
|
||||||
|
'hn': fields.Char("HN"),
|
||||||
|
'invno': fields.Char("InvNo"),
|
||||||
|
'rid': fields.Char("RID"),
|
||||||
|
'cstat': fields.Char("Cstat"),
|
||||||
|
'reimbpay': fields.Char("Reimbpay"),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ImportDataNHSO.register()
|
ImportDataNHSO.register()
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import time
|
import time
|
||||||
import xlrd
|
import xlrd
|
||||||
|
import xmltodict
|
||||||
|
|
||||||
from netforce.model import Model, fields, get_model
|
from netforce.model import Model, fields, get_model
|
||||||
from netforce.access import get_active_company
|
from netforce.access import get_active_company
|
||||||
|
@ -34,13 +35,45 @@ class ImportPayment(Model):
|
||||||
worksheet.cell_value(curr_row,2)
|
worksheet.cell_value(curr_row,2)
|
||||||
return data
|
return data
|
||||||
|
|
||||||
def read_xml(self,fpath=None):
|
def read_xml(self,fpath=None,node=""):
|
||||||
data={}
|
data={}
|
||||||
|
if not node:
|
||||||
|
return data
|
||||||
if fpath:
|
if fpath:
|
||||||
suffix=fpath.split(".")[-1]
|
suffix=fpath.split(".")[-1]
|
||||||
if suffix not in ('xml'):
|
if suffix not in ('xml'):
|
||||||
raise Exception("ERROR : please should file xml")
|
raise Exception("ERROR : please should file xml")
|
||||||
return data
|
data=xmltodict.parse(open(fpath,"r").read())
|
||||||
|
|
||||||
|
stmstm=data.get('STMSTM')
|
||||||
|
if stmstm:
|
||||||
|
hdbills=stmstm.get(node)
|
||||||
|
if not hdbills:
|
||||||
|
return {}
|
||||||
|
lines=[]
|
||||||
|
for k, v in hdbills.items():
|
||||||
|
collections=v
|
||||||
|
for collection in collections:
|
||||||
|
if isinstance(collection,dict):
|
||||||
|
line={}
|
||||||
|
for i, j in collection.items():
|
||||||
|
key=(i or "").lower()
|
||||||
|
line[key]=j
|
||||||
|
lines.append(line)
|
||||||
|
#titles=[title for title, value in lines[0].items()]
|
||||||
|
return lines
|
||||||
|
|
||||||
|
def import_nhso(self,ids,context={}):
|
||||||
|
obj=self.browse(ids)[0]
|
||||||
|
fname=obj.file
|
||||||
|
fpath=get_file_path(fname)
|
||||||
|
if not fpath:
|
||||||
|
raise Exception("Please select file")
|
||||||
|
lines=self.read_xml(fpath,node='HDBills')
|
||||||
|
if not lines:
|
||||||
|
raise Exception("Wrong file")
|
||||||
|
for line in lines:
|
||||||
|
print(line)
|
||||||
|
|
||||||
def import_mg(self,ids,context={}):
|
def import_mg(self,ids,context={}):
|
||||||
obj=self.browse(ids)[0]
|
obj=self.browse(ids)[0]
|
||||||
|
@ -48,12 +81,6 @@ class ImportPayment(Model):
|
||||||
fpath=get_file_path(fname)
|
fpath=get_file_path(fname)
|
||||||
print("fpath ", fpath)
|
print("fpath ", fpath)
|
||||||
|
|
||||||
def import_nhso(self,ids,context={}):
|
|
||||||
obj=self.browse(ids)[0]
|
|
||||||
fname=obj.file
|
|
||||||
fpath=get_file_path(fname)
|
|
||||||
print("fpath ", fpath)
|
|
||||||
|
|
||||||
def import_sc(self,ids,context={}):
|
def import_sc(self,ids,context={}):
|
||||||
obj=self.browse(ids)[0]
|
obj=self.browse(ids)[0]
|
||||||
fname=obj.file
|
fname=obj.file
|
||||||
|
|
Loading…
Reference in New Issue