if nurse more that number of cycle item should show name of nurse

production
watcha.h@almacom.co.th 2015-08-30 22:47:58 +07:00
parent 5c9591f187
commit ccb1b45903
1 changed files with 15 additions and 1 deletions

View File

@ -98,17 +98,20 @@ class ReportCycleItem(Model):
ptypes={}
for ptype in get_model("clinic.patient.type").search_read([],['name']):
ptypes[ptype['name'] or ""]=0
cycle_check={}
for citem in get_model('clinic.cycle.item').search_browse(dom,order="date"):
cycle=citem.cycle_id
date=citem.date
key='%s-%s'%(date,cycle.id)
if key not in cycles.keys():
cycles[key]=[]
cycle_check[key]=0
for line in citem.lines:
nurse=line.nurse_id
cycles[key].append({
'name': nurse.name,
'first_name': nurse.first_name or "",
'cycle_item_id': citem.id,
})
for hdcase in citem.hd_cases:
if hdcase.state not in ('paid', 'waiting_payment'):
@ -120,6 +123,8 @@ class ReportCycleItem(Model):
ptype=patient.type_id
if ptype_id and ptype_id!=ptype.id:
continue
key='%s-%s'%(hdcase.date,hdcase.cycle_id.id)
cycle_check[key]+=1
ptypes[ptype.name or ""]+=1
doctor=hdcase.doctor_id
cycle=hdcase.cycle_id
@ -221,7 +226,6 @@ class ReportCycleItem(Model):
sub_mdc+=x['mdc'] or 0
if not epos.get(x['mdc_name']):
epos[x['mdc_name']]=0
#XXX
if not epos.get(x['iron_name']):
epos[x['iron_name']]=0
epos[x['iron_name']]+=x['total_ivr'] or 0 #XXX
@ -245,10 +249,20 @@ class ReportCycleItem(Model):
key='%s-%s'%(date,cid)
cres=cycles[key]
line['nurse']=''
more_lines=[]
if index < len(cres):
line['nurse']=cres[index]['name']
line['nfirst_name']=cres[index]['first_name']
if index+1==cycle_check[key]:
for i in range(index+1,len(cres)):
more_lines.append({
'nurse': cres[i]['name'],
'nfirst_name': cres[i]['first_name'],
'ctid': cres[i]['cycle_item_id'],
})
nlines.append(line)
# if nurse more that cres, should show name of nurses
nlines+=more_lines
if no==count:
epo_items=[{'name': k, 'qty': v} for k,v in epos.items() if k ]
nlines.append({