~inddiana/sisb/sisb_caja_chica_cierre_comparar_plus_reposiciones

« back to all changes in this revision

Viewing changes to sisb_horas_extras/wizard/horas_extras_wizard_concept_variable.py

  • Committer: Aryrosa Fuentes
  • Date: 2017-10-20 14:03:01 UTC
  • mfrom: (975.2.9 sisb_061017)
  • Revision ID: afuentes@industriasdiana.gob.ve-20171020140301-8ra8dk3pfi1z841q

[MOD] Ajustes en las limitaciones para la asignación de sobretiempos.
[MOD] Corregida la manera en que se creaba el select del tipo de proceso.
[IMP] Agregado módulo para la carga de permisos.
[IMP] Agregado módulo para la carga automática de conceptos variables que
tengan que ver con los turnos.

Show diffs side-by-side

added added

removed removed

Lines of Context:
146
146
    def calcular_sobretiempos_aux(self, cr, uid, hpd1, hpd2, dia, hora_entrada, hora_salida, feriado=[None,None]):
147
147
        sobretiempos = {}
148
148
        days = ['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday']
149
 
        aux_start_id = self.pool.get('hr.hours.per.day').read(cr, uid, hpd1)[days[dia]+'_hours_id'][0]
 
149
        aux_start_id = self.pool.get('hr.hours.per.day').read(cr, uid, hpd1)[days[dia - 1]+'_hours_id'][0]
150
150
        aux_start = self.pool.get('hr.hours').browse(cr, uid, aux_start_id).hour_end
151
151
        parametros_turnos_obj = self.pool.get('horas.extras.parametros.turnos')
152
152
        turno = parametros_turnos_obj.search_parameters_overtime(cr, uid, hpd1, dia, hora_entrada, hora_salida) 
153
 
        turno2 = parametros_turnos_obj.search_parameters_overtime(cr, uid, hpd2, dia+1, hora_entrada, hora_salida) 
 
153
        turno2 = parametros_turnos_obj.search_parameters_overtime(cr, uid, hpd2, 1 if dia >= 7 else (dia + 1), hora_entrada, hora_salida)
154
154
        if turno or turno2:
155
155
            val1 = parametros_turnos_obj.calculte_overtime(cr, uid, hpd1, dia, hora_entrada, '23:59:59', feriado=feriado[0])  
156
 
            val2 = parametros_turnos_obj.calculte_overtime(cr, uid, hpd2, dia+1 if dia < 7 else 1, aux_start, hora_salida if hora_salida > aux_start else aux_start, feriado=feriado[1]) 
 
156
            val2 = parametros_turnos_obj.calculte_overtime(cr, uid, hpd2, 1 if dia >= 7 else (dia + 1), '00:00:00', hora_salida, feriado=feriado[1]) 
157
157
            total_acum = [val1, val2]
158
158
            for t in total_acum:
159
159
                for k in t: 
213
213
        if date_start == date_end:
214
214
           dia = self.day_week(date_end)
215
215
           sobretiempos = parametros_turnos_obj.calculte_overtime(cr, uid, hr_hours_per_day_id, dia, hora_entrada, hora_salida, feriado=dia1_feriado)
216
 
           self.calcular_feriados(cr, uid, ids,  date_start, emp_id, hora_entrada, hora_salida, sobretiempos,  shift_id, feriado=dia1_feriado)
 
216
        #    self.calcular_feriados(cr, uid, ids,  date_start, emp_id, hora_entrada, hora_salida, sobretiempos,  shift_id, feriado=dia1_feriado)
217
217
        else:
218
218
            dia = self.day_week(date_start)
219
219
            if hora_entrada >= hora_salida:
220
220
                hr_hours_per_day_id_2 = self.get_hours_per_day_id(date_end, shift_id)
221
221
                sobretiempos = self.calcular_sobretiempos_aux(cr, uid, hr_hours_per_day_id, hr_hours_per_day_id_2, dia, hora_entrada, hora_salida, feriado=[dia1_feriado, dia2_feriado])
222
 
               #~ print sobretiempos
223
222
               #~ self.calcular_feriados(cr, uid, ids,  date_start, emp_id, hora_entrada, '23:59:59', sobretiempos,  shift_id, feriado=dia1_feriado)
224
223
               #~ self.calcular_feriados(cr, uid, ids,  date_end, emp_id, '00:00:00', hora_salida, sobretiempos,  shift_id, feriado=dia2_feriado)
225
224
            else:
226
225
                dia_1 = self.day_week(date_start)
227
226
                dia_2 = self.day_week(date_end)
228
 
                dates = range(dia_1, dia_2+1)
 
227
                dates = range(dia_1, dia_2) if dia_2 <= 7 else [dia_1, dia_2]
229
228
                calculos = []
230
229
                for dia in dates:
231
230
                    val = parametros_turnos_obj.calculte_overtime(cr, uid, hr_hours_per_day_id, dia, hora_entrada, hora_salida)
236
235
                           sobretiempos[k] = d[k]
237
236
                        else:
238
237
                            sobretiempos[k] += d[k]
239
 
           
240
 
            
241
238
        return sobretiempos 
242
239
    
243
240
    def buscar_hojas_porcesados(self, cr, uid, ids, nomina, sedes, actualizar_hojas=False ):