/* -- ======================================================================================================= Resultado CICLO 1 vw_fip_meritocracia_resultado já pega último LOTE mas indicador de crote eliet devem ser verificados -- ======================================================================================================= */ WITH CTE_TECNICO_CORTE AS ( SELECT MRTC_CORTE."COD_PROPRIEDADE" , MRTC_CORTE."NU_PERIODO" , MAX(MRTC_CORTE."COD_LOTE_PROCESSAMENTO") AS "COD_ULTIMO_LOTE" FROM "2"."dbo_FIP_MERITOCRACIA_IND_CORTE" MRTC_CORTE JOIN "2"."dbo_vm_fip_produtor_propriedade_completo" ppc ON ppc."ID da propriedade" = MRTC_CORTE."COD_PROPRIEDADE" GROUP BY MRTC_CORTE."COD_PROPRIEDADE" , MRTC_CORTE."NU_PERIODO" ) , CTE_CORTE AS ( SELECT MRTC_CORTE."COD_PROPRIEDADE" , MAX( CASE WHEN MRTC_CORTE."NU_PERIODO" = 2 AND MRTC_CORTE."NU_NUMERO" = 83 THEN MRTC_CORTE."VLR_VALOR" ELSE 0 END) AS "MARGEM_BRUTA_CORTE_2" , MAX( CASE WHEN MRTC_CORTE."NU_PERIODO" = 1 AND MRTC_CORTE."NU_NUMERO" = 83 THEN MRTC_CORTE."VLR_VALOR" ELSE 0 END) AS "MARGEM_BRUTA_CORTE_1" , MAX( CASE WHEN MRTC_CORTE."NU_PERIODO" = 2 AND MRTC_CORTE."NU_NUMERO" = 54 THEN MRTC_CORTE."VLR_VALOR" ELSE 0 END) AS "ANIMAIS_VENDIDOS_CORTE_2" , MAX( CASE WHEN MRTC_CORTE."NU_PERIODO" = 1 AND MRTC_CORTE."NU_NUMERO" = 54 THEN MRTC_CORTE."VLR_VALOR" ELSE 0 END) AS "ANIMAIS_VENDIDOS_CORTE_1" , MAX( CASE WHEN MRTC_CORTE."NU_PERIODO" = 2 AND MRTC_CORTE."NU_NUMERO" = 292 THEN MRTC_CORTE."VLR_VALOR" ELSE 0 END) AS "PESO_MEDIO_CORTE_2" , MAX( CASE WHEN MRTC_CORTE."NU_PERIODO" = 1 AND MRTC_CORTE."NU_NUMERO" = 292 THEN MRTC_CORTE."VLR_VALOR" ELSE 0 END) AS "PESO_MEDIO_CORTE_1" , MAX( CASE WHEN MRTC_CORTE."NU_PERIODO" = 2 AND MRTC_CORTE."NU_NUMERO" = 51 THEN MRTC_CORTE."VLR_VALOR" ELSE 0 END) AS "PRODUCAO_VENDA_CARNE_CORTE_2" , MAX( CASE WHEN MRTC_CORTE."NU_PERIODO" = 1 AND MRTC_CORTE."NU_NUMERO" = 51 THEN MRTC_CORTE."VLR_VALOR" ELSE 0 END) AS "PRODUCAO_VENDA_CARNE_CORTE_1" -- CALCULAR FROM "2"."dbo_FIP_MERITOCRACIA_IND_CORTE" MRTC_CORTE JOIN "2"."dbo_vm_fip_produtor_propriedade_completo" ppc ON ppc."ID da propriedade" = MRTC_CORTE."COD_PROPRIEDADE" INNER JOIN CTE_TECNICO_CORTE CTE ON CTE."COD_ULTIMO_LOTE" = MRTC_CORTE."COD_LOTE_PROCESSAMENTO" AND CTE."NU_PERIODO" = MRTC_CORTE."NU_PERIODO" WHERE MRTC_CORTE."NU_NUMERO" IN (54,83,292,51) GROUP BY MRTC_CORTE."COD_PROPRIEDADE" ) , CTE_CALCULO_CORTE AS ( SELECT CTE_CRT."COD_PROPRIEDADE" , CTE_CRT."MARGEM_BRUTA_CORTE_2" , CTE_CRT."MARGEM_BRUTA_CORTE_1" , CTE_CRT."ANIMAIS_VENDIDOS_CORTE_2" , CTE_CRT."ANIMAIS_VENDIDOS_CORTE_1" , CTE_CRT."PESO_MEDIO_CORTE_2" , CTE_CRT."PESO_MEDIO_CORTE_1" , CTE_CRT."PRODUCAO_VENDA_CARNE_CORTE_2" , CTE_CRT."PRODUCAO_VENDA_CARNE_CORTE_1" , -- CORTE CICLO 1 CAST( ( CTE_CRT."ANIMAIS_VENDIDOS_CORTE_1" * CTE_CRT."PESO_MEDIO_CORTE_1" + CTE_CRT."PRODUCAO_VENDA_CARNE_CORTE_1" ) AS NUMERIC(20,2) ) AS "VLR_PRODUTIVIDADE_CORTE", CAST( ( CTE_CRT."MARGEM_BRUTA_CORTE_1" ) AS NUMERIC(20,2) ) AS "MARGEM_BRUTA_CORTE" FROM CTE_CORTE CTE_CRT ) , ----- CTE_TECNICO_LEITE AS ( SELECT MRTC_LEITE."COD_PROPRIEDADE", MRTC_LEITE."NU_PERIODO" , MAX(MRTC_LEITE."COD_LOTE_PROCESSAMENTO") AS "COD_ULTIMO_LOTE" FROM "2"."dbo_FIP_MERITOCRACIA_IND_LEITE" MRTC_LEITE JOIN "2"."dbo_vm_fip_produtor_propriedade_completo" ppc ON ppc."ID da propriedade" = MRTC_LEITE."COD_PROPRIEDADE" GROUP BY MRTC_LEITE."COD_PROPRIEDADE", MRTC_LEITE."NU_PERIODO" ) , CTE_LEITE AS ( SELECT -- ppc."ID do Técnico Responsável" AS "COD_TECNICO" , MRTC_LEITE."COD_PROPRIEDADE" , MAX( CASE WHEN MRTC_LEITE."NU_PERIODO" = 2 AND MRTC_LEITE."NU_NUMERO" = 30 THEN MRTC_LEITE."VLR_VALOR" ELSE 0 END) AS "MARGEM_BRUTA_LEITE_2" , MAX( CASE WHEN MRTC_LEITE."NU_PERIODO" = 1 AND MRTC_LEITE."NU_NUMERO" = 30 THEN MRTC_LEITE."VLR_VALOR" ELSE 0 END) AS "MARGEM_BRUTA_LEITE_1" , MAX( CASE WHEN MRTC_LEITE."NU_PERIODO" = 2 AND MRTC_LEITE."NU_NUMERO" = 1 THEN MRTC_LEITE."VLR_VALOR" ELSE 0 END) AS "PRODUCAO_LEITE_2" , MAX( CASE WHEN MRTC_LEITE."NU_PERIODO" = 1 AND MRTC_LEITE."NU_NUMERO" = 1 THEN MRTC_LEITE."VLR_VALOR" ELSE 0 END) AS "PRODUCAO_LEITE_1" FROM "2"."dbo_FIP_MERITOCRACIA_IND_LEITE" MRTC_LEITE JOIN "2"."dbo_vm_fip_produtor_propriedade_completo" ppc ON ppc."ID da propriedade" = MRTC_LEITE."COD_PROPRIEDADE" INNER JOIN CTE_TECNICO_LEITE CTE ON CTE."COD_ULTIMO_LOTE" = MRTC_LEITE."COD_LOTE_PROCESSAMENTO" AND CTE."NU_PERIODO" = MRTC_LEITE."NU_PERIODO" WHERE MRTC_LEITE."NU_NUMERO" IN (1,30) GROUP BY MRTC_LEITE."COD_PROPRIEDADE" ) , CTE_CALCULO_LEITE AS ( SELECT CTE_LTE."COD_PROPRIEDADE" , CTE_LTE."MARGEM_BRUTA_LEITE_2" , CTE_LTE."MARGEM_BRUTA_LEITE_1" , CTE_LTE."PRODUCAO_LEITE_2" , CTE_LTE."PRODUCAO_LEITE_1", --- CICLO 1 LEITE , CAST( ( CTE_LTE."PRODUCAO_LEITE_1" ) AS NUMERIC(20,2) ) AS "VLR_PRODUTIVIDADE_LEITE", CAST( ( CTE_LTE."MARGEM_BRUTA_LEITE_1" ) AS NUMERIC(20,2) ) AS "MARGEM_BRUTA_LEITE" FROM CTE_LEITE CTE_LTE ), CTE_CALCULO_CUMPRIMENTO AS ( SELECT vfmr."COD_PROPRIEDADE", CASE WHEN vfmr."NU_QTDE_ISA_4_VISITA" ISNULL OR vfmr."NU_QTDE_ISA_4_VISITA" = 0 THEN 0 ELSE 20 END AS "ESFORCO_ENTREGA_ISA_20PCT" -- 'Entrega ISA 20%' -- LETRA AB , CASE WHEN vfmr."NU_QTDE_PLANEJTO_6_VISITA" ISNULL OR vfmr."NU_QTDE_PLANEJTO_6_VISITA" = 0 THEN 0 ELSE 20 END AS "ESFORCO_ENTREGA_PLAN_20PCT" -- 'Entrega PLAN 20$' -- LETRA AC FROM "2"."dbo_vw_fip_meritocracia_resultado" vfmr WHERE vfmr."NU_PERIODO" = 1 -- MESMO CICLO @ manter CICLO =1 pois ISA e planejamento nao mudam ) SELECT vfmr."DH_PROCESSAMENTO_LOTE" , vfmr."COD_PROPRIEDADE" , vfmr."NU_PERIODO" , vfmr."COD_TECNICO_RESPONSAVEL" , vfmr."NOME_TECNICO_RESPONSAVEL" , vfmr."UF_PROPRIEDADE" , vfmr."MUNICIPIO_PROPRIEDADE" , vfmr."NU_QTDE_INCONSISTENCIA" , vfmr."NU_TOTAL_LANCAMENTO" , vfmr."NU_QTDE_RECMND_CONCLUIDA" , vfmr."NU_QTDE_VISITA" , vfmr."NU_QTDE_VISITA_SEM_LANCTO" , vfmr."NU_QTDE_ISA_4_VISITA" , vfmr."NU_QTDE_PLANEJTO_6_VISITA" , vfmr."NU_QTDE_PROPRDD_ATENDIDAS" , vfmr."PCT_INDICADOR_INCONSISTENCIAS" , vfmr."PCT_PESO_INCONSISTENCIA" , vfmr."PCT_INDICADOR_ORIENTACOES" , vfmr."PCT_PESO_ORIENTACOES" , vfmr."PCT_INDICADOR_PREENCHIMENTO" , vfmr."PCT_PESO_PREENCHIMENTO" , -- Foram ajustados para contar se houve ISA ou houve Planejamento , 20% para cada item --vfmr."PCT_INDICADOR_COMPRIMENTO" , --vfmr."PCT_PESO_COMPRIMENTO" , -- atualizar novo calculo loacal --vfmr."VLR_INDICADOR_MARGEM_BRUTA" , --vfmr."PCT_PESO_MARGEM_BRUTA" , --vfmr."INDICADOR_PRODUTIVIDADE" , --vfmr."PESO_PRODUTIVIDADE" , vfmr."PCT_INDICADOR_ABC" , vfmr."PCT_PESO_ABC" , vfmr."PCT_INDICADOR_RVN_APP" , vfmr."PCT_PESO_RVN_APP" , vfmr."PCT_INDICADOR_RVN_RL" , vfmr."PCT_PESO_RVN_RL" , /* CRT."MARGEM_BRUTA_CORTE_2" AS "MARGEM_BRUTA_CORTE_2" , CRT."MARGEM_BRUTA_CORTE_1" AS "MARGEM_BRUTA_CORTE_1" , LTE."MARGEM_BRUTA_LEITE_2" AS "MARGEM_BRUTA_LEITE_2" , LTE."MARGEM_BRUTA_LEITE_1" AS "MARGEM_BRUTA_LEITE_1" , CRT."ANIMAIS_VENDIDOS_CORTE_2" AS "ANIMAIS_VENDIDOS_CORTE_2" , CRT."ANIMAIS_VENDIDOS_CORTE_1" AS "ANIMAIS_VENDIDOS_CORTE_1" , CRT."PESO_MEDIO_CORTE_2" AS "PESO_MEDIO_CORTE_2" , CRT."PESO_MEDIO_CORTE_1" AS "PESO_MEDIO_CORTE_1" , CRT."PRODUCAO_VENDA_CARNE_CORTE_2" AS "PRODUCAO_VENDA_CARNE_CORTE_2" , CRT."PRODUCAO_VENDA_CARNE_CORTE_1" AS "PRODUCAO_VENDA_CARNE_CORTE_1" , LTE."PRODUCAO_LEITE_2" AS "PRODUCAO_LEITE_2", LTE."PRODUCAO_LEITE_1" AS "PRODUCAO_LEITE_1", */ LTE."VLR_PRODUTIVIDADE_LEITE", CRT."VLR_PRODUTIVIDADE_CORTE", -- ======================================================================================================= -- CALCULAR O ESFORÇO -- ======================================================================================================= CASE WHEN vfmr."PCT_PESO_INCONSISTENCIA" ISNULL THEN 0 ELSE vfmr."PCT_PESO_INCONSISTENCIA"*10/100 END AS "ESFORCO_INCONSISTENCIA_10PCT" --'Inconsistências 10%' -- LETRA H , CASE WHEN vfmr."PCT_PESO_ORIENTACOES" ISNULL THEN 0 ELSE vfmr."PCT_PESO_ORIENTACOES"*20/100 END AS "ESFORCO_ORIENTACOES_20PCT" -- 'Orientações 20%' -- LETRA J , CASE WHEN vfmr."PCT_PESO_PREENCHIMENTO" ISNULL THEN 0 ELSE vfmr."PCT_PESO_PREENCHIMENTO"*30/100 END AS "ESFORCO_PREENCHIMENTO_30PCT" -- 'Preenchimento 30%' -- LETRA L , -- ISA e PLAN CCC."ESFORCO_ENTREGA_ISA_20PCT", CCC."ESFORCO_ENTREGA_PLAN_20PCT", vfmr."NU_QTDE_VISITA_TECNICO" , COALESCE(vfmr."PCT_PESO_INCONSISTENCIA"*10/100,0) + COALESCE(vfmr."PCT_PESO_ORIENTACOES"*20/100 ,0) + COALESCE(vfmr."PCT_PESO_PREENCHIMENTO"*30/100,0) + COALESCE(CCC."ESFORCO_ENTREGA_ISA_20PCT",0) + COALESCE(CCC."ESFORCO_ENTREGA_PLAN_20PCT",0) AS "TOTAL_ESFORCO" -- ======================================================================================================= ---- RESULTADO -- ======================================================================================================= , CASE WHEN COALESCE(LTE."VLR_PRODUTIVIDADE_LEITE",0)+ COALESCE(CRT."VLR_PRODUTIVIDADE_CORTE",0) > 0 THEN (100*15/100) ELSE 0 END AS "RESULTADO_PRODUTIVIDADE_15PCT" , CASE WHEN COALESCE(LTE."MARGEM_BRUTA_LEITE",0)+COALESCE(CRT."MARGEM_BRUTA_CORTE",0) > 0 THEN (100*15/100) ELSE 0 END AS "RESULTADO_MARGEM_BRUTA_15PCT" --'Margem Bruta 15%' , COALESCE(vfmr."PCT_PESO_ABC"*15/100,0)::NUMERIC AS "RESULTADO_ADOCAO_ABC_15PCT" -- 'Adoção ABC 15%' , COALESCE(vfmr."PCT_PESO_RVN_RL"*15/100,0)::NUMERIC AS "RESULTADO_ADOCAO_RVN_15PCT" --'Adoção RVN 15%' , NULL AS "INDICADOR_BENCHMARK", NULL AS "PCT_BENCHMARK", NULL AS "RESULTADO_BENCHMARKING_40PCT", --'Benchmarking 40%' NULL AS "TOTAL_RESULTADO", -- =[@[RESULTADO_MARGEM_BRUTA_15PCT]]+[@[RESULTADO_ADOCAO_ABC_15PCT]]+[@[RESULTADO_ADOCAO_RVN_15PCT]]+[@[RESULTADO_BENCHMARKING_40PCT]] NULL AS "ESFORÇO_50%", -- =[@[TOTAL_ESFORCO]]*50/100 NULL AS "RESULTADO_50%",-- =[@[TOTAL_RESULTADO]]*50/100 NULL AS "TOTAL_PCT_RESULT_ESFORCO", -- =[@[ESFORÇO_50%]]+[@[RESULTADO_50%]] NULL AS "VLR_VISITA", -- no DOC de especificacao diz 300, deixar alerta para laterar conforme UF NULL AS "VLR_BONIFICACAO", -- =[@[TOTAL_PCT_RESULT_ESFORCO]]*[@[VLR_VISITA]]/100 NULL AS "VLR_BONIFICACAO_PROP_NU_VISITAS" -- nova coluna de valor de bonificacao proporcional ao número de visitas do técnico -- =[@[VLR_BONIFICACAO]]*[@[NU_QTDE_VISITA_TECNICO]]/[@[NU_QTDE_VISITA]] /* , ( CASE WHEN COALESCE(LTE."VLR_PRODUTIVIDADE_LEITE",0)+ COALESCE(CRT."VLR_PRODUTIVIDADE_CORTE", 0) > 0 THEN (100*15/100) ELSE 0 END + CASE WHEN COALESCE(LTE."MARGEM_BRUTA_LEITE",0)+COALESCE(CRT."MARGEM_BRUTA_CORTE",0) > 0 THEN (100*15/100) ELSE 0 END + COALESCE(vfmr."PCT_PESO_ABC"*15/100,0)::NUMERIC + COALESCE(vfmr."PCT_PESO_RVN_RL"*15/ 100,0)::NUMERIC ) AS "TOTAL_RESULTADO" -- ======================================================================================================= ---- ESFORÇO E RESULTADO !!!!!!!!!!!!! 50/50 no CICLO 1 30/70 no CICLO 2 -- ======================================================================================================= , (( COALESCE(vfmr."PCT_PESO_INCONSISTENCIA"*10/100,0) + COALESCE(vfmr."PCT_PESO_ORIENTACOES"*20/ 100,0) + COALESCE(vfmr."PCT_PESO_PREENCHIMENTO"*30/100,0) + COALESCE (CCC."ESFORCO_ENTREGA_ISA_20PCT",0) + COALESCE(CCC."ESFORCO_ENTREGA_PLAN_20PCT",0) ) ::NUMERIC)*50/100 AS "ESFORÇO_50%" , ( CASE WHEN COALESCE(LTE."VLR_PRODUTIVIDADE_LEITE",0)+ COALESCE(CRT."VLR_PRODUTIVIDADE_CORTE", 0) > 0 THEN (100*15/100) ELSE 0 END + CASE WHEN COALESCE(LTE."MARGEM_BRUTA_LEITE",0)+COALESCE(CRT."MARGEM_BRUTA_CORTE",0) > 0 THEN (100*15/100) ELSE 0 END + COALESCE(vfmr."PCT_PESO_ABC"*15/100,0)::NUMERIC + COALESCE(vfmr."PCT_PESO_RVN_RL"*15/ 100,0)::NUMERIC )*50/100 AS "RESULTADO_50%" -- , (( COALESCE(vfmr."PCT_PESO_INCONSISTENCIA"*10/100,0) + COALESCE(vfmr."PCT_PESO_ORIENTACOES"*20/ 100,0) + COALESCE(vfmr."PCT_PESO_PREENCHIMENTO"*30/100,0) + COALESCE (CCC."ESFORCO_ENTREGA_ISA_20PCT",0) + COALESCE(CCC."ESFORCO_ENTREGA_PLAN_20PCT",0) ) ::NUMERIC)*50/100 + ( CASE WHEN COALESCE(LTE."VLR_PRODUTIVIDADE_LEITE",0)+ COALESCE(CRT."VLR_PRODUTIVIDADE_CORTE", 0) > 0 THEN (100*15/100) ELSE 0 END + CASE WHEN COALESCE(LTE."MARGEM_BRUTA_LEITE",0)+COALESCE(CRT."MARGEM_BRUTA_CORTE",0) > 0 THEN (100*15/100) ELSE 0 END + COALESCE(vfmr."PCT_PESO_ABC"*15/100,0)::NUMERIC + COALESCE(vfmr."PCT_PESO_RVN_RL"*15/ 100,0)::NUMERIC )*50/100 AS "TOTAL_PCT_RESULT_ESFORCO" , (((( COALESCE(vfmr."PCT_PESO_INCONSISTENCIA"*10/100,0) + COALESCE(vfmr."PCT_PESO_ORIENTACOES"* 20/ 100,0) + COALESCE(vfmr."PCT_PESO_PREENCHIMENTO"*30/100,0) + COALESCE (CCC."ESFORCO_ENTREGA_ISA_20PCT",0) + COALESCE(CCC."ESFORCO_ENTREGA_PLAN_20PCT",0) ) ::NUMERIC)*50/100 + ( CASE WHEN COALESCE(LTE."VLR_PRODUTIVIDADE_LEITE",0)+ COALESCE(CRT."VLR_PRODUTIVIDADE_CORTE", 0) > 0 THEN (100*15/100) ELSE 0 END + CASE WHEN COALESCE(LTE."MARGEM_BRUTA_LEITE",0)+COALESCE(CRT."MARGEM_BRUTA_CORTE",0) > 0 THEN (100*15/100) ELSE 0 END + COALESCE(vfmr."PCT_PESO_ABC"*15/100,0)::NUMERIC + COALESCE(vfmr."PCT_PESO_RVN_RL"*15/ 100,0)::NUMERIC )*50/100) * ((vfmr."NU_QTDE_VISITA_TECNICO")::NUMERIC/ (vfmr."NU_QTDE_VISITA" )::NUMERIC )::NUMERIC )::NUMERIC AS "TOTAL_PCT_RESULT_ESFORCO_TECNICO" */ FROM "2"."dbo_vw_fip_meritocracia_resultado" vfmr LEFT JOIN CTE_CALCULO_LEITE LTE ON LTE."COD_PROPRIEDADE" = vfmr."COD_PROPRIEDADE" LEFT JOIN CTE_CALCULO_CORTE CRT ON CRT."COD_PROPRIEDADE" = vfmr."COD_PROPRIEDADE" LEFT JOIN CTE_CALCULO_CUMPRIMENTO CCC ON CCC ."COD_PROPRIEDADE" = vfmr."COD_PROPRIEDADE" WHERE vfmr."NU_PERIODO" = 1 AND vfmr."COD_TECNICO_RESPONSAVEL" IN ( 199680 ,113173 ,129980 ,178428 ,118085 ,179593 ,102153 ,199684 ,212557 ,181705 ,144785 ,173003 ,179914 ,242022 ,103332 ,174596 ,117321 ,102006 ,97369 ,216053 ,170769 ,242021 ,217541 ,88929 ,144786 ,149811 ,113830 ,199686 ,177164 ,101575 ,190448 ,108069 ,189192 ,181704)