IO-1176 Duplicate job inversion.

This commit is contained in:
Patrick Fic
2021-05-31 14:19:15 -07:00
parent b5e9e75751
commit 51292f50dc
2 changed files with 239 additions and 24 deletions

View File

@@ -1,10 +1,7 @@
import Axios from "axios";
import _ from "lodash";
import { logImEXEvent } from "../../firebase/firebase.utils";
import {
INSERT_NEW_JOB,
QUERY_ALL_JOB_FIELDS,
} from "../../graphql/jobs.queries";
import { INSERT_NEW_JOB, QUERY_JOB_FOR_DUPE } from "../../graphql/jobs.queries";
export default async function DuplicateJob(
apolloClient,
@@ -18,33 +15,21 @@ export default async function DuplicateJob(
const { defaultOpenStatus } = config;
//get a list of all fields on the job
const res = await apolloClient.query({
query: QUERY_ALL_JOB_FIELDS,
query: QUERY_JOB_FOR_DUPE,
variables: { id: jobId },
});
console.log("res", res);
const { jobs_by_pk: existingJob } = res.data;
const { jobs_by_pk } = res.data;
const existingJob = _.cloneDeep(jobs_by_pk);
delete existingJob.__typename;
delete existingJob.id;
delete existingJob.createdat;
delete existingJob.updatedat;
const newJob = {
date_estimated: new Date(),
shopid: existingJob.shopid,
...existingJob,
status: defaultOpenStatus,
ownerid: existingJob.ownerid,
ownr_fn: existingJob.ownr_fn,
ownr_ln: existingJob.ownr_ln,
ownr_co_nm: existingJob.ownr_co_nm,
ownr_addr1: existingJob.ownr_addr1,
ownr_addr2: existingJob.ownr_addr2,
ownr_st: existingJob.ownr_st,
ownr_zip: existingJob.ownr_zip,
ownr_ctry: existingJob.ownr_ctry,
ownr_ph1: existingJob.ownr_ph1,
vehicleid: existingJob.vehicleid,
v_vin: existingJob.v_vin,
v_make_desc: existingJob.v_make_desc,
v_model_desc: existingJob.v_model_desc,
v_model_yr: existingJob.v_model_yr,
};
const _tempLines = _.cloneDeep(existingJob.joblines);

View File

@@ -1056,6 +1056,236 @@ export const SEARCH_FOR_JOBS = gql`
}
`;
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
}
driveable
towin
}
}
`;
export const QUERY_ALL_JOB_FIELDS = gql`
query QUERY_ALL_JOB_FIELDS($id: uuid!) {
jobs_by_pk(id: $id) {