SQLize Online / PHPize Online  /  SQLtest Online

A A A
Share      Blog   Popular
Copy Format Clear
SELECT dl.pv as pv, dl.op AS op, d.nome AS dispositivo, e.nome AS estagio, MIN(dl.data_leitura) AS min_data_leitura, MAX(dl.data_leitura) AS max_data_leitura, sum(IF(dl.tipo_peca <> 'PNR',0,dl.qtd)) AS qtd_pnr, SUM(IF(dl.tipo_peca = 'PNR', 0, dl.qtd)) AS qtd_perdida_total, SUM(IF(dl.tipo_peca <> 'PSE', 0, dl.qtd)) AS qtd_pse, SUM(IF(dl.tipo_peca <> 'PSR', 0, dl.qtd)) AS qtd_psr, SUM(IF(dl.tipo_peca <> 'PSM', 0, dl.qtd)) AS qtd_psm, (SELECT SUM(pv.op_qtd) FROM pot_prot_ped_totvs_cliente AS pv WHERE pv.op = dl.op) AS qtd_op, apt.apto_05, apt.apto_07, apt.apto_10, apt.apto_15, apt.apto_20, apt.apto_25, nf.qtd_nf_ofic_saida, nf.qtd_nf_ofic_entrada, nf_3.qtd_nf_silk_saida, nf_3.qtd_nf_silk_entrada, prot_p.prot_perda_tecido_montada_e_desmontada, prot_p.prot_perda_costura_desmontada, prot_p.prot_perda_costura_sem_retorno, prot_p.prot_perda_costura_montada, prot_p.prot_perda_boa_montada, prot_p.prot_perda_estampa_montada, prot_p.prot_perda_sem_retorno, prot_p.prot_perda_defeito, pvst.status_op, pcp.data_corte_an, pcp.data_de_envio_oficina_i_av, pcp.inicio_costura_bd, pcp.termino_costura_be, ap_fs.fs_ci, ap_fs.fs_co, ap_fs.fs_perda, apt.dti_apto_05, apt.dtf_apto_05, apt.dti_apto_07, apt.dtf_apto_07, apt.dti_apto_10, apt.dtf_apto_10, apt.dti_apto_20, apt.dtf_apto_20, apt.dti_apto_25, apt.dtf_apto_25, ap_fs.dti_checking_fs, ap_fs.dtf_checkout_fs, dl.dispositivo_id, nf.dti_nf_ofic_saida, nf.dtf_nf_ofic_saida, nf.dti_nf_ofic_entrada, nf.dtf_nf_ofic_entrada, nf_3.dti_nf_silk_saida, nf_3.dtf_nf_silk_saida, nf_3.dti_nf_silk_entrada, nf_3.dtf_nf_silk_entrada, pvst.data_entrega, pvst.semana_renner, pvst.op_data_emissao, pvst.status_pedido, pvst.id_operacoes, pvst.cli_nome_tratado, pcp.oficina_i_as, pvst.coordenado, pvst.cod_ref, pvst.qtd_produzida, pvst.qtd_faturada, pvst.cli_pedido, pvst.prod_descricao, pvst.status_sku_cli, pvst.tp_pedido, pvst.prod_cor, pvst.tch_sala, prot_p.prot_perda_tecido_montada_20, prot_p.prot_perda_costura_desmontada_20, prot_p.prot_perda_costura_sem_retorno_20, prot_p.prot_perda_costura_montada_20, prot_p.prot_perda_boa_montada_20, prot_p.prot_perda_estampa_montada_20, prot_p.prot_perda_sem_retorno_20, prot_p.prot_perda_defeito_20, apt.ult_oper, apt.arm_01, apt.arm_98, apt.arm_66, apt.arm_64, est.saldo_estoque_67_Total, est.saldo_estoque_01_Total, est.saldo_estoque_01_Tam_EPP, est.saldo_estoque_01_Tam_PP, est.saldo_estoque_01_Tam_P, est.saldo_estoque_01_Tam_M, est.saldo_estoque_01_Tam_G, est.saldo_estoque_01_Tam_GG, est.saldo_estoque_01_Tam_EG, est.saldo_estoque_01_Tam_EGG, est.saldo_estoque_01_Tam_XG, est.saldo_estoque_01_Tam_XXG, est.saldo_estoque_01_Tam_GG1, est.saldo_estoque_01_Tam_GG2, est.saldo_estoque_01_Tam_GG3, est.saldo_estoque_01_Tam_GG4, est.saldo_estoque_01_Tam_G1, est.saldo_estoque_01_Tam_G2, est.saldo_estoque_01_Tam_G3, est.saldo_estoque_01_Tam_G4, est.saldo_estoque_01_Tam_G5, saldo_estoque_64_Total, saldo_estoque_66_Total, saldo_estoque_98_Total, dl_conserto.conserto, pcp.est_pa_w, pcp.dificuldade_x, dl.update_date as dl_update_date, pvst.update_date as pvst_update_date, max(dl.tipo_apto), pcp.dt_prev_receb, MAX(if(dl.modo_trabalho="C",(dl.data_leitura),"")) as conserto_dt_ret, fat.dt_fat FROM pot_dispositivos_leituras AS dl LEFT JOIN pot_dispositivos AS d ON dl.dispositivo_id = d.id LEFT JOIN pot_estagios AS e ON dl.estagio_id = e.estagio_id LEFT JOIN (SELECT op, max(cod_operacao) as ult_oper, SUM(IF(cod_operacao = 5, quantidade, 0)) AS apto_05, SUM(IF(cod_operacao = 7, quantidade, 0)) AS apto_07, SUM(IF(cod_operacao = 10, quantidade, 0)) AS apto_10, SUM(IF(cod_operacao = 15, quantidade, 0)) AS apto_15, SUM(IF(cod_operacao = 20, quantidade, 0)) AS apto_20, SUM(IF(cod_operacao = 25, quantidade, 0)) AS apto_25, MIN(IF(cod_operacao = 05, data_apontamento, null)) as dti_apto_05, MAX(IF(cod_operacao = 05, data_apontamento, null)) as dtf_apto_05, MIN(IF(cod_operacao = 07, data_apontamento, null)) as dti_apto_07, MAX(IF(cod_operacao = 07, data_apontamento, null)) as dtf_apto_07, MIN(IF(cod_operacao = 10, data_apontamento, null)) as dti_apto_10, MAX(IF(cod_operacao = 10, data_apontamento, null)) as dtf_apto_10, MIN(IF(cod_operacao = 20, data_apontamento, null)) as dti_apto_20, MAX(IF(cod_operacao = 20, data_apontamento, null)) as dtf_apto_20, MIN(IF(cod_operacao = 25, data_apontamento, null)) as dti_apto_25, MAX(IF(cod_operacao = 25, data_apontamento, null)) as dtf_apto_25, SUM(IF(armazem=98 and cod_operacao = 25, quantidade,0)) as arm_98, SUM(IF(armazem=01 and cod_operacao = 25, quantidade,0)) as arm_01, SUM(IF(armazem=64 and cod_operacao = 25, quantidade,0)) as arm_64, SUM(IF(armazem=66 and cod_operacao = 25, quantidade,0)) as arm_66, SUM(IF(armazem=01 and cod_operacao = 10, quantidade,0)) as arm_pi_01 FROM pot_prot_op_operacoes GROUP BY op) AS apt ON dl.op = apt.op LEFT JOIN (SELECT nf_1.op, SUM(IF(nf_1.tipo = 'Saída', nf_1.qtd_pecas, 0)) AS qtd_nf_ofic_saida, SUM(IF(nf_1.tipo = 'Entrada', nf_1.qtd_pecas, 0)) AS qtd_nf_ofic_entrada, forn.tipo_tc_forn, MIN(IF(nf_1.tipo = 'Saída', date(concat(left(data_digitacao,4),'-',right(left(data_digitacao,6),2),'-', right(data_digitacao,2))), null)) as dti_nf_ofic_Saida, MAX(IF(nf_1.tipo = 'Saída', date(concat(left(data_digitacao,4),'-',right(left(data_digitacao,6),2),'-', right(data_digitacao,2))), null)) as dtf_nf_ofic_Saida, MIN(IF(nf_1.tipo = 'Entrada', date(concat(left(data_digitacao,4),'-',right(left(data_digitacao,6),2),'-', right(data_digitacao,2))), null)) as dti_nf_ofic_Entrada, MAX(IF(nf_1.tipo = 'Entrada', date(concat(left(data_digitacao,4),'-',right(left(data_digitacao,6),2),'-', right(data_digitacao,2))), null)) as dtf_nf_ofic_Entrada FROM pot_prot_nf_oficinas AS nf_1 LEFT JOIN pot_flow_fornecedor AS forn ON forn.cnpj = nf_1.cnpj WHERE forn.tipo_tc_forn = '1-OFICINA' AND forn.status_fornecedor != '1 - BLOQUEADO' GROUP BY NF_1.OP , forn.tipo_tc_forn) AS nf ON dl.op = nf.op LEFT JOIN (SELECT nf_2.op, SUM(IF(nf_2.tipo = 'Saída', nf_2.qtd_pecas, 0)) AS qtd_nf_silk_saida, SUM(IF(nf_2.tipo = 'Entrada', nf_2.qtd_pecas, 0)) AS qtd_nf_silk_entrada, forn_1.tipo_tc_forn, MIN(IF(nf_2.tipo = 'Saída', date(concat(left(data_digitacao,4),'-',right(left(data_digitacao,6),2),'-', right(data_digitacao,2))), null)) as dti_nf_silk_Saida, MAX(IF(nf_2.tipo = 'Saída', date(concat(left(data_digitacao,4),'-',right(left(data_digitacao,6),2),'-', right(data_digitacao,2))), null)) as dtf_nf_silk_Saida, MIN(IF(nf_2.tipo = 'Entrada', date(concat(left(data_digitacao,4),'-',right(left(data_digitacao,6),2),'-', right(data_digitacao,2))), null)) as dti_nf_silk_Entrada, MAX(IF(nf_2.tipo = 'Entrada', date(concat(left(data_digitacao,4),'-',right(left(data_digitacao,6),2),'-', right(data_digitacao,2))), null)) as dtf_nf_silk_Entrada FROM pot_prot_nf_oficinas AS nf_2 LEFT JOIN pot_flow_fornecedor AS forn_1 ON forn_1.cnpj = nf_2.cnpj WHERE forn_1.tipo_tc_forn = '4-BENEF SILK' AND forn_1.status_fornecedor != '1 - BLOQUEADO' GROUP BY NF_2.OP , forn_1.tipo_tc_forn) AS nf_3 ON dl.op = nf_3.op LEFT JOIN (SELECT op, SUM(IF(cod_motivo = 'TM' and cod_motivo = 'TD' and cod_operacao = 25, quantidade, 0)) AS prot_perda_tecido_montada_e_Desmontada, SUM(IF(cod_motivo = 'CD' and cod_operacao = 25, quantidade, 0)) AS prot_perda_costura_desmontada, SUM(IF(cod_motivo = 'CS' and cod_operacao = 25, quantidade, 0)) AS prot_perda_costura_sem_retorno, SUM(IF(cod_motivo = 'CM' and cod_operacao = 25, quantidade, 0)) AS prot_perda_costura_montada, SUM(IF(cod_motivo = 'BM' and cod_operacao = 25, quantidade, 0)) AS prot_perda_boa_montada, SUM(IF(cod_motivo = 'EM' and cod_operacao = 25, quantidade, 0)) AS prot_perda_estampa_montada, SUM(IF(cod_motivo = 'SR' and cod_operacao = 25, quantidade, 0)) AS prot_perda_sem_retorno, SUM(IF(cod_motivo = 'DF' and cod_operacao = 25, quantidade, 0)) AS prot_perda_defeito, SUM(IF(cod_motivo = 'TM' and cod_operacao = 20, quantidade, 0)) AS prot_perda_tecido_montada_20, SUM(IF(cod_motivo = 'CD' and cod_operacao = 20, quantidade, 0)) AS prot_perda_costura_desmontada_20, SUM(IF(cod_motivo = 'CS' and cod_operacao = 20, quantidade, 0)) AS prot_perda_costura_sem_retorno_20, SUM(IF(cod_motivo = 'CM' and cod_operacao = 20, quantidade, 0)) AS prot_perda_costura_montada_20, SUM(IF(cod_motivo = 'BM' and cod_operacao = 20, quantidade, 0)) AS prot_perda_boa_montada_20, SUM(IF(cod_motivo = 'EM' and cod_operacao = 20, quantidade, 0)) AS prot_perda_estampa_montada_20, SUM(IF(cod_motivo = 'SR' and cod_operacao = 20, quantidade, 0)) AS prot_perda_sem_retorno_20, SUM(IF(cod_motivo = 'DF' and cod_operacao = 20, quantidade, 0)) AS prot_perda_defeito_20 FROM pot_prot_op_operacoes_perdas GROUP BY op) AS prot_p ON dl.op = prot_p.op LEFT JOIN (SELECT p.update_date, p.pv_numero, p.op, MIN(p.status_op) as status_op, MIN(p.status_pedido) as status_pedido, p.data_entrega, p.op_data_emissao, p.id_operacoes, c.semana_renner, p.cli_nome_tratado, p.coordenado, p.cod_ref, p.cli_pedido, sum(p.qtd_produzida) as qtd_produzida, sum(p.qtd_faturada) as qtd_faturada, p.prod_descricao, count(p.sku_cliente is not null) = count(p.sku_cliente) as status_sku_cli, p.tp_pedido, p.prod_cor, p.tch_sala, p.data_agendamento, p.status_inspecao, p.hora_agendamento, p.data_agendamento_cliente, sum(ped_qtd) as ped_qtd FROM pot_prot_ped_totvs_cliente as p LEFT JOIN pot_calendario as c ON p.data_entrega = c.data GROUP BY p.pv_numero) AS pvst ON dl.pv = pvst.pv_numero LEFT JOIN (SELECT e.op, sum(if(ed.tipo = 'checkin', qtd_pecas, 0)) AS fs_ci, sum(if(ed.tipo = 'checkout', qtd_pecas, 0)) AS fs_co, sum(if(ed.tipo = 'perda', qtd_pecas, 0)) AS fs_perda, MIN(IF(evento = 1, e.create_date, null)) AS dti_checking_fs, MAX(IF(evento = 2, e.create_date, null)) as dtf_checkout_fs FROM pot_fs_eventos as e LEFT JOIN pot_fs_eventos_descricao AS ed ON e.evento = ed.id WHERE e.cancelado=0 GROUP BY e.op) AS ap_fs ON dl.op = ap_fs.op LEFT JOIN (SELECT ped_totus_j, data_corte_an, data_de_envio_oficina_i_av, inicio_costura_bd, termino_costura_be, (DATE_ADD(DATE_FORMAT(STR_TO_DATE(termino_costura_be, '%d/%m/%Y'),'%Y-%m-%d'), INTERVAL (IF(DAYOFWEEK(DATE_FORMAT(STR_TO_DATE(termino_costura_be, '%d/%m/%Y'),'%Y-%m-%d')) = 5 OR DAYOFWEEK(DATE_FORMAT(STR_TO_DATE(termino_costura_be, '%d/%m/%Y'),'%Y-%m-%d')) = 6, 4, IF(DAYOFWEEK(DATE_FORMAT(STR_TO_DATE(termino_costura_be, '%d/%m/%Y'),'%Y-%m-%d')) = 7, 3, 2))) DAY)) as dt_prev_receb, oficina_i_as, dificuldade_x, est_pa_w FROM pot_producao_v_planilhao where ped_cancelado = 0) as pcp ON dl.pv = pcp.ped_totus_j LEFT JOIN (SELECT ped_totvs, MAX(data_emissao) as dt_fat FROM pot_prot_nf_faturamento GROUP BY ped_totvs) as fat ON dl.pv = fat.ped_totvs LEFT JOIN( Select op, sum(IF(tipo_peca = 'PNR',qtd,0)) as conserto from pot_dispositivos_leituras where dispositivo_id = 1 and cancelado = 0 and modo_trabalho = "C" group by op) as dl_conserto ON dl.op = dl_conserto.op Left join (Select produto_codigo, Sum(saldo_estoque) as saldo_estoque, Sum(if(armazem=01,saldo_estoque,0)) as saldo_estoque_01_Total, Sum(if(armazem=01 and right(produto_codigo,2) = 37,saldo_estoque,0)) as saldo_estoque_01_Tam_EPP, Sum(if(armazem=01 and right(produto_codigo,2) = 11,saldo_estoque,0)) as saldo_estoque_01_Tam_PP, Sum(if(armazem=01 and right(produto_codigo,2) = 13,saldo_estoque,0)) as saldo_estoque_01_Tam_P, Sum(if(armazem=01 and right(produto_codigo,2) = 15,saldo_estoque,0)) as saldo_estoque_01_Tam_M, Sum(if(armazem=01 and right(produto_codigo,2) = 17,saldo_estoque,0)) as saldo_estoque_01_Tam_G, Sum(if(armazem=01 and right(produto_codigo,2) = 19,saldo_estoque,0)) as saldo_estoque_01_Tam_GG, Sum(if(armazem=01 and right(produto_codigo,2) = 21,saldo_estoque,0)) as saldo_estoque_01_Tam_EG, Sum(if(armazem=01 and right(produto_codigo,2) = 23,saldo_estoque,0)) as saldo_estoque_01_Tam_EGG, Sum(if(armazem=01 and right(produto_codigo,2) = 25,saldo_estoque,0)) as saldo_estoque_01_Tam_XG, Sum(if(armazem=01 and right(produto_codigo,2) = 27,saldo_estoque,0)) as saldo_estoque_01_Tam_XXG, Sum(if(armazem=01 and right(produto_codigo,2) = 29,saldo_estoque,0)) as saldo_estoque_01_Tam_GG1, Sum(if(armazem=01 and right(produto_codigo,2) = 31,saldo_estoque,0)) as saldo_estoque_01_Tam_GG2, Sum(if(armazem=01 and right(produto_codigo,2) = 33,saldo_estoque,0)) as saldo_estoque_01_Tam_GG3, Sum(if(armazem=01 and right(produto_codigo,2) = 35,saldo_estoque,0)) as saldo_estoque_01_Tam_GG4, Sum(if(armazem=01 and right(produto_codigo,2) = 38,saldo_estoque,0)) as saldo_estoque_01_Tam_G1, Sum(if(armazem=01 and right(produto_codigo,2) = 39,saldo_estoque,0)) as saldo_estoque_01_Tam_G2, Sum(if(armazem=01 and right(produto_codigo,2) = 40,saldo_estoque,0)) as saldo_estoque_01_Tam_G3, Sum(if(armazem=01 and right(produto_codigo,2) = 41,saldo_estoque,0)) as saldo_estoque_01_Tam_G4, Sum(if(armazem=01 and right(produto_codigo,2) = 42,saldo_estoque,0)) as saldo_estoque_01_Tam_G5, Sum(if(armazem=64,saldo_estoque,0)) as saldo_estoque_64_Total, Sum(if(armazem=66,saldo_estoque,0)) as saldo_estoque_66_Total, Sum(if(armazem=67,saldo_estoque,0)) as saldo_estoque_67_Total, Sum(if(armazem=98,saldo_estoque,0)) as saldo_estoque_98_Total FROM pot_prot_estoque where saldo_estoque != "0.0" group by left(produto_codigo,13)) as est ON dl.prod_sku = est.produto_codigo WHERE dl.cancelado = 0 AND usuario_id != 39 AND dispositivo_id <> 99 AND dl.pv > 0 AND dl.pv IN (SELECT pv.pv_numero FROM pot_prot_ped_totvs_cliente AS pv WHERE pv.tp_pedido in ("P","V") AND status_pedido != "Pedido Cancelado" AND pv.data_entrega > (SELECT DATE_SUB((select subdate(curdate(), WEEKDAY(curdate()) + 1)), INTERVAL 7 DAY)) ) GROUP BY dl.pv, dl.op, dl.dispositivo_id ORDER BY pvst.data_entrega ASC, pvst.cli_nome_tratado ASC, pvst.coordenado, pvst.cli_pedido, pvst.cod_ref, pvst.op DESC, pcp.data_corte_an ;
Stuck with a problem? Got Error? Ask ChatGPT!
Copy Clear