monthly
parent
4a3b4da09a
commit
66a0901fdb
|
@ -1,4 +1,4 @@
|
|||
<form model="clinic.cycle.daily">
|
||||
<form model="clinic.cycle.daily" attrs='{"readonly":[["state","in",["confirmed"]]]}' show_company="1">
|
||||
<head>
|
||||
<field name="state"/>
|
||||
<button string="Options" dropdown="1">
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<form model="clinic.cycle.monthly">
|
||||
<form model="clinic.cycle.monthly" attrs='{"readonly":[["state","in",["approved"]]]}' show_company="1">
|
||||
<head>
|
||||
<field name="state"/>
|
||||
<button string="Options" dropdown="1">
|
||||
|
@ -7,14 +7,13 @@
|
|||
</head>
|
||||
<tabs>
|
||||
<tab string="General">
|
||||
<field name="month"/>
|
||||
<field name="month" mode="month"/>
|
||||
<field name="lines" nolabel="1">
|
||||
<list>
|
||||
<field name="staff_id"/>
|
||||
<field name="level_id"/>
|
||||
<field name="type"/>
|
||||
<field name="qty" onchange="onchange_line"/>
|
||||
<field name="rate" onchange="onchange_line"/>
|
||||
<field name="amount"/>
|
||||
</list>
|
||||
<form>
|
||||
|
@ -22,7 +21,6 @@
|
|||
<field name="level_id"/>
|
||||
<field name="type"/>
|
||||
<field name="qty"/>
|
||||
<field name="rate"/>
|
||||
<field name="amount"/>
|
||||
</form>
|
||||
</field>
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
<header string="LABOR COST"/>
|
||||
<item string="Nurse Fee Summary" action="clinic_report_nurse_fee_sum"/>
|
||||
<item string="Nurse Fee Detail" action="clinic_report_nurse_fee_detail"/>
|
||||
<item string="Special Nurse" action="clinic_report_nurse_special"/>
|
||||
<!--<item string="Special Nurse" action="clinic_report_nurse_special"/>-->
|
||||
</item>
|
||||
<item string="Settings">
|
||||
<item string="Departments" action="clinic_department"/>
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
import time
|
||||
|
||||
from netforce.model import Model, fields
|
||||
from netforce.model import Model, fields, get_model
|
||||
from netforce.access import get_active_company, get_active_user
|
||||
from netforce.utils import get_data_path
|
||||
from netforce.database import get_connection
|
||||
|
||||
class CycleDaily(Model):
|
||||
_name="clinic.cycle.daily"
|
||||
|
@ -49,13 +50,55 @@ class CycleDaily(Model):
|
|||
obj.write({
|
||||
'state': 'confirmed',
|
||||
})
|
||||
# TODO create cycle monthly
|
||||
all_vals={}
|
||||
for line in obj.lines:
|
||||
staff=line.staff_id
|
||||
level=line.level_id
|
||||
qty=line.qty
|
||||
amt=line.amount
|
||||
if not all_vals.get(staff.id):
|
||||
all_vals[staff.id]={
|
||||
'level_id': level.id,
|
||||
'type': line.type,
|
||||
'qty': 0,
|
||||
'amount': 0,
|
||||
}
|
||||
all_vals[staff.id]['qty']+=qty
|
||||
all_vals[staff.id]['amount']+=amt
|
||||
lines=[]
|
||||
for staff_id, vals in all_vals.items():
|
||||
vals.update({'staff_id': staff_id})
|
||||
lines.append(('create',vals))
|
||||
|
||||
m=int(obj.date[5:7])
|
||||
db=get_connection()
|
||||
res=db.query("select id from clinic_cycle_monthly where extract(month from month)=%s"%m)
|
||||
mobj=get_model("clinic.cycle.monthly")
|
||||
mid=None
|
||||
monthly=None
|
||||
if res:
|
||||
mid=res[0]['id']
|
||||
monthly=mobj.browse(mid)
|
||||
for line in monthly.lines:
|
||||
line.delete()
|
||||
monthly.write({
|
||||
'lines': lines,
|
||||
})
|
||||
else:
|
||||
mid=mobj.create({
|
||||
'lines': lines,
|
||||
})
|
||||
monthly=mobj.browse(mid)
|
||||
if not monthly:
|
||||
return
|
||||
return {
|
||||
'next': {
|
||||
'name': 'clinic_cycle_daily',
|
||||
'name': 'clinic_cycle_monthly',
|
||||
'mode': 'form',
|
||||
'active_id': obj.id,
|
||||
'active_id': monthly.id,
|
||||
},
|
||||
'flash':'Confirmed',
|
||||
'flash':'Cycle %s has been confirmed and %s has been updated'%(obj.name,monthly.name)
|
||||
}
|
||||
|
||||
def recheck_item(self,ids,context={}):
|
||||
|
|
|
@ -93,5 +93,19 @@ class CycleMonthly(Model):
|
|||
total+=qty*rate
|
||||
data['total']=total
|
||||
return data
|
||||
|
||||
def to_draft(self,ids,context={}):
|
||||
obj=self.browse(ids)[0]
|
||||
obj.write({
|
||||
'state': 'draft',
|
||||
})
|
||||
return {
|
||||
'next': {
|
||||
'name': 'clinic_cycle_monthly',
|
||||
'mode': 'form',
|
||||
'active_id': obj.id,
|
||||
},
|
||||
'flash': '%s has been set to draft'%obj.name
|
||||
}
|
||||
|
||||
CycleMonthly.register()
|
||||
|
|
Loading…
Reference in New Issue