Advertisement
Guest User

WORKFLOW

a guest
Aug 10th, 2015
276
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.92 KB | None | 0 0
  1. #Include 'Protheus.ch'
  2. #INCLUDE "TBICONN.CH "
  3. #INCLUDE "TOPCONN.ch"
  4.  
  5.  //Esta mensagem contém imagens que não foram exibidas, caso queira visualizá-las, clique aqui
  6.  
  7. /*/
  8. ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  9. ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
  10. ±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
  11. ±±ºPrograma  ³WFFATRENT º Autor ³Eddpo Brunno      º Data ³  24/07/2014   º±±
  12. ±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
  13. ±±ºDescricao ³Programa que gera workflow da posição de estoque            º±±
  14. ±±º          ³Só é executado quando acaba o mês                           º±±
  15. ±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
  16. ±±ºUso       ³WORKFLOW                                                    º±±
  17. ±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
  18. ±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
  19. */
  20.  
  21.  
  22.  
  23.  
  24. User Function wfposest()
  25.  
  26. Local oProcess,oHtml
  27. Local cSQL
  28. Local aDest  := {} //Armaza os email de destino
  29.  
  30.  
  31.  
  32. //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
  33. //| Abertura do ambiente                                         |
  34. //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
  35. ConOut(Repl("-",80))
  36. ConOut(PadC("WorkFlow de Posição de Estoque ",80))
  37. //IF cEmpAnt == '02'
  38. PREPARE ENVIRONMENT EMPRESA ( "99" ) FILIAL ( "01" ) MODULO "FAT"
  39. //Endif
  40.  
  41.  
  42.  Alert("chegou aqui ")
  43.  
  44. /*
  45. cSQL := " SELECT  --SUM(B2_QATU*B1_PRV1) AS VENDA, "+CRLF
  46. cSQL += "         SUM(B2_QATU*B1_UPRC) AS COMPRA, "+CRLF
  47. cSQL += "         B1_COD,B1_LOCPAD,B2_LOCAL,B1_DESC,B2_QATU,B1_UPRC,B1_FILIAL--,B2_VATU1 AS COMPRA "+CRLF
  48. cSQL += " FROM "+RetSqlName("SB1")+" SB1 INNER JOIN "+RetSqlName("SB2")+" SB2 ON (B1_FILIAL = B2_FILIAL AND B1_COD = B2_COD AND B1_LOCPAD = B2_LOCAL) "+CRLF
  49. cSQL += " WHERE  SB1.D_E_L_E_T_='' "+CRLF
  50. cSQL += "        AND SB2.D_E_L_E_T_='' "+CRLF
  51. cSQL += "        AND B1_TIPO = 'MR' "+CRLF
  52. cSQL += "        AND B1_LOCPAD ='1' "+CRLF
  53. cSQL += "        AND B2_QATU>0 "+CRLF
  54. //cSQL += "        AND B1_FILIAL ='"+xFilial("SB1")+"'"+CRLF
  55. cSQL += " GROUP BY B1_COD,B1_LOCPAD,B2_LOCAL,B1_DESC,B2_QATU,B1_PRV1,B1_UPRC,B1_TIPO,B1_FILIAL--,B2_VATU1  "+CRLF
  56. cSQL += " ORDER BY B1_FILIAL,B1_DESC  "+CRLF
  57. */
  58.  
  59.  
  60.  
  61. cSQL := "  SELECT   "+CRLF
  62. cSQL += "         B1_COD, "+CRLF
  63. cSQL += "         B2_LOCAL, "+CRLF
  64. cSQL += "         B1_DESC, "+CRLF
  65. cSQL += "         B2_QATU, "+CRLF
  66. cSQL += "         B1_UPRC, B1_CUSTG, "+CRLF
  67. cSQL += "         B1_FILIAL, "+CRLF
  68. cSQL += "         SUM(B1_CUSTG*B2_QATU) AS CUSTOG, "+CRLF
  69. cSQL += "         SUM(B2_QATU*B1_UPRC) AS COMPRA "+CRLF
  70. cSQL += "  FROM "+RetSqlName("SB1")+" SB1 INNER JOIN "+RetSqlName("SB2")+" SB2 ON (B1_FILIAL = B2_FILIAL AND B1_COD = B2_COD ) "+CRLF
  71. cSQL += "  WHERE  SB1.D_E_L_E_T_=''  "+CRLF
  72. cSQL += "         AND B1_TIPO = 'MR'  "+CRLF
  73. cSQL += "         AND SB2.D_E_L_E_T_='' AND B2_QATU>0      "+CRLF
  74. cSQL += "         AND B2_LOCAL IN ('1','09','10')  "+CRLF
  75. cSQL += "         AND B1_MSBLQL<>'1'  "+CRLF
  76. cSQL += " AND ('13' = SUBSTRING(CONVERT(VARCHAR(12),GETDATE(),112),07,02) or ('01' = SUBSTRING(CONVERT(VARCHAR(12),GETDATE(),112),07,02))) "+CRLF
  77. cSQL += "  GROUP BY B1_COD,B2_LOCAL,B1_DESC,B2_QATU,B1_PRV1,B1_UPRC,B1_TIPO,B1_FILIAL,B1_CUSTG "+CRLF
  78. cSQL += "  ORDER BY B1_FILIAL,B2_LOCAL,B1_DESC   "+CRLF
  79.  
  80.  
  81. /*
  82. cSQL := " SELECT  --SUM(B2_QATU*B1_PRV1) AS VENDA,  "+CRLF
  83. cSQL += "          SUM(B2_QATU*B1_UPRC) AS COMPRA,  "+CRLF
  84. cSQL += "          B1_COD,B2_LOCAL,B1_DESC,B2_QATU,B1_UPRC  "+CRLF
  85. cSQL += "  FROM SB1070 SB1 INNER JOIN SB2070 SB2 ON (B1_FILIAL = B2_FILIAL AND B1_COD = B2_COD AND B1_LOCPAD = B2_LOCAL) "+CRLF
  86. cSQL += "  WHERE  SB1.D_E_L_E_T_=''  "+CRLF
  87. cSQL += "         AND SB2.D_E_L_E_T_=''  "+CRLF
  88. cSQL += "         AND B1_TIPO = 'MR'  "+CRLF
  89. cSQL += "         AND B1_LOCPAD ='1'  "+CRLF
  90. cSQL += "         AND B2_QATU>0   "+CRLF
  91. cSQL += "         AND B1_FILIAL ='01'  "+CRLF
  92. cSQL += "  GROUP BY B1_COD,B1_LOCPAD,B2_LOCAL,B1_DESC,B2_QATU,B1_PRV1,B1_UPRC,B1_TIPO  "+CRLF
  93. cSQL += "  ORDER BY B1_DESC   "+CRLF
  94.  
  95. */
  96.  
  97. MemoWrite("qryWFPosEstMerv.sql",cSQL)
  98. dbUseArea(.T.,"TOPCONN", TCGenQry(,,cSQL),"TRB", .F., .T.)
  99.  
  100. dbSelectArea("TRB")
  101. dbGoTop()
  102.  
  103.  
  104. If EOF() == .F.
  105.  
  106. While TRB->(!EOF())
  107.  
  108. //FUNCOES PARA ENVIO DE HTML
  109. oProcess:=TWFProcess():New("PosEst","Posi. Estoque")
  110.  
  111.  
  112. _filial := TRB->B1_FILIAL
  113.  
  114.  
  115. IF  _filial == '01'
  116. oProcess:NewTask('Inicio',"\WORKFLOW\HTM\POSESTMERAL.htm")
  117. ENDIF
  118.  
  119.  
  120.  
  121. oHtml   := oProcess:oHtml
  122.  
  123.  
  124. oHtml:ValByName("it1.cod"        , {})
  125. oHtml:ValByName("it1.desc"       , {})
  126. oHtml:ValByName("it1.qtd"   , {})
  127. oHtml:ValByName("it1.custog"   , {})
  128. oHtml:ValByName("it1.unit"     , {})
  129. oHtml:ValByName("it1.totalg"   , {})
  130. oHtml:ValByName("it1.total"     , {})
  131. oHtml:ValByName("it1.totg"     , {})
  132. oHtml:ValByName("it1.tot"       , {})
  133. oHtml:ValByName("it1.data"     , {})
  134. oHtml:ValByName("it1.local"      , {})
  135. oHtml:ValByName("it1.reg"        , {})
  136.  
  137. _cod    := ''
  138. _desc   := ''
  139. _qtd    := 0
  140. _unit   := 0
  141. _custog := 0
  142. _total  := 0
  143. _totalg := 0
  144. _tot    := 0
  145. _totg   := 0
  146. _data   := ''
  147. _local := ''
  148. _reg    := 0
  149.  
  150.  
  151.  
  152. While TRB->(!EOF()) .AND.  _filial == TRB->B1_FILIAL
  153.  
  154. _cod    := TRB->B1_COD
  155. _desc   := TRB->B1_DESC
  156. _qtd    := TRB->B2_QATU
  157. _unit   := TRB->B1_UPRC
  158. _custog := TRB->B1_CUSTG
  159. _total :=  TRB->COMPRA
  160. _tot    += TRB->COMPRA
  161. _totg   += TRB->CUSTOG
  162. _totalg := TRB->CUSTOG
  163. _local  := TRB->B2_LOCAL
  164. _reg += 1
  165.  
  166. aadd(oHtml:ValByName("it1.cod"         )   , _cod)
  167. aadd(oHtml:ValByName("it1.desc"        )   , _desc)
  168. aadd(oHtml:ValByName("it1.qtd"         )   , TRANSFORM(_qtd ,'@R 999,999,999.99'))
  169. aadd(oHtml:ValByName("it1.custog"      )   , TRANSFORM(_custog ,'@R 999,999,999.99'))
  170. aadd(oHtml:ValByName("it1.unit"        )   , TRANSFORM(_unit ,'@R 999,999,999.99'))
  171. aadd(oHtml:ValByName("it1.totalg"      )   , TRANSFORM(_totalg ,'@R 999,999,999.99'))
  172. aadd(oHtml:ValByName("it1.total"       )   , TRANSFORM(_total ,'@R 999,999,999.99'))
  173. aadd(oHtml:ValByName("it1.local"       )   , _local )
  174.  
  175. TRB->(dbSkip())
  176.  
  177. EndDo
  178.       oHtml:ValByName("totg",  TRANSFORM( _totg, '@R 999,999,999.99'))//TOTAL geral custo g
  179. oHtml:ValByName("tot",  TRANSFORM( _tot, '@R 999,999,999.99'))//TOTAL geral
  180. oHtml:ValByName("reg",  TRANSFORM( _reg, '@R 999,999,999.99'))//TOTAL geral
  181.  
  182.  
  183. //TRB->(dbCloseArea("TRB"))
  184.  
  185. //Usuarios de destino, conteudo completo.
  186.    //_Users := GetMv("MV_USRFATC")
  187.  
  188. //envia o e-mail
  189. cUser := Subs(cUsuario,7,15)
  190. oProcess:ClientName(cUser)
  191. ///oProcess:cTo        := _Users
  192. //oProcess:cTo := "everton@tiovieira.com.br ; claudiojunior@tiovieira.com.br"
  193. //oProcess:cTo := "cledson@vieiradistribuidor.com.br ; charlone@vieiradistribuidor.com.br"
  194. //oProcess:cTo := "eddpo@vieiradistribuidor.com.br ;  nadja@vieiradistribuidor.com.br"
  195. oProcess:cTo := "cristianocgv@gmail.com"
  196.  
  197. //IF cEmpAnt == '02'
  198. IF _filial == '01'
  199. subj := "Relatório Posição de Estoque MERVIL AL"
  200. ENDIF
  201.  
  202.  
  203.  
  204.  
  205. //subj := "Relatório Posição de Estoque"
  206. oProcess:cSubject  := subj
  207. oProcess:Start()
  208.  
  209.  
  210. ENDDO
  211. TRB->(dbCloseArea("TRB"))
  212.  
  213. Else
  214.  
  215. Return(.F.)
  216.  
  217. EndIf
  218.  
  219. //fecha a conexão
  220. ConOut("Fim  : "+Time())
  221. RESET ENVIRONMENT
  222. Return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement