1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209
|
CREATE VIEW as dbo.V_or_encours
SELECT (SELECT coalesce (sum (ttotfichado.Tiempopasado),0)
FROM ttotfichado
WHERE ttotfichado.hayabono<> 1 AND
(NOT (ttOTFichado.RepartoPendiente = 0 AND ttOTFichado.FichajeContraOT > 0) OR ttOTFichado.RepartoPendiente IS NULL) AND
ttOTIntervencion.Emp = ttOTFichado.Emp AND
ttOTIntervencion.Numinterno = ttOTFichado.Numinterno AND
ttOTIntervencion.Intervencion = ttOTFichado.Intervencion AND
ttotfichado.fecha <= '12-1-2011 23:59:59.000') AS tt,
Count(DISTINCT ttOTCab.NumOT),
SUM(case tipocab
when 0 then
case tipolinea
when 1 then
case ttOTIntervencion.esabono
when 1 then (-1 * ttotlinea.PrecioCosteMedio * coalesce (ttotcargolinea.cantidadhoras,ttotlinea.cantidadhoras))
else (ttotlinea.PrecioCosteMedio * coalesce (ttotcargolinea.cantidadhoras,ttotlinea.cantidadhoras))
end
else 0
end
else 0
end) AS ImpPCPMrec,
tgtaller.descrip AS atelier,
tgempresa.razon AS societe
FROM ttoTCab
INNER JOIN tgempresa ON
ttotcab.emp = tgempresa.emp
INNER JOIN tgtaller ON
ttotcab.emp = tgtaller.emp AND ttotcab.taller = tgtaller.taller
INNER JOIN ttOTIntervencion ON
ttOTCab.Emp = ttOTIntervencion.Emp AND
ttOTCab.NumInterno = ttOTIntervencion.Numinterno
INNER JOIN ttOTLinea ON
ttOTIntervencion.Emp = ttOTLinea.Emp AND
ttOTIntervencion.Numinterno = ttOTLinea.NumIntOT AND
ttOTIntervencion.Intervencion = ttOTLinea.NumIntIntervencion
INNER JOIN ttSeccion ON
ttOTCab.Seccion = ttSeccion.Seccion
INNER JOIN ttSeccion seccion ON
ttOTIntervencion.Seccion = seccion.Seccion
LEFT OUTER JOIN TTrecepcionista ON
ttOtCab.emp = TTrecepcionista.emp AND
ttOtCab.taller = TTrecepcionista.taller AND
ttOtCab.recepcionista = TTrecepcionista.recepcionista
LEFT OUTER JOIN Tgmarca ON
ttOtCab.marca = tgmarca.marca
LEFT OUTER JOIN ttOTCargoLinea ON
ttOTLinea.Emp = ttOTCargoLinea.Emp AND
ttOTLinea.NumIntOT = ttOTCargoLinea.NumIntOT AND
ttOTLinea.NumIntIntervencion = ttOTCargoLinea.NumIntIntervencion AND
ttOTLinea.LineaItem = ttOTCargoLinea.LineaItem
LEFT OUTER JOIN ttOTCargoInt ON
ttOTCargoLinea.Emp = ttotcargoint.emp AND
ttOTCargoLinea.NumIntOT = ttotcargoint.Numintot AND
ttOTCargoLinea.NumIntIntervencion = ttotcargoint.numintintervencion AND
ttOTCargoLinea.NumIntcargo = ttotcargoint.numintcargo
LEFT OUTER JOIN ttotcargo ON
ttotcargoint.emp=ttotcargo.emp AND
ttotcargoint.NumIntOT=ttotcargo.NumInterno AND
ttotcargoint.NumIntCargo=ttotcargo.Cargo
LEFT OUTER JOIN ttgrupocargo ON
ttOTCargo.grupocargo = ttgrupocargo.grupo
LEFT OUTER JOIN tgGrupoCont ON
ttOTLinea.GrupoCont = tgGrupoCont.GrupoCont
LEFT OUTER JOIN tgMarca MarcaLinea ON
ttOTLinea.Marca = MarcaLinea.Marca
LEFT OUTER JOIN tacategoriapieza ON
ttotlinea.marca = tacategoriapieza.marca AND ttotlinea.codigocategoria = tacategoriapieza.codigo
LEFT OUTER JOIN ttotstatus ON ttOTCab.statusencurso = ttotstatus.Codigo
WHERE
(ttotcab.emp='002' ) AND
(ttotintervencion.hayfactura = 0 ) AND
(ttotcab.taller='20' ) AND
(ttOTCab.Anulada = 0) AND
(ttOTLinea.Anulada = 0) AND
(ttOTCab.FechaAperturaOT <= '12-1-2011 23:59:59.000' ) AND
(
ttOTLinea.FechaAlta <= '12-1-2011 23:59:59.000'
OR ttotlinea.tipocab =1
) AND
(ttotlinea.tipocab <> 2) AND
(ttOTCab.STATUS = 30 ) AND
(ttotlinea.cantidadhoras <> 0 OR ttotlinea.almservido <> 1)
GROUP BY tgempresa.razon, tgtaller.descrip, ttOTIntervencion.Emp, ttOTIntervencion.Numinterno, ttOTIntervencion.Intervencion
UNION ALL
SELECT (SELECT coalesce (sum (ttotfichado.Tiempopasado),0)
FROM ttotfichado
WHERE ttotfichado.hayabono<> 1 AND
(NOT (ttOTFichado.RepartoPendiente = 0 AND ttOTFichado.FichajeContraOT > 0) OR ttOTFichado.RepartoPendiente IS NULL) AND
ttOTIntervencion.Emp = ttOTFichado.Emp AND
ttOTIntervencion.Numinterno = ttOTFichado.Numinterno AND
ttOTIntervencion.Intervencion = ttOTFichado.Intervencion AND
ttotfichado.fecha <= '12-1-2011 23:59:59.000') AS tt,
Count(DISTINCT ttOTCab.NumOT),
SUM(case tipocab
when 0 then
case tipolinea
when 1 then
case ttOTIntervencion.esabono
when 1 then (-1 * ttotlinea.PrecioCosteMedio * coalesce (ttotcargolinea.cantidadhoras,ttotlinea.cantidadhoras))
else (ttotlinea.PrecioCosteMedio * coalesce (ttotcargolinea.cantidadhoras,ttotlinea.cantidadhoras))
end
else 0
end
else 0
end) AS ImpPCPMrec,
tgtaller.descrip AS atelier,
tgempresa.razon AS societe
FROM ttoTCab
INNER JOIN tgempresa ON
ttotcab.emp = tgempresa.emp
INNER JOIN tgtaller ON
ttotcab.emp = tgtaller.emp AND ttotcab.taller = tgtaller.taller
INNER JOIN ttOTIntervencion ON
ttOTCab.Emp = ttOTIntervencion.Emp AND
ttOTCab.NumInterno = ttOTIntervencion.Numinterno
INNER JOIN ttOTLinea ON
ttOTIntervencion.Emp = ttOTLinea.Emp AND
ttOTIntervencion.Numinterno = ttOTLinea.NumIntOT AND
ttOTIntervencion.Intervencion = ttOTLinea.NumIntIntervencion
INNER JOIN ttSeccion ON
ttOTCab.Seccion = ttSeccion.Seccion
INNER JOIN ttSeccion seccion ON
ttOTIntervencion.Seccion = seccion.Seccion
LEFT OUTER JOIN TTrecepcionista ON
ttOtCab.emp = TTrecepcionista.emp AND
ttOtCab.taller = TTrecepcionista.taller AND
ttOtCab.recepcionista = TTrecepcionista.recepcionista
LEFT OUTER JOIN Tgmarca ON
ttOtCab.marca = tgmarca.marca
LEFT OUTER JOIN ttOTCargoLinea ON
ttOTLinea.Emp = ttOTCargoLinea.Emp AND
ttOTLinea.NumIntOT = ttOTCargoLinea.NumIntOT AND
ttOTLinea.NumIntIntervencion = ttOTCargoLinea.NumIntIntervencion AND
ttOTLinea.LineaItem = ttOTCargoLinea.LineaItem
LEFT OUTER JOIN ttOTCargoInt ON
ttOTCargoLinea.Emp = ttotcargoint.emp AND
ttOTCargoLinea.NumIntOT = ttotcargoint.Numintot AND
ttOTCargoLinea.NumIntIntervencion = ttotcargoint.numintintervencion AND
ttOTCargoLinea.NumIntcargo = ttotcargoint.numintcargo
LEFT OUTER JOIN ttotcargo ON
ttotcargoint.emp=ttotcargo.emp AND
ttotcargoint.NumIntOT=ttotcargo.NumInterno AND
ttotcargoint.NumIntCargo=ttotcargo.Cargo
LEFT OUTER JOIN ttgrupocargo ON
ttOTCargo.grupocargo = ttgrupocargo.grupo
LEFT OUTER JOIN tgGrupoCont ON
ttOTLinea.GrupoCont = tgGrupoCont.GrupoCont
LEFT OUTER JOIN tgMarca MarcaLinea ON
ttOTLinea.Marca = MarcaLinea.Marca
LEFT OUTER JOIN tacategoriapieza ON
ttotlinea.marca = tacategoriapieza.marca AND ttotlinea.codigocategoria = tacategoriapieza.codigo
LEFT OUTER JOIN ttotstatus ON ttOTCab.statusencurso = ttotstatus.Codigo
WHERE
(ttotcab.emp='002' ) AND
(ttotintervencion.hayfactura = 0 ) AND
(ttotcab.taller='20' ) AND
(ttOTCab.Anulada = 0) AND
(ttOTLinea.Anulada = 0) AND
(ttOTCab.FechaAperturaOT <= '12-1-2011 23:59:59.000' ) AND
(
ttOTLinea.FechaAlta <= '12-1-2011 23:59:59.000'
OR ttotlinea.tipocab =1
) AND
(ttotlinea.tipocab <> 2) AND
(ttOTCab.STATUS = 30 ) AND
(ttotlinea.cantidadhoras <> 0 OR ttotlinea.almservido <> 1)
GROUP BY tgempresa.razon, tgtaller.descrip, ttOTIntervencion.Emp, ttOTIntervencion.Numinterno, ttOTIntervencion.Intervencion |
Partager