20
20
'create_lista_concepto':self.create_lista_concepto,
21
21
'get_mes':self.get_mes,
22
22
'get_concepto':self.get_concepto,
23
'get_sede':self.get_sede,
23
'get_sedes':self.get_sedes,
24
24
'get_total':self.get_total,
25
25
'get_final_date':self.get_final_date,
40
40
hr_concept_obj = self.pool.get('hr.concept')
41
41
hr_sede_obj = self.pool.get('hr.sede')
42
42
hr_concept_brw = hr_concept_obj.browse(self.cr, self.uid, valor['concept_id'])
44
hr_sede_brw = hr_sede_obj.browse(self.cr, self.uid, valor['sede_id'])
44
hr_sede_brw = hr_sede_obj.browse(self.cr, self.uid, valor['sede_ids'])
45
45
period_brw = hr_monthr_brw.hr_period_ids
47
47
if valor['payroll_id']:
59
59
concept_id = hr_concept_brw
61
61
line_ids = self.pool.get('hr.payslip.line').search(self.cr, self.uid,
62
[('code','=',concept_id.code),('sede_id','=',hr_sede_brw.id),
62
[('code','=',concept_id.code),('sede_id','in',valor['sede_ids']),
63
63
('process_id','in',process_ids)])
65
65
line_ids = self.pool.get('hr.payslip.line').search(self.cr, self.uid,
75
75
parameter_id = valor['name_concepts'][valor['concept_id']]
76
76
parameter_brw = parameter_obj.browse(self.cr, self.uid, parameter_id)
78
#~ if parameter_brw.type <> 'concepto_caja_ahorro':
79
#~ empresa_porc = parameter_brw.porcentaje_empresa
80
#~ if not empresa_porc:
81
#~ raise osv.except_osv(_('ERROR!'), _('No se definio el \
82
#~ porcentaje de aporte empresa para el parametro %s'%parameter_brw.type))
84
#~ empleado_porc = parameter_brw.porcentaje_empleado
85
#~ if not empleado_porc:
86
#~ raise osv.except_osv(_('ERROR!'), _('No se definio el porcentaje \
87
#~ de aporte trabajador para el parametro %s'%parameter_brw.type))
93
78
aporte_id = parameter_brw.concept_aporte_compania_id.id
95
80
raise osv.except_osv(_('ERROR!'), _('No se definio el campo \
108
93
payslib_obj = self.pool.get('hr.payslip.line')
110
95
payslips_ids = payslib_obj.search(self.cr, self.uid,
111
[('concept_id','in', concept_list),('sede_id','=',hr_sede_brw.id),
96
[('concept_id','in', concept_list),('sede_id','in',valor['sede_ids']),
112
97
('process_id','in',process_ids)])
114
99
payslips_ids = payslib_obj.search(self.cr, self.uid,
219
204
hr_concept_obj = self.pool.get('hr.concept')
220
205
hr_sede_obj = self.pool.get('hr.sede')
221
206
hr_concept_brw = hr_concept_obj.browse(self.cr, self.uid, valor['concept_id'])
223
hr_sede_brw = hr_sede_obj.browse(self.cr, self.uid, valor['sede_id'])
207
if valor['sede_ids']:
208
hr_sede_brw = hr_sede_obj.browse(self.cr, self.uid, valor['sede_ids'])
225
209
period_brw = hr_monthr_brw.hr_period_ids
226
210
if valor['payroll_id']:
227
211
hr_payroll_brw = hr_payroll_obj.browse(self.cr, self.uid,
241
225
line_ids = self.pool.get('hr.payslip.line').search(self.cr, self.uid,
242
[('code','=',concept_id.code),('sede_id','=',hr_sede_brw.id),
226
[('code','=',concept_id.code),('sede_id','in',valor['sede_ids']),
243
227
('process_id','in',process_ids)])
245
229
line_ids = self.pool.get('hr.payslip.line').search(self.cr, self.uid,
256
240
concept_acum = {'datos':[]}
257
241
parameter_id = valor['name_concepts'][valor['concept_id']]
258
242
parameter_brw = parameter_obj.browse(self.cr, self.uid, parameter_id)
259
#~ empresa_porc = parameter_brw.porcentaje_empresa
260
#~ empleado_porc = parameter_brw.porcentaje_empleado
261
243
aporte_id = parameter_brw.concept_aporte_compania_id.id
262
244
base_id = parameter_brw.concept_base_id.id
263
245
concepto = concept_id.id
266
248
concept_list.append(base_id)
267
249
concept_list.append(concepto)
268
250
payslib_obj = self.pool.get('hr.payslip.line')
271
payslips_id = payslib_obj.search(self.cr, self.uid,
272
[('concept_id','in', concept_list),('sede_id','=',hr_sede_brw.id),
252
payslips_ids = payslib_obj.search(self.cr, self.uid,
253
[('concept_id','in', concept_list),('sede_id','in',valor['sede_ids']),
273
254
('process_id','in',process_ids)])
275
256
payslips_ids = payslib_obj.search(self.cr, self.uid,
276
257
[('concept_id','in', concept_list),('process_id','in',process_ids)])
278
#~ payslips_id= payslib_obj.search(self.cr, self.uid,
279
#~ [('concept_id','in', concept_list),('process_id','in',process_ids)])
281
for p in payslib_obj.browse(self.cr, self.uid, payslips_id):
259
for p in payslib_obj.browse(self.cr, self.uid, payslips_ids):
282
260
concept_acum['datos'].append({'empleado':(p.employee_id.cod_number,
283
261
p.employee_id.identification_id, p.employee_id.name),
284
262
'concepto':{'name':p.concept_id.id, 'total': round(p.total, 2)}})
286
263
for i in concept_acum['datos']:
287
264
acum[i['empleado']] = []
329
306
total = total + monto
330
307
result = (round(total, 2),round(total_aporte_traba, 2),round(total_aporte_empresa, 2))
334
310
for line in line_brw:
335
311
total = total + line.total
382
def get_sede(self, valor):
359
def get_sedes(self, valor):
383
360
obj_mes = self.pool.get('hr.sede')
386
row_brw = obj_mes.browse(self.cr, self.uid, valor['sede_id'])
362
if valor['sede_ids']:
363
row_brw = obj_mes.browse(self.cr, self.uid, valor['sede_ids'])
364
row_brw = [x.name for x in row_brw]
365
name = ', '.join(row_brw)
387
366
if not isinstance(row_brw, list):
388
367
row_brw = [row_brw]
389
368
for row in row_brw: