01. DADOS GERAIS
Linha de Produto: | Microsiga Protheus® |
---|---|
Segmento: | Serviços |
Módulo: | Gestão de Serviços |
Função: | PNMTABC01.prw |
Ticket: | Não Há. |
Requisito/Story/Issue (informe o requisito relacionado) : | DSERSGS-8320 |
02. SITUAÇÃO/REQUISITO
Com integração entre Gestão de Serviços e RH, foi desenvolvida funcionalidade de alocação por hora, onde não ha dependência de escala para alocar somente horas e turno.
03. SOLUÇÃO
Com o recurso disponível só é possível com a mudança na query da função GetAgenda.
Código Antes:
Static Function GetAgenda(cCodAtend, dDataIni, dDataFim) Local aAgenda := {} Local cAlsTrb := GetNextAlias() Local aAux := {} Local nPos := 0 Local nPosAnt := 0 Local cCcSpace := Space( GetSx3Cache( "RA_CC" , "X3_TAMANHO" ) ) Local nLimIntra := SuperGetMV("MV_TECINTR", .F., 6) Local nTotHrs := 0 Local dDia := STOD("") Local cHora := "" Local cCampos := "" cCampos := "%" cCampos += If(_lIntra ,", TDW_INTRA", "") cCampos += If(_lSum444,", TDV_FERSAI, TDV_FSTPEX, TDV_FSEXTN", "") cCampos += "%" BeginSQL Alias cAlsTrb SELECT ABR_DTINIA, ABR_HRINIA, ABR_DTFIMA, ABR_HRFIMA, ABR_MOTIVO, ABB_DTINI, ABB_HRINI, ABB_DTFIM, ABB_HRFIM, ABB_MANUT, TDV_DTREF, TDV_TPDIA, TDV_TURNO, TDV_SEQTRN, TDV_FERIAD, TDV_FTPEXT, TDV_FEXTN, TDV_FERIAD, TDV_HRMEN, TDV_HRMAI, TDV_TPEXT, TDV_TPEXTN, TDV_NONHOR, TDV_CODREF, TDV_INSREP, TDV_INTVL1, TDV_INTVL2, TDV_INTVL3, R6_INIHNOT, R6_FIMHNOT, R6_MINHNOT, R6_APODFER, R6_TPEXFER, R6_TPEXFEN, R6_AUTOHEF %Exp:cCampos% FROM %Table:ABB% ABB LEFT JOIN %Table:ABR% ABR ON ABR.ABR_FILIAL = %xFilial:ABR% AND ABR.ABR_AGENDA = ABB.ABB_CODIGO AND ABR.%NotDel% LEFT JOIN %Table:TDV% TDV ON TDV.TDV_FILIAL = %xFilial:TDV% AND TDV.TDV_CODABB = ABB.ABB_CODIGO AND TDV.TDV_DTREF >= %Exp:dDataIni% AND TDV.TDV_DTREF <= %Exp:dDataFim% AND TDV.%NotDel% INNER JOIN %Table:SR6% SR6 ON SR6.R6_FILIAL = %xFilial:SR6% AND SR6.R6_TURNO = TDV.TDV_TURNO AND SR6.%NotDel% INNER JOIN %Table:ABQ% ABQ ON ABQ.ABQ_FILIAL = %xFilial:ABQ% AND ABQ.ABQ_CONTRT || ABQ.ABQ_ITEM || ABQ.ABQ_ORIGEM = ABB.ABB_IDCFAL AND ABQ.%NotDel% INNER JOIN %Table:TFF% TFF ON TFF.TFF_FILIAL = ABQ.ABQ_FILTFF AND TFF.TFF_COD = ABQ.ABQ_CODTFF AND TFF.%NotDel% INNER JOIN %Table:TDW% TDW ON TDW.TDW_FILIAL = %xFilial:TDW% AND TDW.TDW_COD = TFF.TFF_ESCALA AND TDW.%NotDel% WHERE ABB.ABB_FILIAL = %xFilial:ABB% AND TDV.TDV_DTREF >= %Exp:dDataIni% AND TDV.TDV_DTREF <= %Exp:dDataFim% AND ABB.ABB_CODTEC = %Exp:cCodAtend% AND ABB.%NotDel% ORDER BY ABB.ABB_DTINI, ABB.ABB_HRINI EndSQL
Alteração:
Alteração:
Static Function GetAgenda(cCodAtend, dDataIni, dDataFim) Local aAgenda := {} Local cAlsTrb := GetNextAlias() Local aAux := {} Local nPos := 0 Local nPosAnt := 0 Local cCcSpace := Space( GetSx3Cache( "RA_CC" , "X3_TAMANHO" ) ) Local nLimIntra := SuperGetMV("MV_TECINTR", .F., 6) Local nTotHrs := 0 Local dDia := STOD("") Local cHora := "" Local cCampos := "" cCampos := "%" cCampos += If(_lIntra ,", TDW_INTRA", "") cCampos += If(_lSum444,", TDV_FERSAI, TDV_FSTPEX, TDV_FSEXTN", "") cCampos += "%" BeginSQL Alias cAlsTrb SELECT ABR_DTINIA, ABR_HRINIA, ABR_DTFIMA, ABR_HRFIMA, ABR_MOTIVO, ABB_DTINI, ABB_HRINI, ABB_DTFIM, ABB_HRFIM, ABB_MANUT, TDV_DTREF, TDV_TPDIA, TDV_TURNO, TDV_SEQTRN, TDV_FERIAD, TDV_FTPEXT, TDV_FEXTN, TDV_FERIAD, TDV_HRMEN, TDV_HRMAI, TDV_TPEXT, TDV_TPEXTN, TDV_NONHOR, TDV_CODREF, TDV_INSREP, TDV_INTVL1, TDV_INTVL2, TDV_INTVL3, R6_INIHNOT, R6_FIMHNOT, R6_MINHNOT, R6_APODFER, R6_TPEXFER, R6_TPEXFEN, R6_AUTOHEF %Exp:cCampos% FROM %Table:ABB% ABB LEFT JOIN %Table:ABR% ABR ON ABR.ABR_FILIAL = %xFilial:ABR% AND ABR.ABR_AGENDA = ABB.ABB_CODIGO AND ABR.%NotDel% LEFT JOIN %Table:TDV% TDV ON TDV.TDV_FILIAL = %xFilial:TDV% AND TDV.TDV_CODABB = ABB.ABB_CODIGO AND TDV.TDV_DTREF >= %Exp:dDataIni% AND TDV.TDV_DTREF <= %Exp:dDataFim% AND TDV.%NotDel% INNER JOIN %Table:SR6% SR6 ON SR6.R6_FILIAL = %xFilial:SR6% AND SR6.R6_TURNO = TDV.TDV_TURNO AND SR6.%NotDel% INNER JOIN %Table:ABQ% ABQ ON ABQ.ABQ_FILIAL = %xFilial:ABQ% AND ABQ.ABQ_CONTRT || ABQ.ABQ_ITEM || ABQ.ABQ_ORIGEM = ABB.ABB_IDCFAL AND ABQ.%NotDel% INNER JOIN %Table:TFF% TFF ON TFF.TFF_FILIAL = ABQ.ABQ_FILTFF AND TFF.TFF_COD = ABQ.ABQ_CODTFF AND TFF.%NotDel% LEFT JOIN %Table:TDW% TDW ON TDW.TDW_FILIAL = %xFilial:TDW% AND TDW.TDW_COD = TFF.TFF_ESCALA AND TDW.%NotDel% WHERE ABB.ABB_FILIAL = %xFilial:ABB% AND TDV.TDV_DTREF >= %Exp:dDataIni% AND TDV.TDV_DTREF <= %Exp:dDataFim% AND ABB.ABB_CODTEC = %Exp:cCodAtend% AND ABB.%NotDel% ORDER BY ABB.ABB_DTINI, ABB.ABB_HRINI EndSQL
A alteração consiste na linha na linha 56 onde é necessário fazer a troca do INNER para LEFT uma vez que o requisito não contem escala.
04. DEMAIS INFORMAÇÕES
Não há.
05. ASSUNTOS RELACIONADOS
- Não há.
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas