import { gql } from "@apollo/client"; export const QUERY_ALL_ACTIVE_JOBS_PAGINATED = gql` query QUERY_ALL_ACTIVE_JOBS_PAGINATED( $offset: Int $limit: Int $order: [jobs_order_by!] $statuses: [String!]! $isConverted: Boolean ) { jobs( offset: $offset limit: $limit where: { status: { _in: $statuses }, converted: { _eq: $isConverted } } order_by: $order ) { iouparent ownr_fn ownr_ln ownr_co_nm ownr_ph1 ownr_ph2 ownr_ea ownerid comment plate_no plate_st v_vin v_model_yr v_model_desc v_make_desc v_color vehicleid actual_completion actual_delivery actual_in production_vars id ins_co_nm clm_no po_number clm_total owner_owing ro_number scheduled_completion scheduled_in scheduled_delivery status updated_at ded_amt suspended est_ct_fn est_ct_ln } jobs_aggregate(where: { status: { _in: $statuses } }) { aggregate { count(distinct: true) } } } `; export const QUERY_ALL_ACTIVE_JOBS = gql` query QUERY_ALL_ACTIVE_JOBS($statuses: [String!]!, $isConverted: Boolean) { jobs(where: { status: { _in: $statuses }, converted: { _eq: $isConverted } }, order_by: { created_at: desc }) { iouparent ownr_fn ownr_ln ownr_co_nm ownr_ph1 ownr_ph2 ownr_ea ownerid comment plate_no plate_st v_vin v_model_yr v_model_desc v_make_desc v_color vehicleid actual_completion actual_delivery actual_in production_vars id ins_co_nm clm_no po_number clm_total owner_owing ro_number scheduled_completion scheduled_in scheduled_delivery status updated_at ded_amt suspended est_ct_fn est_ct_ln } } `; export const QUERY_PARTS_QUEUE = gql` query QUERY_PARTS_QUEUE($statuses: [String!]!, $offset: Int, $limit: Int) { jobs_aggregate(where: { _and: [{ status: { _in: $statuses } }] }) { aggregate { count(distinct: true) } } jobs( where: { _and: [{ status: { _in: $statuses }, converted: { _eq: true } }] } offset: $offset limit: $limit order_by: { ro_number: desc } ) { ownr_fn ownr_ln ownr_co_nm ownr_ph1 ownr_ph2 ownr_ea plate_no plate_st v_vin v_model_yr v_model_desc v_make_desc v_color vehicleid scheduled_in scheduled_completion id ins_co_nm clm_no ro_number status updated_at vehicleid ownerid queued_for_parts comment joblines_status { count part_type status } } } `; export const QUERY_EXACT_JOB_IN_PRODUCTION = gql` query QUERY_EXACT_JOB_IN_PRODUCTION($id: uuid!) { jobs(where: { id: { _eq: $id } }) { id iouparent status ro_number comment ownr_fn ownr_ln category ownr_co_nm v_model_yr v_model_desc clm_no v_make_desc v_color plate_no actual_in scheduled_completion scheduled_delivery date_last_contacted date_next_contact ins_co_nm clm_total ownr_ph1 ownr_ph2 special_coverage_policy owner_owing production_vars kanbanparent alt_transport employee_body employee_refinish employee_prep employee_csr date_repairstarted joblines_status { part_type status count } labhrs: joblines_aggregate(where: { _and: [{ mod_lbr_ty: { _neq: "LAR" } }, { removed: { _eq: false } }] }) { aggregate { sum { mod_lb_hrs } } } larhrs: joblines_aggregate(where: { _and: [{ mod_lbr_ty: { _eq: "LAR" } }, { removed: { _eq: false } }] }) { aggregate { sum { mod_lb_hrs } } } subletLines: joblines( where: { _and: { part_type: { _in: ["PAS", "PASL"] }, removed: { _eq: false } } } order_by: { line_no: asc } ) { id line_desc sublet_ignored sublet_completed jobid } } } `; export const QUERY_EXACT_JOBS_IN_PRODUCTION = gql` query QUERY_EXACT_JOBS_IN_PRODUCTION($ids: [uuid!]!) { jobs(where: { id: { _in: $ids } }) { id iouparent status ro_number comment ownr_fn category ownr_ln ownr_co_nm v_model_yr v_model_desc clm_no v_make_desc v_color plate_no actual_in scheduled_completion scheduled_delivery date_last_contacted date_next_contact ins_co_nm clm_total ownr_ph1 ownr_ph2 special_coverage_policy owner_owing production_vars kanbanparent alt_transport employee_body employee_refinish employee_prep employee_csr date_repairstarted joblines_status { part_type status count } labhrs: joblines_aggregate(where: { _and: [{ mod_lbr_ty: { _neq: "LAR" } }, { removed: { _eq: false } }] }) { aggregate { sum { mod_lb_hrs } } } larhrs: joblines_aggregate(where: { _and: [{ mod_lbr_ty: { _eq: "LAR" } }, { removed: { _eq: false } }] }) { aggregate { sum { mod_lb_hrs } } } subletLines: joblines( where: { _and: { part_type: { _in: ["PAS", "PASL"] }, removed: { _eq: false } } } order_by: { line_no: asc } ) { id line_desc sublet_ignored sublet_completed jobid } } } `; export const QUERY_LBR_HRS_BY_PK = gql` query QUERY_LBR_HRS_BY_PK($id: uuid!) { jobs_by_pk(id: $id) { id ro_number labhrs: joblines_aggregate(where: { _and: [{ mod_lbr_ty: { _neq: "LAR" } }, { removed: { _eq: false } }] }) { aggregate { sum { mod_lb_hrs } } } larhrs: joblines_aggregate(where: { _and: [{ mod_lbr_ty: { _eq: "LAR" } }, { removed: { _eq: false } }] }) { aggregate { sum { mod_lb_hrs } } } } } `; export const QUERY_JOB_COSTING_DETAILS = gql` query QUERY_JOB_COSTING_DETAILS($id: uuid!) { jobs_by_pk(id: $id) { ro_number clm_total id ded_amt ded_status depreciation_taxes other_amount_payable towing_payable storage_payable adjustment_bottom_line federal_tax_rate state_tax_rate local_tax_rate tax_tow_rt tax_str_rt tax_paint_mat_rt tax_sub_rt tax_lbr_rt tax_levies_rt parts_tax_rates job_totals labor_rate_desc rate_la1 rate_la2 rate_la3 rate_la4 rate_laa rate_lab rate_lad rate_lae rate_laf rate_lag rate_lam rate_lar rate_las rate_lau rate_ma2s rate_ma2t rate_ma3s rate_mabl rate_macs rate_mahw rate_mapa rate_mash rate_matd actual_in status ca_bc_pvrt ca_customer_gst joblines(where: { removed: { _eq: false } }) { id unq_seq line_ind tax_part line_desc prt_dsmk_p prt_dsmk_m part_type oem_partno db_price act_price part_qty mod_lbr_ty db_hrs mod_lb_hrs lbr_op lbr_amt op_code_desc } bills { id federal_tax_rate local_tax_rate state_tax_rate is_credit_memo billlines { actual_cost cost_center id quantity } } timetickets { id rate cost_center actualhrs productivehrs flat_rate } } } `; export const GET_JOB_BY_PK = gql` query GET_JOB_BY_PK($id: uuid!) { jobs_by_pk(id: $id) { tasks_aggregate(where: { completed: { _eq: false }, deleted: { _eq: false } }) { aggregate { count } } actual_completion actual_delivery actual_in adjustment_bottom_line alt_transport area_of_damage auto_add_ats available_jobs { id } ca_bc_pvrt ca_customer_gst ca_gst_registrant category cccontracts { agreementnumber courtesycar { fleetnumber id make model plate year } id start status scheduledreturn } cieca_pfl cieca_pfo cieca_pft cieca_ttl class clm_no clm_total comment converted csiinvites { completedon id } date_estimated date_exported date_invoiced date_last_contacted date_lost_sale date_next_contact date_open date_rentalresp date_repairstarted date_scheduled date_towin date_void ded_amt ded_note ded_status deliverchecklist depreciation_taxes driveable employee_body employee_body_rel { id first_name last_name } employee_csr employee_csr_rel { id first_name last_name } employee_prep employee_prep_rel { id first_name last_name } employee_refinish employee_refinish_rel { id first_name last_name } est_co_nm est_ct_fn est_ct_ln est_ea est_ph1 federal_tax_rate id inproduction ins_addr1 ins_city ins_co_id ins_co_nm ins_ct_fn ins_ct_ln ins_ea ins_ph1 intakechecklist invoice_final_note iouparent job_totals joblines(where: { removed: { _eq: false } }, order_by: { line_no: asc }) { act_price act_price_before_ppc ah_detail_line alt_partm alt_partno assigned_team billlines(limit: 1, order_by: { bill: { date: desc } }) { actual_cost actual_price bill { id invoice_number vendor { id name } } id joblineid quantity } convertedtolbr critical db_hrs db_price db_ref id ioucreated lbr_amt lbr_op line_desc line_ind line_no line_ref location manual_line mod_lb_hrs mod_lbr_ty notes oem_partno op_code_desc parts_dispatch_lines(limit: 1, order_by: { accepted_at: desc }) { accepted_at id parts_dispatch { employeeid id } } part_qty part_type prt_dsmk_m prt_dsmk_p status tax_part unq_seq } kmin kmout labor_rate_desc lbr_adjustments local_tax_rate loss_date loss_desc loss_of_use lost_sale_reason materials other_amount_payable owner { id note ownr_addr1 ownr_addr2 ownr_city ownr_co_nm ownr_ctry ownr_ea ownr_fn ownr_ln ownr_ph1 ownr_ph2 ownr_st ownr_zip tax_number } ownerid owner_owing ownr_addr1 ownr_addr2 ownr_city ownr_co_nm ownr_ctry ownr_ea ownr_fn ownr_ln ownr_ph1 ownr_ph2 ownr_st ownr_zip parts_tax_rates payments { amount created_at date exportedat id jobid memo payer paymentnum transactionid type } plate_no plate_st po_number policy_no production_vars rate_ats rate_la1 rate_la2 rate_la3 rate_la4 rate_laa rate_lab rate_lad rate_lae rate_laf rate_lag rate_lam rate_lar rate_las rate_lau rate_ma2s rate_ma2t rate_ma3s rate_mabl rate_macs rate_mahw rate_mapa rate_mash rate_matd referral_source referral_source_extra regie_number remove_from_ar ro_number scheduled_completion scheduled_delivery scheduled_in selling_dealer selling_dealer_contact servicing_dealer servicing_dealer_contact special_coverage_policy state_tax_rate status storage_payable suspended tax_lbr_rt tax_levies_rt tax_paint_mat_rt tax_registration_number tax_shop_mat_rt tax_str_rt tax_sub_rt tax_tow_rt tlos_ind towin towing_payable unit_number updated_at v_color v_make_desc v_model_yr v_model_desc v_vin vehicle { id jobs { clm_no id ro_number status } notes plate_no plate_st v_color v_make_desc v_model_yr v_model_desc v_paint_codes v_vin } vehicleid voided } } `; export const GET_JOB_RECONCILIATION_BY_PK = gql` query GET_JOB_RECONCILIATION_BY_PK($id: uuid!) { bills(where: { jobid: { _eq: $id } }) { id vendorid vendor { id name } total invoice_number date federal_tax_rate state_tax_rate local_tax_rate is_credit_memo isinhouse exported billlines(where: { deductedfromlbr: { _eq: false } }) { actual_price quantity actual_cost cost_center id joblineid line_desc applicable_taxes deductedfromlbr jobline { id removed } } } jobs_by_pk(id: $id) { id joblines(order_by: { line_no: asc }) { id removed line_no unq_seq line_ind line_desc part_type oem_partno db_price act_price part_qty mod_lbr_ty db_hrs mod_lb_hrs lbr_op lbr_amt op_code_desc status notes location tax_part db_ref manual_line misc_amt } } } `; export const QUERY_JOB_CARD_DETAILS = gql` query QUERY_JOB_CARD_DETAILS($id: uuid!) { jobs_by_pk(id: $id) { ownr_fn employee_body employee_refinish alt_transport inproduction production_vars ownr_ln ownr_co_nm ownr_ph1 ownr_ph2 comment ownr_ea ca_gst_registrant owner_owing special_coverage_policy suspended lbr_adjustments available_jobs { id } joblines_status { part_type count status } joblines(where: { removed: { _eq: false } }, order_by: { line_no: asc }) { id alt_partm line_no unq_seq line_ind line_desc line_ref part_type part_qty mod_lbr_ty db_hrs mod_lb_hrs lbr_op lbr_amt op_code_desc status notes location tax_part db_ref manual_line prt_dsmk_p prt_dsmk_m ioucreated convertedtolbr critical parts_dispatch_lines { id accepted_at quantity parts_dispatch { id employeeid dispatched_at dispatched_by number } } } owner { id allow_text_message preferred_contact tax_number } vehicleid v_model_yr v_make_desc v_model_desc v_color v_vin plate_st plate_no vehicle { id v_model_yr v_make_desc v_model_desc v_color plate_no notes jobs { id clm_no ro_number } } actual_completion actual_delivery actual_in scheduled_in po_number id ins_co_nm ins_ct_fn ins_ct_ln ins_ph1 ins_ea est_co_nm est_ph1 est_ea est_ct_fn est_ct_ln clm_no status job_totals area_of_damage ro_number scheduled_completion scheduled_in scheduled_delivery date_invoiced date_last_contacted date_next_contact date_open date_exported date_repairstarted date_scheduled date_estimated employee_body_rel { id first_name last_name } employee_refinish_rel { id first_name last_name } employee_prep_rel { id first_name last_name } employee_csr_rel { id first_name last_name } notes { id text critical private created_at } updated_at clm_total ded_amt voided cccontracts { id agreementnumber status start scheduledreturn courtesycar { id make model year plate fleetnumber } } documents(limit: 3, order_by: { created_at: desc }) { id key type } } } `; export const QUERY_TECH_JOB_DETAILS = gql` query QUERY_TECH_JOB_DETAILS($id: uuid!) { jobs_by_pk(id: $id) { ownr_fn ownr_ln v_model_yr v_make_desc v_model_desc v_color plate_no actual_completion actual_delivery actual_in id ins_co_nm clm_no status job_totals area_of_damage ro_number scheduled_completion scheduled_in scheduled_delivery date_invoiced date_last_contacted date_next_contact date_open date_exported voided date_scheduled date_estimated employee_body employee_refinish employee_prep joblines(where: { removed: { _eq: false } }) { id unq_seq line_ind tax_part line_desc prt_dsmk_p prt_dsmk_m part_type oem_partno db_price act_price part_qty mod_lbr_ty db_hrs mod_lb_hrs lbr_op lbr_amt op_code_desc } notes { id text critical private created_at } updated_at documents(order_by: { created_at: desc }) { id key size type } } } `; export const UPDATE_JOB = gql` mutation UPDATE_JOB($jobId: uuid!, $job: jobs_set_input!) { update_jobs(where: { id: { _eq: $jobId } }, _set: $job) { returning { id comment date_exported status alt_transport ro_number production_vars lbr_adjustments suspended queued_for_parts scheduled_completion scheduled_delivery actual_in date_repairstarted date_void date_lost_sale } } } `; export const JOB_PRODUCTION_TOGGLE = gql` mutation UPDATE_JOB($jobId: uuid!, $job: jobs_set_input!) { update_jobs(where: { id: { _eq: $jobId } }, _set: $job) { returning { id status inproduction actual_completion scheduled_delivery actual_delivery scheduled_completion } } } `; export const UPDATE_JOB_ASSIGNMENTS = gql` mutation UPDATE_JOB_ASSIGNMENTS($jobId: uuid!, $job: jobs_set_input!) { update_jobs(where: { id: { _eq: $jobId } }, _set: $job) { returning { id employee_body_rel { id first_name last_name } employee_refinish_rel { id first_name last_name } employee_prep_rel { id first_name last_name } employee_csr_rel { id first_name last_name } employee_csr employee_body employee_prep } } } `; export const VOID_JOB = gql` mutation VOID_JOB($jobId: uuid!, $job: jobs_set_input!, $note: [notes_insert_input!]!) { update_jobs_by_pk(_set: $job, pk_columns: { id: $jobId }) { id date_exported date_void status alt_transport ro_number production_vars lbr_adjustments } insert_notes(objects: $note) { affected_rows } update_appointments(where: { jobid: { _eq: $jobId } }, _set: { canceled: true }) { returning { id canceled } } } `; export const UPDATE_JOBS = gql` mutation UPDATE_JOBS($jobIds: [uuid!]!, $fields: jobs_set_input!) { update_jobs(where: { id: { _in: $jobIds } }, _set: $fields) { returning { id date_exported status } } } `; export const CONVERT_JOB_TO_RO = gql` mutation CONVERT_JOB_TO_RO($jobId: uuid!, $job: jobs_set_input!) { update_jobs(where: { id: { _eq: $jobId } }, _set: $job) { returning { id ro_number converted class ins_co_nm referral_source referral_source_extra employee_csr employee_csr_rel { id } } } } `; export const INSERT_NEW_JOB = gql` mutation INSERT_JOB($job: [jobs_insert_input!]!) { insert_jobs(objects: $job) { returning { id } } } `; export const GET_JOB_INFO_FOR_STRIPE = gql` query GET_JOB_INFO_FOR_STRIPE($jobid: uuid!) { jobs_by_pk(id: $jobid) { id ro_number ownr_fn ownr_ln ownr_co_nm ownr_ph1 ownr_ph2 ownr_ea } } `; export const UPDATE_JOB_STATUS = gql` mutation UPDATE_JOB_STATUS($jobId: uuid!, $status: String!) { update_jobs(where: { id: { _eq: $jobId } }, _set: { status: $status }) { returning { id status inproduction } } } `; export const ACTIVE_JOBS_FOR_AUTOCOMPLETE = gql` query ACTIVE_JOBS_FOR_AUTOCOMPLETE($statuses: [String!]!) { jobs(where: { status: { _in: $statuses } }) { id ownr_co_nm ownr_fn ownr_ln ro_number vehicleid v_make_desc v_model_desc v_model_yr } } `; export const SEARCH_JOBS_FOR_AUTOCOMPLETE = gql` query SEARCH_JOBS_FOR_AUTOCOMPLETE( $search: String $isConverted: Boolean $notExported: Boolean $notInvoiced: Boolean ) { search_jobs( args: { search: $search } limit: 25 where: { _and: { converted: { _eq: $isConverted } date_exported: { _is_null: $notExported } date_invoiced: { _is_null: $notInvoiced } } } ) { id ownr_co_nm ownr_fn ownr_ln ro_number clm_no vehicleid v_make_desc v_model_desc v_model_yr status } } `; export const SEARCH_JOBS_BY_ID_FOR_AUTOCOMPLETE = gql` query SEARCH_JOBS_BY_ID_FOR_AUTOCOMPLETE($id: uuid!) { jobs_by_pk(id: $id) { id ownr_co_nm ownr_fn ownr_ln ro_number clm_no vehicleid v_make_desc v_model_desc v_model_yr status } } `; export const SEARCH_FOR_JOBS = gql` query SEARCH_FOR_JOBS($search: String!) { search_jobs(args: { search: $search }, limit: 25) { id ro_number ownr_co_nm ownr_fn ownr_ln } } `; export const QUERY_JOB_FOR_DUPE = gql` query QUERY_JOB_FOR_DUPE($id: uuid!) { jobs_by_pk(id: $id) { id agt_addr1 agt_addr2 agt_city agt_co_id agt_co_nm agt_ct_fn agt_ct_ln agt_ct_ph agt_ct_phx agt_ctry agt_ea agt_faxx agt_fax agt_lic_no agt_ph1 agt_ph1x agt_ph2 agt_zip agt_st agt_ph2x area_of_damage cat_no cieca_stl cieca_ttl clm_addr1 clm_addr2 clm_city clm_ct_fn clm_ct_ln clm_ct_ph clm_ct_phx clm_ctry clm_ea clm_fax clm_faxx clm_ofc_id clm_ofc_nm clm_ph1 clm_ph1x clm_ph2 clm_ph2x clm_st clm_title clm_total clm_zip cust_pr est_addr1 est_addr2 est_city est_co_nm est_ct_fn est_ct_ln est_ctry est_ea est_ph1 est_st est_zip federal_tax_rate ins_addr1 ins_addr2 ins_city ins_co_id ins_co_nm ins_ct_fn ins_ct_ln ins_ct_ph ins_ct_phx ins_ctry ins_ea ins_fax ins_faxx ins_memo ins_ph1 ins_ph1x ins_ph2 ins_ph2x ins_st ins_title ins_zip insd_addr1 insd_addr2 insd_city insd_co_nm insd_ctry insd_ea insd_fax insd_faxx insd_fn insd_ln insd_ph1 insd_ph1x insd_ph2 insd_ph2x insd_st insd_title insd_zip labor_rate_desc labor_rate_id local_tax_rate other_amount_payable owner_owing ownerid ownr_addr1 ownr_addr2 ownr_city ownr_co_nm ownr_ctry ownr_ea ownr_fax ownr_faxx ownr_fn ownr_ln ownr_ph1 ownr_ph1x ownr_ph2 ownr_ph2x ownr_st ownr_title ownr_zip parts_tax_rates plate_no plate_st po_number rate_la1 rate_la2 rate_la3 rate_la4 rate_laa rate_lab rate_lad rate_lae rate_lag rate_laf rate_lam rate_lar rate_las rate_lau rate_ma2s rate_ma2t rate_ma3s rate_mabl rate_macs rate_mahw rate_mapa rate_mash rate_matd regie_number selling_dealer selling_dealer_contact servicing_dealer servicing_dealer_contact shopid state_tax_rate tax_lbr_rt tax_levies_rt tax_paint_mat_rt tax_predis tax_prethr tax_pstthr tax_str_rt tax_sub_rt tax_thramt tax_tow_rt unit_number v_color v_make_desc v_model_desc v_model_yr v_vin vehicleid joblines(where: { removed: { _eq: false } }) { act_price alt_co_id alt_overrd alt_part_i alt_partm bett_amt alt_partno bett_pctg bett_tax bett_type cert_part db_hrs db_price db_ref est_seq glass_flag id lbr_amt lbr_hrs_j lbr_inc lbr_op lbr_op_j lbr_tax lbr_typ_j line_desc line_ind line_ref misc_amt misc_sublt misc_tax mod_lb_hrs mod_lbr_ty oem_partno op_code_desc paint_stg paint_tone part_qty part_type price_inc price_j prt_dsmk_m prt_dsmk_p status tax_part unq_seq manual_line notes line_no tran_code } driveable towin adj_g_disc adj_strdis adj_towdis ca_gst_registrant special_coverage_policy tax_registration_number tax_shop_mat_rt } } `; export const QUERY_ALL_JOB_FIELDS = gql` query QUERY_ALL_JOB_FIELDS($id: uuid!) { jobs_by_pk(id: $id) { id adj_g_disc adj_strdis adj_towdis adjustment_bottom_line agt_addr1 agt_addr2 agt_city agt_co_id agt_co_nm agt_ct_fn agt_ct_ln agt_ct_ph agt_ct_phx agt_ctry agt_ea agt_faxx agt_fax agt_lic_no agt_ph1 agt_ph1x agt_ph2 agt_zip agt_st agt_ph2x area_of_damage cat_no cieca_stl cieca_ttl clm_addr1 clm_addr2 clm_city clm_ct_fn clm_ct_ln clm_ct_ph clm_ct_phx clm_ctry clm_ea clm_fax clm_faxx clm_ofc_id clm_ofc_nm clm_ph1 clm_ph1x clm_ph2 clm_ph2x clm_st clm_title clm_total clm_zip cust_pr ded_amt ded_status depreciation_taxes est_addr1 est_addr2 est_city est_co_nm est_ct_fn est_ct_ln est_ctry est_ea est_ph1 est_st est_zip federal_tax_rate g_bett_amt ins_addr1 ins_addr2 ins_city ins_co_id ins_co_nm ins_ct_fn ins_ct_ln ins_ct_ph ins_ct_phx ins_ctry ins_ea ins_fax ins_faxx ins_memo ins_ph1 ins_ph1x ins_ph2 ins_ph2x ins_st ins_title ins_zip insd_addr1 insd_addr2 insd_city insd_co_nm insd_ctry insd_ea insd_fax insd_faxx insd_fn insd_ln insd_ph1 insd_ph1x insd_ph2 insd_ph2x insd_st insd_title insd_zip job_totals labor_rate_desc labor_rate_id local_tax_rate other_amount_payable owner_owing ownerid ownr_addr1 ownr_addr2 ownr_city ownr_co_nm ownr_ctry ownr_ea ownr_fax ownr_faxx ownr_fn ownr_ln ownr_ph1 ownr_ph1x ownr_ph2 ownr_ph2x ownr_st ownr_title ownr_zip parts_tax_rates pay_amt pay_chknm pay_type payee_nms plate_no plate_st po_number policy_no rate_la1 rate_la2 rate_la3 rate_la4 rate_laa rate_lab rate_lad rate_lae rate_lag rate_laf rate_lam rate_lar rate_las rate_lau rate_ma2s rate_ma2t rate_ma3s rate_mabl rate_macs rate_mahw rate_mapa rate_mash rate_matd referral_source referral_source_extra regie_number selling_dealer selling_dealer_contact servicing_dealer servicing_dealer_contact shopid special_coverage_policy state_tax_rate storage_payable tax_lbr_rt tax_levies_rt tax_paint_mat_rt tax_predis tax_prethr tax_pstthr tax_str_rt tax_sub_rt tax_thramt tax_tow_rt theft_ind tlos_ind towing_payable unit_number v_color v_make_desc v_model_desc v_model_yr v_vin vehicleid joblines(where: { removed: { _eq: false } }) { act_price alt_co_id alt_overrd alt_part_i alt_partm bett_amt alt_partno bett_pctg bett_tax bett_type cert_part db_hrs db_price db_ref est_seq glass_flag id lbr_amt lbr_hrs_j lbr_inc lbr_op lbr_op_j lbr_tax lbr_typ_j line_desc line_ind line_ref misc_amt misc_sublt misc_tax mod_lb_hrs mod_lbr_ty oem_partno op_code_desc paint_stg paint_tone part_qty part_type price_inc price_j prt_dsmk_m prt_dsmk_p status tax_part unq_seq manual_line } employee_body employee_refinish employee_prep driveable towin } } `; export const QUERY_ALL_JOBS_PAGINATED_STATUS_FILTERED = gql` query QUERY_ALL_JOBS_PAGINATED_STATUS_FILTERED( $offset: Int $limit: Int $order: [jobs_order_by!] $statusList: [String!] ) { jobs(offset: $offset, limit: $limit, order_by: $order, where: { status: { _in: $statusList } }) { comment ownr_fn ownr_ln ownr_co_nm ownr_ph1 ownr_ph2 plate_no plate_st v_vin v_model_yr v_model_desc v_make_desc v_color vehicleid id ins_co_nm clm_no clm_total owner_owing ro_number po_number status updated_at ded_amt } jobs_aggregate(where: { status: { _in: $statusList } }) { aggregate { count(distinct: true) } } } `; export const QUERY_JOB_CLOSE_DETAILS = gql` query QUERY_JOB_CLOSE_DETAILS($id: uuid!) { jobs_by_pk(id: $id) { ro_number invoice_allocation invoice_final_note ins_co_id dms_allocation id inproduction ded_amt ded_status depreciation_taxes other_amount_payable towing_payable storage_payable adjustment_bottom_line federal_tax_rate state_tax_rate local_tax_rate tax_tow_rt tax_str_rt tax_paint_mat_rt tax_sub_rt tax_lbr_rt tax_levies_rt parts_tax_rates job_totals rate_la1 rate_la2 rate_la3 rate_la4 rate_laa rate_lab rate_lad rate_lae rate_laf rate_lag rate_lam rate_lar rate_las rate_lau rate_ma2s rate_ma2t rate_ma3s rate_mabl rate_macs rate_mahw rate_mapa rate_mash rate_matd status date_exported date_invoiced voided scheduled_completion actual_completion scheduled_delivery actual_delivery scheduled_in date_invoiced actual_in kmin kmout qb_multiple_payers lbr_adjustments payments { amount created_at date exportedat id jobid memo payer paymentnum transactionid type } joblines(where: { removed: { _eq: false } }, order_by: { line_no: asc }) { id removed tax_part line_desc prt_dsmk_p prt_dsmk_m part_type oem_partno db_price act_price part_qty notes mod_lbr_ty db_hrs mod_lb_hrs lbr_op lbr_amt op_code_desc profitcenter_labor profitcenter_part prt_dsmk_p convertedtolbr convertedtolbr_data act_price_before_ppc sublet_ignored sublet_completed } } } `; export const generate_UPDATE_JOB_KANBAN = ( oldChildId, oldChildNewParent, movedId, movedNewParent, movedNewStatus, newChildId, newChildParent ) => { const oldChildQuery = ` updateOldChild: update_jobs(where: { id: { _eq: "${oldChildId}" } }, _set: {kanbanparent: ${oldChildNewParent ? `"${oldChildNewParent}"` : null}}) { returning { id kanbanparent } }`; const movedQuery = ` updateMovedChild: update_jobs(where: { id: { _eq: "${movedId}" } }, _set: {kanbanparent: ${movedNewParent ? `"${movedNewParent}"` : null} , status: "${movedNewStatus}"}) { returning { id status kanbanparent } }`; const newChildQuery = ` updateNewChild: update_jobs(where: { id: { _eq: "${newChildId}" } }, _set: {kanbanparent: ${newChildParent ? `"${newChildParent}"` : null}}) { returning { id kanbanparent } }`; return gql` mutation UPDATE_JOB_KANBAN { ${oldChildId ? oldChildQuery : ""} ${movedId ? movedQuery : ""} ${newChildId ? newChildQuery : ""} } `; }; export const QUERY_JOB_LBR_ADJUSTMENTS = gql` query QUERY_JOB_LBR_ADJUSTMENTS($id: uuid!) { jobs_by_pk(id: $id) { id lbr_adjustments } } `; export const DELETE_JOB = gql` mutation DELETE_JOB($id: uuid!) { delete_jobs_by_pk(id: $id) { id } } `; export const QUERY_GET_TASKS_JOB_DETAILS_BY_ID = gql` query QUERY_GET_TASKS_JOB_DETAILS_BY_ID($id: uuid!) { jobs_by_pk(id: $id) { id scheduled_delivery scheduled_completion joblines { id line_desc } bills { id vendor { name } invoice_number } parts_orders { id vendor { name } order_number } } } `; export const GET_JOB_FOR_CC_CONTRACT = gql` query GET_JOB_FOR_CC_CONTRACT($id: uuid!) { jobs_by_pk(id: $id) { id ownr_fn ownr_ln ownr_addr1 ownr_st ownr_city ownr_zip ownr_ph1 ownr_ph2 } } `; export const QUERY_JOB_CHECKLISTS = gql` query QUERY_JOB_CHECKLISTS($id: uuid!) { jobs_by_pk(id: $id) { id deliverchecklist intakechecklist ro_number scheduled_completion actual_completion scheduled_delivery actual_delivery production_vars owner { id allow_text_message } bodyshop { id intakechecklist deliverchecklist } } } `; export const FIND_JOBS_BY_CLAIM = gql` query FIND_JOBS_BY_CLAIM($claimNumbers: String!) { jobs(where: { clm_no: { _similar: $claimNumbers } }) { id clm_no ro_number actual_completion ownr_fn ownr_ln ownr_co_nm } } `; export const QUERY_JOB_EXPORT_DMS = gql` query QUERY_JOB_EXPORT_DMS($id: uuid!) { jobs_by_pk(id: $id) { id ro_number po_number clm_no job_totals ded_amt ded_status ownr_fn ownr_ln ownr_co_nm ins_co_nm kmin kmout v_make_desc v_model_yr v_model_desc area_of_damage date_exported } } `; export const QUERY_RELATED_ROS = gql` query QUERY_RELATED_ROS($jobid: uuid!) { relatedjobs(where: { _or: [{ childjob: { _eq: $jobid } }, { parentjob: { _eq: $jobid } }] }) { parentjob id parentjob_rel { id ro_number } childjob childjob_rel { id ro_number } } } `; export const INSERT_RELATED_ROS = gql` mutation INSERT_RELATED_ROS($relationship: relatedjobs_insert_input!) { insert_relatedjobs_one(object: $relationship) { parentjob id parentjob_rel { id ro_number } childjob childjob_rel { id ro_number } } } `; export const DELETE_RELATED_RO = gql` mutation DELETE_RELATED_RO($relationshipid: uuid!) { delete_relatedjobs_by_pk(id: $relationshipid) { id } } `; export const GET_JOB_LINE_ORDERS = gql` query GET_JOB_LINE_ORDERS($joblineid: uuid!) { billlines(where: { joblineid: { _eq: $joblineid } }) { actual_cost actual_price billid quantity bill { id invoice_number date vendorid vendor { id name } } } parts_dispatch_lines(where: { joblineid: { _eq: $joblineid } }) { id accepted_at quantity parts_dispatch { id employeeid dispatched_at dispatched_by number } } parts_order_lines(where: { job_line_id: { _eq: $joblineid } }) { id act_price backordered_eta backordered_on parts_order { id order_date order_number orderedby return comments vendor { id name } } } } `; export const UPDATE_REMOVE_FROM_AR = gql` mutation UPDATE_REMOVE_FROM_AR($jobId: uuid!, $remove_from_ar: Boolean!) { update_jobs_by_pk(pk_columns: { id: $jobId }, _set: { remove_from_ar: $remove_from_ar }) { id remove_from_ar } } `; export const UNVOID_JOB = gql` mutation UNVOID_JOB($jobId: uuid!, $default_imported: String!, $currentUserEmail: String!, $text: String!) { update_jobs_by_pk(pk_columns: { id: $jobId }, _set: { voided: false, status: $default_imported, date_void: null }) { id date_void voided status } insert_notes(objects: { jobid: $jobId, audit: true, created_by: $currentUserEmail, text: $text }) { returning { id } } } `; export const DELETE_INTAKE_CHECKLIST = gql` mutation DELETE_INTAKE($jobId: uuid!) { update_jobs_by_pk(pk_columns: { id: $jobId }, _set: { intakechecklist: null }) { id intakechecklist } } `; export const DELETE_DELIVERY_CHECKLIST = gql` mutation DELETE_DELIVERY($jobId: uuid!) { update_jobs_by_pk(pk_columns: { id: $jobId }, _set: { deliverchecklist: null }) { id deliverchecklist } } `; export const MARK_JOB_FOR_REEXPORT = gql` mutation MARK_JOB_FOR_REEXPORT($jobId: uuid!, $default_invoiced: String!) { update_jobs_by_pk(pk_columns: { id: $jobId }, _set: { date_exported: null, status: $default_invoiced }) { id date_exported status date_invoiced } } `; export const MARK_JOB_AS_EXPORTED = gql` mutation MARK_JOB_AS_EXPORTED($jobId: uuid!, $date_exported: timestamptz!, $default_exported: String!) { update_jobs_by_pk(pk_columns: { id: $jobId }, _set: { date_exported: $date_exported, status: $default_exported }) { id date_exported date_invoiced status } } `; export const MARK_JOB_AS_UNINVOICED = gql` mutation MARK_JOB_AS_UNINVOICED($jobId: uuid!, $default_delivered: String!) { update_jobs_by_pk( pk_columns: { id: $jobId } _set: { date_exported: null, date_invoiced: null, status: $default_delivered } ) { id date_exported date_invoiced status } } `; export const QUERY_COMPLETED_TASKS = gql` query QUERY_COMPLETED_TASKS($jobid: uuid!) { jobs_by_pk(id: $jobid) { id completed_tasks } } `; export const QUERY_JOBS_TECH_ASIGNED_TO_BY_TEAM = gql` query QUERY_JOBS_TECH_ASIGNED_TO_BY_TEAM($teamIds: [uuid!]!) { jobs(where: { inproduction: { _eq: true }, joblines: { assigned_team: { _in: $teamIds } } }) { id v_make_desc v_model_desc v_color v_vin plate_no plate_st clm_no ownr_fn ownr_ln ownr_co_nm status ro_number } } `; export const QUERY_PARTS_QUEUE_CARD_DETAILS = gql` query QUERY_JOB_CARD_DETAILS($id: uuid!) { jobs_by_pk(id: $id) { actual_completion actual_delivery actual_in alt_transport available_jobs { id } area_of_damage ca_gst_registrant cccontracts { agreementnumber courtesycar { id make model year plate fleetnumber } id scheduledreturn start status } clm_no clm_total comment date_estimated date_exported date_invoiced date_last_contacted date_next_contact date_open date_repairstarted date_scheduled ded_amt employee_body employee_body_rel { id first_name last_name } employee_csr employee_csr_rel { id first_name last_name } employee_prep employee_prep_rel { id first_name last_name } employee_refinish employee_refinish_rel { id first_name last_name } est_co_nm est_ct_fn est_ct_ln est_ea est_ph1 id ins_co_nm ins_ct_fn ins_ct_ln ins_ea ins_ph1 inproduction job_totals joblines( order_by: { line_no: asc } where: { part_type: { _in: ["PAN", "PAC", "PAR", "PAL", "PAA", "PAM", "PAP", "PAG"] }, removed: { _eq: false } } ) { act_price alt_partno db_ref id line_desc line_no location mod_lbr_ty mod_lb_hrs oem_partno part_qty part_type prt_dsmk_m status } lbr_adjustments ownr_co_nm ownr_ea ownr_fn ownr_ln ownr_ph1 ownr_ph2 owner { id allow_text_message preferred_contact tax_number } owner_owing plate_no plate_st po_number production_vars ro_number scheduled_completion scheduled_delivery scheduled_in special_coverage_policy status suspended updated_at vehicle { id jobs { id clm_no ro_number } notes plate_no v_color v_make_desc v_model_desc v_model_yr } vehicleid v_color v_make_desc v_model_desc v_model_yr v_vin voided } } `; export const SUBSCRIPTION_JOBS_IN_PRODUCTION = gql` subscription SUBSCRIPTION_JOBS_IN_PRODUCTION { jobs(where: { inproduction: { _eq: true } }) { id updated_at } } `; export const SUBSCRIPTION_JOBS_IN_PRODUCTION_VIEW = gql` subscription SUBSCRIPTION_JOBS_IN_PRODUCTION_VIEW { jobs: jobs_inproduction { id updated_at } } `; export const QUERY_JOBS_IN_PRODUCTION = gql` query QUERY_JOBS_IN_PRODUCTION { jobs(where: { inproduction: { _eq: true } }) { tasks_aggregate(where: { completed: { _eq: false }, deleted: { _eq: false } }) { aggregate { count } } id updated_at comment status category iouparent ro_number ownerid ownr_fn ownr_ln ownr_co_nm v_model_yr v_model_desc clm_no v_make_desc v_color vehicleid plate_no actual_in scheduled_completion scheduled_delivery date_last_contacted date_next_contact ins_co_nm clm_total ownr_ph1 ownr_ph2 special_coverage_policy owner_owing production_vars kanbanparent alt_transport employee_body employee_refinish employee_prep employee_csr est_ct_fn est_ct_ln suspended job_totals date_repairstarted joblines_status { part_type status count } labhrs: joblines_aggregate(where: { _and: [{ mod_lbr_ty: { _neq: "LAR" } }, { removed: { _eq: false } }] }) { aggregate { sum { mod_lb_hrs } } } larhrs: joblines_aggregate(where: { _and: [{ mod_lbr_ty: { _eq: "LAR" } }, { removed: { _eq: false } }] }) { aggregate { sum { mod_lb_hrs } } } subletLines: joblines( where: { _and: { part_type: { _in: ["PAS", "PASL"] }, removed: { _eq: false } } } order_by: { line_no: asc } ) { id line_desc sublet_ignored sublet_completed jobid } } } `;