Conjunto de mudanças 8234 no repositório publico


Ignorar:
Timestamp:
03/06/2016 15:21:16 (2 anos atrás)
Autor:
claudiomorale
Mensagem:

altera procedimentos protocolo

Arquivo:
1 editado

Legenda:

Não Modificado
Adicionado
Removido
  • ILSAPL/branches/2.5/skins/sk_sapl/pysc/protocolo_proximo_obter_pysc.py

    r7823 r8234  
    55##bind script=script
    66##bind subpath=traverse_subpath
    7 ##parameters=opcao
     7##parameters=opcao=""
    88##title=
    99##
    1010
    11 ''' Script para a verificação do número de protocolo e inclusão de um novo.'''
    12 ''' Faz a inclusão de sequencial por ano ou sequencial único do nr de protocolo . '''
    13 #-----------------------------correção num_protocolo em 2014 -------------------------
     11''' Script para a verificacao do numero de protocolo e inclusao de um novo.'''
     12''' Faz a inclusao de sequencial por ano ou sequencial unico do nr de protocolo . '''
     13''' ou, ainda, sequencial por legislatura '''
     14''' a partir de 30/05/2016 passa a valer o seguinte: '''
     15''' opcao = 0 ou 1 - sequencial por ano '''
     16''' opcao = 2 - sequencial consecutivo '''
     17''' opcao = 3 - sequencial por legislatura. '''
     18#
     19import string
     20#-----------------------------correcao do num_protocolo em 2014 -------------------------
    1421total2014=0
    1522total2014=context.zsql.protocolo_2014total_obter_zsql(ano=2014)[0].total
     
    1724   context.zsql.protocolo_2014update_zsql()
    1825
    19 # Obtém o proximo "num_protocolo" por ano ou sequencial único ----- 10/11/2014
     26# Obtem o proximo "num_protocolo" por ano ou sequencial unico ----- 10/11/2014
    2027#
    21 # ......... opção=1 - numeração por ano, =2 - numeração única
     28#  opcao=1 - numeracao por ano, =2 - numeracao unica =3 - numeracao por legislatura
    2229
    23 # Busca o último número
     30# Busca os parametros iniciais
     31#
     32op=opcao
     33try:
     34   op=context.zsql.protocolo_tipo_numeracao_obter_zsql()[0].tip_numeracao_protocolo
     35   di=context.zsql.protocolo_tipo_numeracao_obter_zsql()[0].dat_inicial_protocolo
     36   vi=context.zsql.protocolo_tipo_numeracao_obter_zsql()[0].vlr_inicial_protocolo
     37except:
     38   di='0000-00-00'
     39   vi=0
     40
     41di=str(di)                    # aaaa-mm-dd hh:mm:ss
     42sodata=string.split(di, ' ')  # [aaaa-mm-dd, hh:mm:ss]
     43dat_inicial=sodata[0]         # aaaa-mm-dd
     44
     45dh=DateTime().ISO()           # data corrente
     46sodatah=string.split(dh, ' ')
     47dh=sodatah[0]
     48ano_corrente=dh[:4]           # aaaa corrente
     49
     50#return 'dat_inicial=' + str(dat_inicial) + ' - ' + 'dh=' + str(dh) + ' - ' + 'ano_corrente=' + str(ano_corrente) + ' - ' + ' op=' + str(op)
     51
    2452num_protocolo=0
    25 op=int(opcao)
    26 if op==1:
    27    ano_corrente= DateTime().year()
    28 else:
    29    ano_corrente=""
     53
     54if (int(op)<2):               # sequencial por ano
     55   num_protocolo=context.zsql.protocolo_ultimo_obter_zsql(ano=ano_corrente)[0].num_protocolo
     56   dat_ultimo_protocolo=context.zsql.protocolo_ultima_data_obter_zsql(ano_protocolo=ano_corrente)[0].dat_timestamp
     57   if (dat_ultimo_protocolo <= di) and (dat_ultimo_protocolo!='0001-01-01 00:00:00'):
     58      return vi
     59   return num_protocolo + 1
     60# -----------------------------------------------------------------------------------------------
     61if (int(op)==2):              # sequencial consecutivo
     62   num_protocolo=context.zsql.protocolo_ultimo_obter_zsql()[0].num_protocolo
     63   dat_ultimo_protocolo=context.zsql.protocolo_ultima_data_obter_zsql()[0].dat_timestamp
     64   if (dat_ultimo_protocolo <= di) and (num_protocolo < vi):
     65      return vi
     66   return num_protocolo + 1
     67# -----------------------------------------------------------------------------------------------
     68# op = 3  --> sequencial por legislatura, reiniciando em 1 a cada nova legislatura.
     69#
    3070try:
    31   num_protocolo=context.zsql.protocolo_ultimo_obter_zsql(ano=ano_corrente)[0].num_protocolo
     71  dlf=context.zsql.legislatura_data_fim_obter_zsql(data_hoje=dh)[0].dat_fim
     72  dlf=str(dlf)
     73  df=string.split(dlf, '/')
     74  dat_fim_legislatura=str(df[0]) + '-' + str(df[1]) + '-' + str(df[2]) 
     75  dat_ultimo_protocolo=context.zsql.protocolo_ultima_data_obter_zsql()[0].dat_timestamp
     76  num_protocolo=context.zsql.protocolo_ultimo_obter_zsql()[0].num_protocolo
     77#
     78  if (dat_ultimo_protocolo=='0001-01-01 00:00:00' or num_protocolo==0): # iniciando
     79     return vi
     80#
     81  data=str(dat_ultimo_protocolo)
     82  dtp=string.split(data, ' ')
     83  dat_ult_prot=dtp[0]
     84  if ((dat_ultimo_protocolo <= di)           and    #aaaa-mm-dd hh:mm:ss
     85      (dat_fim_legislatura  >= dat_inicial)  and    #aaaa-mm-dd
     86      (dat_fim_legislatura  >= dat_ult_prot) and    #aaaa-mm-dd
     87      (num_protocolo < vi)
     88     ):
     89     return vi                # houve mudança no tipo de numeracao e/ou no valor inicial do protocolo
    3290except:
    3391  pass
    3492
    35 # retorna próximo número de protocolo
     93# retorna proximo numero de protocolo
    3694
    3795return num_protocolo + 1
Note: Veja TracChangeset para ajuda no uso do visualizador de conjunto de mudanças.
 

The contents and data of this website are published under license:
Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual.