Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.27 KB | None | 0 0
  1. SELECT
  2. operacao.filial,
  3. operacao.data,
  4. operacao.hora,
  5. operacao.minuto,
  6. operacao.operador,
  7. empresas.hora_verao_ini AS hr_verao_init,
  8. empresas.hora_verao_fim AS hr_verao_end,
  9. empresas.fuso_horario AS fuso,
  10. SUM(
  11. CASE
  12. WHEN tipo = 'VENDA' THEN operacao.valor
  13. ELSE 0
  14. END
  15. ) venda_bruta,
  16. SUM(
  17. CASE
  18. WHEN tipo = 'TROCA' THEN operacao.valor
  19. ELSE 0
  20. END
  21. ) troca,
  22. departamento
  23. FROM
  24. (
  25. SELECT
  26. SUM(venda_bruta) valor,
  27. filial,
  28. hora,
  29. minuto,
  30. operador,
  31. data,
  32. 'VENDA' AS tipo,
  33. docdepto AS departamento
  34. FROM
  35. (
  36. SELECT
  37. SUM( (dociteqtd * docvaluni) - (dociteqtd * docdscorc) + (dociteqtd * docacrpla) - (dociteqtd * docdscpla) ) venda_bruta,
  38. doclojcod filial,
  39. docdtmovto data,
  40. docoprcod operador,
  41. CASE WHEN mcx.hora IS NOT NULL THEN
  42. mcx.hora
  43. WHEN substr(car.carhrefet, 1, 2) IS NOT NULL THEN
  44. substr(car.carhrefet, 1, 2)
  45. ELSE
  46. substr(DOCHRFIM, 1, 2)
  47. END hora,
  48. round(
  49. CASE WHEN mcx.hora IS NOT NULL THEN
  50. mcx.hora
  51. WHEN substr(car.carhrefet, 4, 2) IS NOT NULL THEN
  52. substr(car.carhrefet, 4, 2)
  53. ELSE
  54. substr(DOCHRFIM, 4, 2)
  55. END / 5, 0) * 5 minuto,
  56. docdepto
  57. FROM
  58. var.doc002
  59. JOIN var.doc001 USING ( doclojcod,
  60. doccod )
  61. LEFT JOIN (
  62. SELECT
  63. a.mcxlojcod,
  64. a.mcxnrovnc,
  65. a.mcxdtoper,
  66. MAX(substr(b.mcxhrfim,1,2) ) hora
  67. FROM
  68. var.mcx002 a,
  69. var.mcx002 b
  70. WHERE
  71. b.mcxlojori = a.mcxlojori
  72. AND b.mcxnroopr = a.mcxnroopr
  73. AND b.mcxoprcod != a.mcxoprcod
  74. AND a.mcxdtoper =:data
  75. GROUP BY
  76. a.mcxlojcod,
  77. a.mcxnrovnc,
  78. a.mcxdtoper
  79. ) mcx ON ( mcx.mcxlojcod = doclojcod
  80. AND mcx.mcxnrovnc = doccod
  81. AND mcx.mcxdtoper = docdtmovto )
  82. LEFT JOIN var.car001 car ON ( car.carlojcod = doclojcod
  83. AND car.carcod = doccod
  84. AND car.caroprcod = docoprcod )
  85. LEFT JOIN logix.cas_deptos dpto ON ( dpto.lin_prod = docdepto )
  86. WHERE
  87. docindexc <> 9
  88. AND docindexc1 <> 9
  89. AND docdtmovto =:data
  90. GROUP BY
  91. doclojcod,
  92. docdtmovto,
  93. docoprcod,
  94. mcx.hora,
  95. CASE WHEN mcx.hora IS NOT NULL THEN
  96. mcx.hora
  97. WHEN substr(car.carhrefet, 1, 2) IS NOT NULL THEN
  98. substr(car.carhrefet, 1, 2)
  99. ELSE
  100. substr(DOCHRFIM, 1, 2)
  101. END,
  102. round(
  103. CASE WHEN mcx.hora IS NOT NULL THEN
  104. mcx.hora
  105. WHEN substr(car.carhrefet, 4, 2) IS NOT NULL THEN
  106. substr(car.carhrefet, 4, 2)
  107. ELSE
  108. substr(DOCHRFIM, 4, 2)
  109. END / 5, 0) * 5,
  110. docdepto
  111. )
  112. GROUP BY
  113. filial,
  114. data,
  115. operador,
  116. hora,
  117. minuto,
  118. 'VENDA',
  119. docdepto
  120. UNION
  121. SELECT
  122. SUM(troca.valor_troca) valor,
  123. troca.filial filial,
  124. substr(mcxhrfim,1,2) hora,
  125. ROUND(substr(mcxhrfim,4,2) / 5,0) *5 minuto,
  126. mcxrspcod AS operador,
  127. trcdtmovto data,
  128. 'TROCA' AS tipo,
  129. troca.departamento AS departamento
  130. FROM
  131. (
  132. SELECT
  133. trc1.TRCLOJCOD filial,
  134. ITEDCMCOD departamento,
  135. SUM(trc2.TRCVALCMP) valor_troca,
  136. trcdtmovto,
  137. trc1.trccod
  138. FROM
  139. var.TRC001 trc1
  140. LEFT JOIN var.TRC002 trc2 ON ( trc1.TRCCOD = trc2.TRCCOD
  141. AND trc1.TRCLOJCOD = trc2.TRCLOJCOD )
  142. LEFT JOIN VAR.ITE001 item ON ( item.ITECOD = trc2.TRCITECOD )
  143. LEFT JOIN logix.EMPRESAS ON ( VARCOD = trc2.TRCLOJCOD )
  144. LEFT JOIN logix.cas_deptos dpto ON ( dpto.lin_prod = ITEDCMCOD )
  145. WHERE
  146. TRCDTMOVTO =:data
  147. AND GRUPO IN (
  148. 2,
  149. 3
  150. )
  151. GROUP BY
  152. trc1.TRCLOJCOD,
  153. ITEDCMCOD,
  154. trcdtmovto,
  155. trc1.trccod
  156. ) troca
  157. LEFT JOIN var.mcx002 ON ( mcxnrocrt = troca.trccod
  158. AND mcxlojori = troca.filial
  159. AND mcxdtoper = troca.trcdtmovto )
  160. WHERE
  161. troca.trcdtmovto =:data
  162. GROUP BY
  163. troca.filial,
  164. substr(mcxhrfim,1,2),
  165. ROUND(substr(mcxhrfim,4,2) / 5,0) *5,
  166. mcxrspcod,
  167. trcdtmovto,
  168. 'TROCA',
  169. troca.departamento
  170. ) operacao
  171. LEFT JOIN (
  172. SELECT
  173. filial,
  174. horario_verao_ini hora_verao_ini,
  175. horario_verao_fim hora_verao_fim,
  176. fuso_horario
  177. FROM
  178. filial_metadata
  179. ) empresas ON ( empresas.filial = operacao.filial )
  180. WHERE
  181. operacao.data =:data
  182. AND operacao.filial = 81
  183. GROUP BY
  184. operacao.filial,
  185. operacao.data,
  186. operacao.hora,
  187. operacao.minuto,
  188. operacao.operador,
  189. empresas.hora_verao_ini,
  190. empresas.hora_verao_fim,
  191. empresas.fuso_horario,
  192. departamento
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement