Advertisement
adeilsoncs

Relatório de Margem Bruta com with (nolock)

Aug 8th, 2016
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 18.06 KB | None | 0 0
  1. SELECT TOP 100 pov_cadPOV.IdPov,Estq_cadProdutos.IdProduto,Usr_cadUsuario.IdUsuario,Usr_cadUsuario.Login AS Funcionario,
  2. POV_cadPOV.Codigo AS Venda, POV_cadPOV.DATA, POV_cadItemPOV.Qtde,POV_cadItemPOV.Valor AS Preco_Item,  
  3.  
  4. (CASE WHEN (SELECT SUM(Valor*Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE IdPOV=POV_cadPOV.IdPOV)-
  5. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  6. +
  7. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)<>0 THEN
  8. ((
  9. (POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde)-POV_cadItemPOV.Desconto+POV_cadItemPOV.Acrescimo)
  10. /  
  11. (
  12. (SELECT SUM(POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  13. -
  14. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  15. +
  16. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  17. ))*POV_cadPOV.Desconto  
  18. ELSE 0 END) + POV_cadItemPOV.Desconto AS Desconto,  
  19.  
  20. (CASE WHEN (SELECT SUM(Valor*Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE IdPOV=POV_cadPOV.IdPOV)-
  21. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  22. +
  23. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)<>0 THEN
  24. ((
  25. (POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde) + POV_cadItemPOV.Acrescimo - POV_cadItemPOV.Desconto)
  26. /
  27. (
  28. (SELECT SUM(POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  29. +
  30. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  31. -
  32. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  33. ))*POV_cadPOV.Acrescimo
  34. ELSE 0 END)+POV_cadItemPOV.Acrescimo AS Acrescimo,  
  35.  
  36. (CASE WHEN (SELECT SUM(Valor*Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE IdPOV=POV_cadPOV.IdPOV)-
  37. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  38. +
  39. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)<>0 THEN
  40. ((
  41. (POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde) + POV_cadItemPOV.Acrescimo - POV_cadItemPOV.Desconto)
  42. /
  43. (
  44. (SELECT SUM(POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  45. +
  46. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  47. -
  48. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  49. ))*POV_cadPOV.Frete
  50. ELSE 0 END) AS Frete,  
  51.  
  52. /*Total Item */
  53. ( POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde-  
  54. /*Desconto */
  55. (CASE WHEN (SELECT SUM(Valor*Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE IdPOV=POV_cadPOV.IdPOV)-
  56. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  57. +
  58. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)<>0 THEN
  59. ((((POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde)-POV_cadItemPOV.Desconto+POV_cadItemPOV.Acrescimo)
  60. /
  61. ((SELECT SUM(POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  62. -
  63. (SELECT SUM(Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  64. +
  65. (SELECT SUM(Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV))
  66. )*POV_cadPOV.Desconto)  ELSE 0 END) +  
  67. /* Acrescimo */
  68. (CASE WHEN (SELECT SUM(Valor*Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE IdPOV=POV_cadPOV.IdPOV)-
  69. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  70. +
  71. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)<>0 THEN
  72. ((((POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde)+POV_cadItemPOV.Acrescimo-POV_cadItemPOV.Desconto)/
  73. ((SELECT SUM(POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  74. +
  75. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  76. -
  77. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV))
  78. )*POV_cadPOV.Acrescimo)  ELSE 0 END) +  
  79. /*Frete */
  80. (CASE WHEN (SELECT SUM(Valor*Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE IdPOV=POV_cadPOV.IdPOV)-
  81. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  82. +
  83. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)<>0 THEN
  84. ((
  85. (POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde) + POV_cadItemPOV.Acrescimo - POV_cadItemPOV.Desconto)
  86. /
  87. (
  88. (SELECT SUM(POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  89. +
  90. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  91. -
  92. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  93. ))*POV_cadPOV.Frete
  94. ELSE 0 END) ) +POV_cadItemPov.Acrescimo - POV_cadItemPov.Desconto AS Preço_Total,  
  95.  
  96.  
  97. Estq_cadProdutos.Codigo AS Código_Produto,  Estq_cadProdutos.Descricao AS Descrição,  
  98.  
  99. (CASE WHEN (POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde-
  100. (CASE WHEN (SELECT SUM(Valor*Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE IdPOV=POV_cadPOV.IdPOV)-
  101. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  102. +
  103. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)<>0 THEN
  104. (((POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde)/
  105. (SELECT SUM(POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV))*POV_cadPOV.Desconto)  ELSE  0 END))>=0 THEN 1 ELSE -1 END)
  106.  
  107.  
  108. *
  109. (CASE WHEN Pov_cadItemPOV.Custo IS NULL  THEN
  110. (SELECT SUM(CustoTotal)/SUM(Qtde) AS CustoMedio FROM Estq_auxMovimentoEstoque AS Cons2   WITH (nolock)
  111. WHERE Sentido=1 AND IdProduto=POV_cadItemPOV.IdProdServ AND IdMovimentoEstoque=(SELECT MAX(IdMovimentoEstoque)  FROM Estq_auxMovimentoEstoque AS Cons1 WITH (nolock)
  112. WHERE Cons1.IdProduto=Cons2.IdProduto AND Sentido=1 AND CustoTotal<>0))  
  113. ELSE Pov_cadItemPOV.Custo END) *POV_cadItemPOV.Qtde AS Custo_Médio,  
  114.  
  115. /*Desconto */
  116. (POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde-  
  117.  
  118. (CASE WHEN (SELECT SUM(Valor*Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE IdPOV=POV_cadPOV.IdPOV)-
  119. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  120. +
  121. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)<>0 THEN  
  122.  
  123. ((((POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde)-POV_cadItemPOV.Desconto+POV_cadItemPOV.Acrescimo)
  124. /
  125. ((SELECT SUM(POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  126. -
  127. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  128. +
  129. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  130. )
  131. )*POV_cadPOV.Desconto)      ELSE        0  END)  
  132.  
  133. /*Acrescimo */
  134. + (CASE WHEN (SELECT SUM(Valor*Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE IdPOV=POV_cadPOV.IdPOV)-
  135. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  136. +
  137. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)<>0 THEN
  138. ((((POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde)+POV_cadItemPOV.Acrescimo-POV_cadItemPOV.Desconto)
  139. /
  140. ((SELECT SUM(POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  141. +
  142. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  143. -
  144. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  145. )
  146.  
  147. )*POV_cadPOV.Acrescimo)     ELSE 0  END)  
  148.  
  149. -  (CASE WHEN (POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde-     
  150. (CASE WHEN (SELECT SUM(Valor*Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE IdPOV=POV_cadPOV.IdPOV)-
  151. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  152. +
  153. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)<>0 THEN
  154.  
  155. ((((POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde)- POV_cadItemPOV.Desconto + POV_cadItemPOV.Acrescimo)
  156. /
  157. ((SELECT SUM(POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  158. -
  159. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  160. +
  161. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  162. )
  163.  
  164. )*POV_cadPOV.Desconto)          ELSE 0      END)    )>=0 THEN 1
  165. ELSE -1  END) *  
  166.  
  167.  
  168. ((CASE WHEN Pov_cadItemPOV.Custo IS NULL  THEN (SELECT SUM(CustoTotal)/SUM(Qtde) FROM Estq_auxMovimentoEstoque AS Cons2  WITH (nolock) WHERE Sentido=1 AND IdProduto=POV_cadItemPOV.IdProdServ AND  
  169. IdMovimentoEstoque=(SELECT MAX(IdMovimentoEstoque)  FROM Estq_auxMovimentoEstoque AS Cons1 WITH (nolock) WHERE Cons1.IdProduto=Cons2.IdProduto AND Sentido=1 AND CustoTotal<>0)) ELSE Pov_cadItemPOV.Custo END) *POV_cadItemPOV.Qtde))  
  170. -POV_cadItemPOV.Desconto + POV_cadItemPOV.Acrescimo
  171. AS Lucro,
  172.  
  173. /*Total Item */
  174. ( (CASE WHEN
  175.  
  176. /*Total */
  177. ((POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde                           
  178. -        
  179. /*Desconto */
  180. (CASE WHEN (SELECT SUM(Valor*Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE IdPOV=POV_cadPOV.IdPOV)-
  181. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  182. +
  183. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)<>0 THEN
  184. ((((POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde)-POV_cadItemPOV.Desconto+POV_cadItemPOV.Acrescimo)
  185. /
  186. (
  187. (SELECT SUM(POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  188. -
  189. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  190. +
  191. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  192. )
  193. )*POV_cadPOV.Desconto)  ELSE 0 END)                              
  194. - POV_cadItemPOV.Desconto
  195. +
  196. /*Acrescimo */
  197. (CASE WHEN (SELECT SUM(Valor*Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE IdPOV=POV_cadPOV.IdPOV)-
  198. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  199. +
  200. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)<>0 THEN
  201. ((((POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde)+POV_CadItemPOV.Acrescimo-POV_CadItemPOV.Desconto)
  202. /
  203. (
  204. (SELECT SUM(POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  205. +
  206. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  207. -
  208. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  209. )
  210. )*POV_cadPOV.Acrescimo)
  211. + POV_cadItemPOV.Acrescimo
  212. ELSE 0 END)                        
  213. ))<>0
  214.  
  215.  
  216. THEN
  217. (CASE WHEN (POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde-
  218. (CASE WHEN (SELECT SUM(Valor*Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE IdPOV=POV_cadPOV.IdPOV)-
  219. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  220. +
  221. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)<>0 THEN
  222. (((POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde)/
  223. (SELECT SUM(POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV))*POV_cadPOV.Desconto)  ELSE  0 END))>=0 THEN 1 ELSE -1 END)
  224. *
  225. ((
  226. (POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde-                             
  227. (CASE WHEN (SELECT SUM(Valor*Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE IdPOV=POV_cadPOV.IdPOV)-
  228. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  229. +
  230. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)<>0 THEN
  231. ((((POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde)-POV_cadItemPOV.Desconto+POV_cadItemPOV.Acrescimo)
  232. /
  233. ((SELECT SUM(POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  234. -
  235. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  236. +
  237. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  238. )
  239. )*POV_cadPOV.Desconto)
  240. ELSE 0                              END)                             
  241. - POV_cadItemPOV.Desconto
  242. +                            
  243. /*Acrescimo */
  244. (CASE WHEN (SELECT SUM(Valor*Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE IdPOV=POV_cadPOV.IdPOV)-
  245. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  246. +
  247. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)<>0 THEN
  248. ((((POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde)+POV_cadItemPOV.Acrescimo-POV_cadItemPOV.Desconto)
  249. /
  250. ((SELECT SUM(POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  251. +
  252. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  253. -
  254. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV))
  255. )*POV_cadPOV.Acrescimo)                             ELSE 0                              END)                         
  256. + POV_cadItemPOV.Acrescimo
  257. )                        
  258. -                        
  259. /*Custo */
  260. ((CASE WHEN                                 (POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde-                                       
  261. (CASE WHEN (SELECT SUM(Valor*Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE IdPOV=POV_cadPOV.IdPOV)-
  262. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  263. +
  264. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)<>0 THEN
  265. (                                            
  266. ((POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde)/(SELECT SUM(POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE
  267. POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV))
  268. *POV_cadPOV.Desconto) ELSE 0 END))>=0 THEN 1 ELSE -1 END))
  269. *
  270. ((CASE WHEN Pov_cadItemPOV.Custo IS NULL  THEN (SELECT SUM(CustoTotal)/SUM(Qtde) FROM Estq_auxMovimentoEstoque AS Cons2  
  271. WITH (nolock) WHERE Sentido=1 AND                            
  272. IdProduto=POV_cadItemPOV.IdProdServ AND IdMovimentoEstoque=(SELECT MAX(IdMovimentoEstoque) FROM Estq_auxMovimentoEstoque AS Cons1                            
  273. WITH (nolock) WHERE Cons1.IdProduto=Cons2.IdProduto AND Sentido=1 AND CustoTotal<>0)) ELSE Pov_cadItemPOV.Custo END)                            *POV_cadItemPOV.Qtde                        )                   )                    
  274. /                    
  275. /*Total */
  276. ((POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde                           
  277. -        
  278. /*Desconto */
  279. (CASE WHEN (SELECT SUM(Valor*Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE IdPOV=POV_cadPOV.IdPOV)-
  280. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  281. +
  282. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)<>0 THEN
  283. ((((POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde)-POV_cadItemPOV.Desconto+POV_cadItemPOV.Acrescimo)
  284. /
  285. (
  286. (SELECT SUM(POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  287. -
  288. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  289. +
  290. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  291. )
  292. )*POV_cadPOV.Desconto)  ELSE 0 END)                              
  293. - POV_cadItemPOV.Desconto
  294. +
  295. /*Acrescimo */
  296. (CASE WHEN (SELECT SUM(Valor*Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE IdPOV=POV_cadPOV.IdPOV)-
  297. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  298. +
  299. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE  POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)<>0 THEN
  300. ((((POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde)+POV_CadItemPOV.Acrescimo-POV_CadItemPOV.Desconto)
  301. /
  302. (
  303. (SELECT SUM(POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  304. +
  305. (SELECT SUM(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  306. -
  307. (SELECT SUM(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WITH (nolock) WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  308. )
  309. )*POV_cadPOV.Acrescimo)
  310. + POV_cadItemPOV.Acrescimo
  311. ELSE 0 END)                        
  312. ))
  313. ) ELSE 0    END)  
  314.  
  315. ) AS MargemBruta  
  316.  
  317. FROM (((POV_cadPOV INNER JOIN POV_cadItemPOV WITH (nolock) ON POV_cadPOV.IdPOV = POV_cadItemPOV.IdPOV)    
  318. INNER JOIN Usr_cadUsuario WITH (nolock) ON Usr_cadUsuario.IdUsuario = POV_cadPOV.IdFuncionario)  INNER JOIN Estq_cadProdutos WITH (nolock) ON  POV_cadItemPOV.IdProdServ = Estq_cadProdutos.IdProduto) INNER JOIN Estq_cadSetores WITH (nolock) ON  
  319. Estq_cadProdutos.IdSetorProduto=Estq_cadSetores.IdSetorProduto    
  320.  
  321. WHERE POV_cadPOV.Tipo=3 AND POV_cadItemPOV.Tipo=1 AND POV_cadPOV.Estornado=0  
  322. ORDER BY POV_cadPOV.IdPov DESC
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement