Advertisement
Guest User

Untitled

a guest
Jul 18th, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.81 KB | None | 0 0
  1. select
  2. NP_CODE_NAME,
  3. FP_CODE_NAME,
  4. customername,
  5. grbsname,
  6. kol_nr,
  7. sum_nr,
  8. finsum_nr,
  9. kol_n,
  10. sum_r,
  11. finsum_r,
  12. fin_itog,
  13. kol_z,
  14. nmck_z,
  15. fin_z,
  16. kol_net,
  17. nmck_net,
  18. fin_z_net,
  19. ROW_NUMBER() OVER (PARTITION BY NP_CODE_NAME ORDER BY FP_CODE_NAME) rn
  20. from (
  21. select
  22. tar.NP_CODE_NAME, tar.FP_CODE_NAME,
  23. COALESCE(con.customername, zak_raz.orgtitle, zak_net.orgtitle) customername,
  24. COALESCE(con.grbsname, zak_raz.grbstitle, zak_net.grbstitle) grbsname,
  25. con.kol_nr,
  26. con.sum_nr,
  27. con.finsum_nr,
  28. con.kol_n,
  29. con.sum_r,
  30. con.finsum_r,
  31. con.fin_itog,
  32. zak_raz.kol_req kol_z,
  33. zak_raz.nmck nmck_z,
  34. zak_raz.fins fin_z,
  35. zak_net.kol_req kol_net,
  36. zak_net.nmck nmck_net,
  37. zak_net.fins fin_z_net,
  38. ROW_NUMBER() OVER (PARTITION BY tar.NP_CODE_NAME,tar.FP_CODE_NAME,COALESCE(con.customername, zak_raz.orgtitle, zak_net.orgtitle) ORDER BY tar.NP_CODE_NAME,tar.FP_CODE_NAME desc) rn
  39. from DWH_TARGETEXPENSEITEMCODE tar
  40. left join
  41. (
  42. SELECT
  43. t.NP_CODE_NAME,t.FP_CODE_NAME,
  44. con.customername, con.grbsname,
  45. count (case when con.CONTRACTREJECTDATE is Null then con.LOTID end) kol_nr, -- количество нерассторгнутых контрактов
  46. round(sum (case when con.CONTRACTREJECTDATE is Null then con.CONTRACTSIGNINGPRICE end) / 1000000,1) sum_nr, -- цена контракта нерассторгнутых
  47. ROW_NUMBER() OVER (PARTITION BY max(t.NP_CODE_NAME)/*,t.FP_CODE_NAME*/ ORDER BY t.FP_CODE_NAME) rn ,
  48. round(sum (case when con.CONTRACTREJECTDATE is Null then tar.finsum end)/1000000,1) finsum_nr, --финансирование 2019г.
  49.  
  50. count ( case when con.CONTRACTREJECTDATE is Not Null then con.LOTID end) kol_n,
  51. round(sum (case when con.CONTRACTREJECTDATE is Not Null then con.CONTRACTSIGNINGPRICE end) / 1000000,1) sum_r,
  52. round(sum (case when con.CONTRACTREJECTDATE is Not Null then tar.finsum end)/1000000,1) finsum_r,
  53.  
  54. round(sum(finsum)/1000000,1) fin_itog
  55. FROM (
  56. SELECT TARGETEXPENSEITEMCODE, LOT_ID, sum(FINSUM) finsum
  57. FROM DWH_CONTRACT_FIN_KGNTV
  58. where YEAR = 2019 and TYPE = 1 and TARGETEXPENSEITEMCODE in (select TARGETEXPENSEITEMCODE from DWH_TARGETEXPENSEITEMCODE)
  59. GROUP BY TARGETEXPENSEITEMCODE, LOT_ID
  60. ) tar
  61. left join DWH_CONTRACT_KGNTV con ON con.LOTID = tar.LOT_ID
  62. right join DWH_TARGETEXPENSEITEMCODE t on tar.TARGETEXPENSEITEMCODE = t.TARGETEXPENSEITEMCODE
  63. --where con.contractrnk is not null --and t.fp_code_name = 'Спорт - норма жизни' and con.customername is null
  64. -- where con.customername is not null
  65. where con.customerid=46890
  66. Group by t.NP_CODE_NAME,t.FP_CODE_NAME,con.customername, con.grbsname
  67. Order by t.NP_CODE_NAME,t.FP_CODE_NAME
  68. )con on tar.fp_code_name = con.FP_CODE_NAME
  69. Left join
  70. (
  71. Select
  72. t.NP_CODE_NAME,t.FP_CODE_NAME,lot.orgtitle, lot.grbstitle,
  73. ROW_NUMBER() OVER (PARTITION BY max(t.NP_CODE_NAME) ORDER BY t.FP_CODE_NAME) rn ,
  74. count(lot.reqnum) kol_req,
  75. round(sum(lot.F_PRODUCTPRICE)/1000000,1) nmck,
  76. round(sum(lot.FINSUM)/1000000,1) fins
  77.  
  78. From (
  79. Select fin.LOTUUID l_lot, pro.lotuuid p_lot, pro.REQNUM, fin.finsum, fin.TARGETEXPENSEITEMCODE, pro.F_PRODUCTPRICE, pro.REQUESTID, pro.orgtitle, pro.grbstitle
  80. from (
  81. select LOTUUID, TARGETEXPENSEITEMCODE,
  82. sum(FINVALUE) FINSUM
  83. from dwh_lot_fin_kgntv
  84. where FINYEAR = 2019 and TARGETEXPENSEITEMCODE in (select TARGETEXPENSEITEMCODE from DWH_TARGETEXPENSEITEMCODE)
  85. GROUP BY LOTUUID, TARGETEXPENSEITEMCODE
  86. ) fin
  87. LEFT join DWH_PROCEDURES_KGNTV pro on pro.LOTUUID=fin.LOTUUID
  88. left join DWH_CONTRACT_KGNTV con on fin.lotuuid=con.LOTID
  89. where pro.REQNUM is not null and con.CONTRACTRNK is null and ( pro.FINAL_DECISION <>'Отмена закупки' or pro.FINAL_DECISION is null) and pro.LOTSTAGE <> 'Процедура отменена'
  90. and pro.orgid=46890 and pro.reqnum not in ( 0172200002519000004, 0372200121119000002, 0372200121119000004, 0372200121119000005, 0372200121119000003, 0372200121119000001, 0172200003819000048, 0172200001419000075,
  91. 0172200006619000033, 0172200004619000029, 0372200277319000130, 0372200277319000130, 0172200003619000029, 0372200277319000104, 0172200000419000080, 0372200099919000012,
  92. 0372200009419000008, 0372200137919000012, 0372200074719000006, 0372200137919000024, 0372200000719000008, 0372200167619000006, 0372200037419000030, 0372200037419000040,
  93. 0372200037419000020, 0372200225619000007, 0372200138319000020, 0372200097619000012, 0372200164419000005, 0372200097619000011, 0372200029619000009, 0372200062219000012,
  94. 0372200122219000030, 0372200176719000001, 0372200141819000006, 0372200141819000009, 0372200121119000032, 0372200274019000003, 0372200097619000005, 0372200277319000084,
  95. 0372200129219000002, 0372200062219000017, 0372200137919000021, 0372200140019000014, 0372200286519000007, 0372200278019000030, 0372200138219000033, 0372200274019000025,
  96. 0372200274019000016, 0372200056619000003, 0372200099919000008, 0372200056719000002, 0372200138319000001, 0372200275919000018, 0372200037419000039, 0372200277319000155,
  97. 0372200290019000046, 0372200273219000023, 0372200277319000134, 0372200275919000014, 0372200233519000021, 0372200062419000007, 0372200006119000009, 0372200141819000019,
  98. 0372200067419000016, 0372200202919000023, 0372200137919000029, 0372200202919000017, 0372200202919000014, 0372200062419000026, 0372200062419000004, 0372200137919000014,
  99. 0372200212419000023, 0372200037419000025, 0372200273219000024, 0372200273219000017, 0372200273219000026, 0372200057119000015, 0372200202919000015, 0372200060119000011,
  100. 0372200273219000029, 0372200001719000013, 0372200104719000038, 0372200288519000024, 0372200182619000007, 0372200006119000014, 0372200070819000015, 0372200263019000030,
  101. 0372200202919000018, 0372200273219000018, 0372200006119000023, 0372200263019000022, 0372200009919000021, 0372200074819000014, 0372200273219000007, 0372200181919000010,
  102. 0372200037419000038, 0372200037419000015, 0372200062419000017, 0372200263319000006, 0372200138219000020, 0372200082419000067)
  103. )lot
  104. RIGHT JOIN DWH_TARGETEXPENSEITEMCODE t on lot.TARGETEXPENSEITEMCODE = t.TARGETEXPENSEITEMCODE
  105. --where lot.orgtitle is not null
  106. group by t.NP_CODE_NAME,t.FP_CODE_NAME,lot.orgtitle, lot.grbstitle
  107. Order by t.NP_CODE_NAME,t.FP_CODE_NAME
  108. )zak_raz on tar.fp_code_name =zak_raz.FP_CODE_NAME
  109. left join
  110. (
  111. Select
  112. t.NP_CODE_NAME,t.FP_CODE_NAME, lot.orgtitle, lot.grbstitle,
  113. ROW_NUMBER() OVER (PARTITION BY max(t.NP_CODE_NAME) ORDER BY t.FP_CODE_NAME) rn ,
  114. count(lot.reqnum) kol_req,
  115. round(sum(lot.F_PRODUCTPRICE)/1000000,1) nmck,
  116. round(sum(lot.FINSUM)/1000000,1) fins
  117.  
  118. From (
  119. Select fin.LOTUUID l_lot, pro.lotuuid p_lot, pro.REQNUM, fin.finsum, fin.TARGETEXPENSEITEMCODE, pro.F_PRODUCTPRICE, pro.REQUESTID, pro.orgtitle, pro.grbstitle
  120. from (
  121. select LOTUUID, TARGETEXPENSEITEMCODE,
  122. sum(FINVALUE) FINSUM
  123. from dwh_lot_fin_kgntv
  124. where FINYEAR = 2019 and TARGETEXPENSEITEMCODE in (select TARGETEXPENSEITEMCODE from DWH_TARGETEXPENSEITEMCODE)
  125. GROUP BY LOTUUID, TARGETEXPENSEITEMCODE
  126. ) fin
  127. LEFT join DWH_PROCEDURES_KGNTV pro on pro.LOTUUID=fin.LOTUUID
  128. left join DWH_CONTRACT_KGNTV con on fin.lotuuid=con.LOTID
  129. where pro.REQNUM is null and con.CONTRACTRNK is null and ( pro.FINAL_DECISION <>'Отмена закупки' or pro.FINAL_DECISION is null) and pro.LOTSTAGE <> 'Процедура отменена' and pro.OOSLOTNUM is not null
  130. and pro.fordertypename <> 'Особая закупка'
  131. and pro.orgid=46890
  132. )lot
  133. RIGHT JOIN DWH_TARGETEXPENSEITEMCODE t on lot.TARGETEXPENSEITEMCODE = t.TARGETEXPENSEITEMCODE
  134. -- where lot.orgtitle is not null
  135. group by t.NP_CODE_NAME,t.FP_CODE_NAME, lot.orgtitle, lot.grbstitle
  136. Order by t.NP_CODE_NAME,t.FP_CODE_NAME
  137. )zak_net on tar.fp_code_name=zak_net.FP_CODE_NAME
  138. Order by tar.NP_CODE_NAME,tar.FP_CODE_NAME
  139. )
  140. where rn=1 --and FP_CODE_NAME ='Спорт - норма жизни'
  141. ORDER BY NP_CODE_NAME, FP_CODE_NAME;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement