sequence
parent
f1549b2536
commit
b340622e9e
|
@ -0,0 +1,5 @@
|
|||
<inherit model="sequence" inherit="sequence_list">
|
||||
<field name="company_id" position="after">
|
||||
<field name="branch_id"/>
|
||||
</field>
|
||||
</inherit>
|
|
@ -35,10 +35,10 @@ class Dialyzer(Model):
|
|||
|
||||
def _get_number(self,context={}):
|
||||
while 1:
|
||||
seq_name='Clinic Dialyzer'
|
||||
seq_id=get_model("sequence").find_sequence(name=seq_name)
|
||||
seq_type='clinic_dlz'
|
||||
seq_id=get_model("sequence").find_sequence(type=seq_type)
|
||||
if not seq_id:
|
||||
raise Exception("Can not found sequence %s"%seq_name)
|
||||
raise Exception("Can not found sequence %s"%seq_type)
|
||||
num=get_model("sequence").get_next_number(seq_id,context=context)
|
||||
if not num:
|
||||
return None
|
||||
|
@ -175,7 +175,9 @@ class Dialyzer(Model):
|
|||
pick.set_done([pick_id])
|
||||
number=obj.number.replace("/","")
|
||||
if not number:
|
||||
number=self._get_number(context)
|
||||
department=obj.department_id
|
||||
context['branch_id']=department.branch_id.id
|
||||
number=self._get_number(context=context)
|
||||
obj.write({
|
||||
"number": number,
|
||||
"state": "active",
|
||||
|
|
|
@ -184,7 +184,8 @@ class HDCase(Model):
|
|||
|
||||
def _get_number(self,context={}):
|
||||
while 1:
|
||||
seq_id=get_model("sequence").find_sequence(name="Clinic HD Case")
|
||||
#seq_id=get_model("sequence").find_sequence(name="Clinic HD Case")
|
||||
seq_id=get_model("sequence").find_sequence(type="clinic_hdcase")
|
||||
num=get_model("sequence").get_next_number(seq_id,context=context)
|
||||
if not num:
|
||||
return None
|
||||
|
@ -715,7 +716,8 @@ class HDCase(Model):
|
|||
'state': 'in_progress',
|
||||
}
|
||||
if obj.number=='/':
|
||||
number=self._get_number()
|
||||
context['branch_id']=obj.branch_id.id
|
||||
number=self._get_number(context=context)
|
||||
vals['number']=number
|
||||
|
||||
# update start time
|
||||
|
|
|
@ -1,10 +1,80 @@
|
|||
from netforce.model import Model, fields
|
||||
from netforce.model import Model, fields, get_model
|
||||
from netforce.access import get_active_company, get_active_user
|
||||
|
||||
class Sequence(Model):
|
||||
_inherit="sequence"
|
||||
_fields={
|
||||
'fax': fields.Char("Fax"),
|
||||
'branch_id': fields.Many2One("clinic.branch","Branch"),
|
||||
"type": fields.Selection([
|
||||
["cust_invoice","Customer Invoice"],
|
||||
["supp_invoice","Supplier Invoice"],
|
||||
["cust_credit","Customer Credit Note"],
|
||||
["supp_credit","Supplier Credit Note"],
|
||||
["cust_debit","Customer Debit Note"],
|
||||
["supp_debit","Supplier Debit Note"],
|
||||
["pay_in","Incoming Payment"],
|
||||
["pay_out","Outgoing Payment"],
|
||||
["transfer","Transfer"],
|
||||
["tax_no","Tax No"],
|
||||
["wht_no","WHT No"],
|
||||
["account_move","Journal Entry"],
|
||||
["pick_in","Goods Receipt"],
|
||||
["pick_internal","Goods Transfer"],
|
||||
["pick_out","Goods Issue"],
|
||||
["stock_count","Stock Count"],
|
||||
["stock_lot","Lot / Serial Number"],
|
||||
["stock_container","Container"],
|
||||
["shipping_rates","Shipping Rates"],
|
||||
["sale_quot","Sales Quotations"],
|
||||
["sale_order","Sales Order"],
|
||||
["ecom_sale_order","Ecommerce Sales Order"],
|
||||
["purchase_order","Purchase Order"],
|
||||
["purchase_request","Purchase Request"],
|
||||
["pos_closure","POS Register Closure"],
|
||||
["production","Production Order"],
|
||||
["bom","Bill of Material"],
|
||||
["service_item","Service Item"],
|
||||
["job","Service Order"],
|
||||
["service_contract","Service Contract"],
|
||||
["employee","Employee"],
|
||||
["payrun","Payrun"],
|
||||
["leave_request","Leave Request"],
|
||||
["expense","Expense Claim"],
|
||||
["fixed_asset","Fixed Asset"],
|
||||
["claim","Product Claims"],
|
||||
["borrow","Product Borrowings"],
|
||||
["clinic_patient","Patient"],
|
||||
["clinic_staff","Staff"],
|
||||
["clinic_visit","Visit"],
|
||||
["clinic_hdcase","HD Case"],
|
||||
["clinic_dlz","Dialyzer"],
|
||||
["clinic_rdshop","RD Shop"],
|
||||
["other","Other"]],"Type",required=True,search=True),
|
||||
}
|
||||
|
||||
def find_sequence(self,type=None,name=None,context={}):
|
||||
if type and name:
|
||||
dom=[["type","=",type],["name","=",name]]
|
||||
elif type:
|
||||
dom=[["type","=",type]]
|
||||
elif name:
|
||||
dom=[["name","=",name]]
|
||||
company_id=get_active_company()
|
||||
comp_dom=dom+[["company_id","=",company_id]]
|
||||
user_id=get_active_user()
|
||||
user=get_model('base.user').browse(user_id)
|
||||
dpt=user.department_id
|
||||
if dpt:
|
||||
branch_id=dpt.branch_id.id
|
||||
comp_dom=comp_dom+[["branch_id","=",branch_id]]
|
||||
elif context.get('branch_id'):
|
||||
comp_dom=comp_dom+[["branch_id","=",context['branch_id']]]
|
||||
res=self.search(comp_dom,order="id")
|
||||
if res:
|
||||
return res[0]
|
||||
res=self.search(dom,order="id")
|
||||
if res:
|
||||
return res[0]
|
||||
return None
|
||||
|
||||
Sequence.register()
|
||||
|
|
|
@ -170,7 +170,8 @@ class Staff(Model):
|
|||
|
||||
def _get_number(self,context={}):
|
||||
while 1:
|
||||
seq_id=get_model("sequence").find_sequence(name="Clinic Staff")
|
||||
seq_type='clinic_staff'
|
||||
seq_id=get_model("sequence").find_sequence(type=seq_type)
|
||||
if not seq_id:
|
||||
return "/"
|
||||
num=get_model("sequence").get_next_number(seq_id,context=context)
|
||||
|
|
|
@ -55,10 +55,10 @@ class Visit(Model):
|
|||
|
||||
def _get_number(self,context={}):
|
||||
while 1:
|
||||
seq_name='Clinic Visit'
|
||||
seq_id=get_model("sequence").find_sequence(name=seq_name)
|
||||
seq_type='clinic_visit'
|
||||
seq_id=get_model("sequence").find_sequence(type=seq_type)
|
||||
if not seq_id:
|
||||
raise Exception("Can not found sequence %s"%seq_name)
|
||||
raise Exception("Can not found sequence %s"%seq_type)
|
||||
num=get_model("sequence").get_next_number(seq_id,context=context)
|
||||
if not num:
|
||||
return None
|
||||
|
@ -153,7 +153,9 @@ class Visit(Model):
|
|||
raise Exception("Can not confirm visit %s: datenow is %s"%(obj.number or "", datenow))
|
||||
number=obj.number
|
||||
if number=="/" or not number:
|
||||
number=self._get_number(context)
|
||||
branch=obj.department_id.branch_id
|
||||
context['branch_id']=branch.id
|
||||
number=self._get_number(context=context)
|
||||
vals={
|
||||
'number': number,
|
||||
'state': 'confirmed',
|
||||
|
@ -439,7 +441,9 @@ class Visit(Model):
|
|||
obj=self.browse(ids)[0]
|
||||
if obj.number != '/' or obj.state not in ('draft','pending'):
|
||||
return
|
||||
number=self._get_number(context)
|
||||
branch=obj.department_id.branch_id
|
||||
context['branch_id']=branch.id
|
||||
number=self._get_number(context=context)
|
||||
obj.write({
|
||||
'number': number,
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue