WIP Parts Ordering
This commit is contained in:
BIN
build/icon.ico
BIN
build/icon.ico
Binary file not shown.
|
Before Width: | Height: | Size: 121 KiB |
BIN
build/icon.png
BIN
build/icon.png
Binary file not shown.
|
Before Width: | Height: | Size: 35 KiB |
@@ -35,22 +35,23 @@ export interface JobLaborRateFields {
|
|||||||
rate_la3: number;
|
rate_la3: number;
|
||||||
rate_la4: number;
|
rate_la4: number;
|
||||||
}
|
}
|
||||||
|
export interface CiecaPfl {
|
||||||
|
LAA?: DecodedPflLine;
|
||||||
|
LAB?: DecodedPflLine;
|
||||||
|
LAD?: DecodedPflLine;
|
||||||
|
LAS?: DecodedPflLine;
|
||||||
|
LAR?: DecodedPflLine;
|
||||||
|
LAE?: DecodedPflLine;
|
||||||
|
LAG?: DecodedPflLine;
|
||||||
|
LAF?: DecodedPflLine;
|
||||||
|
LAM?: DecodedPflLine;
|
||||||
|
LAU?: DecodedPflLine;
|
||||||
|
LA1?: DecodedPflLine;
|
||||||
|
LA2?: DecodedPflLine;
|
||||||
|
LA3?: DecodedPflLine;
|
||||||
|
LA4?: DecodedPflLine;
|
||||||
|
}
|
||||||
|
|
||||||
export interface DecodedPfl extends JobLaborRateFields {
|
export interface DecodedPfl extends JobLaborRateFields {
|
||||||
cieca_pfl: {
|
cieca_pfl: CiecaPfl;
|
||||||
LAA?: DecodedPflLine;
|
|
||||||
LAB?: DecodedPflLine;
|
|
||||||
LAD?: DecodedPflLine;
|
|
||||||
LAS?: DecodedPflLine;
|
|
||||||
LAR?: DecodedPflLine;
|
|
||||||
LAE?: DecodedPflLine;
|
|
||||||
LAG?: DecodedPflLine;
|
|
||||||
LAF?: DecodedPflLine;
|
|
||||||
LAM?: DecodedPflLine;
|
|
||||||
LAU?: DecodedPflLine;
|
|
||||||
LA1?: DecodedPflLine;
|
|
||||||
LA2?: DecodedPflLine;
|
|
||||||
LA3?: DecodedPflLine;
|
|
||||||
LA4?: DecodedPflLine;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
158
src/main/ems-parts-order/ems-parts-order-generate-ad1.ts
Normal file
158
src/main/ems-parts-order/ems-parts-order-generate-ad1.ts
Normal file
@@ -0,0 +1,158 @@
|
|||||||
|
import { DBFFile } from "dbffile";
|
||||||
|
import errorTypeCheck from "../../util/errorTypeCheck";
|
||||||
|
import { ad1FieldLineDescriptors } from "../util/ems-interface/fielddescriptors/ad1-field-descriptors";
|
||||||
|
import {
|
||||||
|
deleteEmsFileIfExists,
|
||||||
|
generateEmsOutFilePath,
|
||||||
|
} from "../util/ems-util";
|
||||||
|
import { EmsPartsOrder } from "./ems-parts-order-interfaces";
|
||||||
|
|
||||||
|
const EmsPartsOrderGenerateAd1File = async (
|
||||||
|
partsOrder: EmsPartsOrder,
|
||||||
|
): Promise<boolean> => {
|
||||||
|
try {
|
||||||
|
const records = [
|
||||||
|
{
|
||||||
|
INS_CO_ID: partsOrder.job.ins_co_nm,
|
||||||
|
INS_CO_NM: partsOrder.job.ins_co_nm,
|
||||||
|
INS_ADDR1: partsOrder.job.ins_addr1,
|
||||||
|
INS_ADDR2: partsOrder.job.ins_addr2,
|
||||||
|
INS_CITY: partsOrder.job.ins_city,
|
||||||
|
INS_ST: partsOrder.job.ins_st,
|
||||||
|
INS_ZIP: partsOrder.job.ins_zip,
|
||||||
|
INS_CTRY: partsOrder.job.ins_ctry,
|
||||||
|
INS_PH1: partsOrder.job.ins_ph1,
|
||||||
|
INS_PH1X: partsOrder.job.ins_ph1x,
|
||||||
|
INS_PH2: partsOrder.job.ins_ph2,
|
||||||
|
INS_PH2X: partsOrder.job.ins_ph2x,
|
||||||
|
INS_FAX: partsOrder.job.ins_fax,
|
||||||
|
INS_FAXX: partsOrder.job.ins_faxx,
|
||||||
|
INS_CT_LN: partsOrder.job.ins_ct_ln,
|
||||||
|
INS_CT_FN: partsOrder.job.ins_ct_fn,
|
||||||
|
INS_TITLE: partsOrder.job.ins_title,
|
||||||
|
INS_CT_PH: partsOrder.job.ins_ct_ph,
|
||||||
|
INS_CT_PHX: partsOrder.job.ins_ct_phx,
|
||||||
|
INS_EA: partsOrder.job.ins_ea,
|
||||||
|
INS_MEMO: partsOrder.job.ins_memo,
|
||||||
|
POLICY_NO: partsOrder.job.policy_no,
|
||||||
|
DED_AMT: partsOrder.job.ded_amt,
|
||||||
|
DED_STATUS: partsOrder.job.ded_status,
|
||||||
|
ASGN_NO: partsOrder.job.asgn_no,
|
||||||
|
ASGN_DATE: partsOrder.job.asgn_date
|
||||||
|
? new Date(partsOrder.job.asgn_date)
|
||||||
|
: null,
|
||||||
|
ASGN_TYPE: partsOrder.job.asgn_type,
|
||||||
|
CLM_NO: partsOrder.job.clm_no,
|
||||||
|
CLM_OFC_ID: partsOrder.job.clm_ofc_id,
|
||||||
|
CLM_OFC_NM: partsOrder.job.clm_ofc_nm,
|
||||||
|
CLM_ADDR1: partsOrder.job.clm_addr1,
|
||||||
|
CLM_ADDR2: partsOrder.job.clm_addr2,
|
||||||
|
CLM_CITY: partsOrder.job.clm_city,
|
||||||
|
CLM_ST: partsOrder.job.clm_st,
|
||||||
|
CLM_ZIP: partsOrder.job.clm_zip,
|
||||||
|
CLM_CTRY: partsOrder.job.clm_ctry,
|
||||||
|
CLM_PH1: partsOrder.job.clm_ph1,
|
||||||
|
CLM_PH1X: partsOrder.job.clm_ph1x,
|
||||||
|
CLM_PH2: partsOrder.job.clm_ph2,
|
||||||
|
CLM_PH2X: partsOrder.job.clm_ph2x,
|
||||||
|
CLM_FAX: partsOrder.job.clm_fax,
|
||||||
|
CLM_FAXX: partsOrder.job.clm_faxx,
|
||||||
|
CLM_CT_LN: partsOrder.job.clm_ct_ln,
|
||||||
|
CLM_CT_FN: partsOrder.job.clm_ct_fn,
|
||||||
|
CLM_TITLE: partsOrder.job.clm_title,
|
||||||
|
CLM_CT_PH: partsOrder.job.clm_ct_ph,
|
||||||
|
CLM_CT_PHX: partsOrder.job.clm_ct_phx,
|
||||||
|
CLM_EA: partsOrder.job.clm_ea,
|
||||||
|
PAYEE_NMS: partsOrder.job.payee_nms,
|
||||||
|
PAY_TYPE: partsOrder.job.pay_type,
|
||||||
|
PAY_DATE: partsOrder.job.pay_date,
|
||||||
|
PAY_CHKNM: null, // Explicitly set to null as in original code
|
||||||
|
PAY_AMT: null, // Explicitly set to null as in original code
|
||||||
|
PAY_MEMO: partsOrder.job.pay_memo,
|
||||||
|
AGT_CO_ID: partsOrder.job.agt_co_id,
|
||||||
|
AGT_CO_NM: partsOrder.job.agt_co_nm,
|
||||||
|
AGT_ADDR1: partsOrder.job.agt_addr1,
|
||||||
|
AGT_ADDR2: partsOrder.job.agt_addr2,
|
||||||
|
AGT_CITY: partsOrder.job.agt_city,
|
||||||
|
AGT_ST: partsOrder.job.agt_st,
|
||||||
|
AGT_ZIP: partsOrder.job.agt_zip,
|
||||||
|
AGT_CTRY: partsOrder.job.agt_ctry,
|
||||||
|
AGT_PH1: partsOrder.job.agt_ph1,
|
||||||
|
AGT_PH1X: partsOrder.job.agt_ph1x,
|
||||||
|
AGT_PH2: partsOrder.job.agt_ph2,
|
||||||
|
AGT_PH2X: partsOrder.job.agt_ph2x,
|
||||||
|
AGT_FAX: partsOrder.job.agt_fax,
|
||||||
|
AGT_FAXX: partsOrder.job.agt_faxx,
|
||||||
|
AGT_CT_LN: partsOrder.job.agt_ct_ln,
|
||||||
|
AGT_CT_FN: partsOrder.job.agt_ct_fn,
|
||||||
|
AGT_CT_PH: partsOrder.job.agt_ct_ph,
|
||||||
|
AGT_CT_PHX: partsOrder.job.agt_ct_phx,
|
||||||
|
AGT_EA: partsOrder.job.agt_ea,
|
||||||
|
AGT_LIC_NO: partsOrder.job.agt_lic_no,
|
||||||
|
LOSS_DATE: partsOrder.job.loss_date
|
||||||
|
? new Date(partsOrder.job.loss_date)
|
||||||
|
: null,
|
||||||
|
LOSS_CAT: null, // Explicitly set to null as in original code
|
||||||
|
LOSS_TYPE: null, // Explicitly set to null as in original code
|
||||||
|
LOSS_DESC: partsOrder.job.loss_desc,
|
||||||
|
THEFT_IND: null, // Explicitly set to null as in original code
|
||||||
|
CAT_NO: partsOrder.job.cat_no,
|
||||||
|
TLOS_IND: null, // Explicitly set to null as in original code
|
||||||
|
LOSS_MEMO: partsOrder.job.loss_memo,
|
||||||
|
CUST_PR: partsOrder.job.cust_pr,
|
||||||
|
INSD_LN: partsOrder.job.insd_ln,
|
||||||
|
INSD_FN: partsOrder.job.insd_fn,
|
||||||
|
INSD_TITLE: partsOrder.job.insd_title,
|
||||||
|
INSD_CO_NM: partsOrder.job.insd_co_nm,
|
||||||
|
INSD_ADDR1: partsOrder.job.insd_addr1,
|
||||||
|
INSD_ADDR2: partsOrder.job.insd_addr2,
|
||||||
|
INSD_CITY: partsOrder.job.insd_city,
|
||||||
|
INSD_ST: partsOrder.job.insd_st,
|
||||||
|
INSD_ZIP: partsOrder.job.insd_zip,
|
||||||
|
INSD_CTRY: partsOrder.job.insd_ctry,
|
||||||
|
INSD_PH1: partsOrder.job.insd_ph1,
|
||||||
|
INSD_PH1X: partsOrder.job.insd_ph1x,
|
||||||
|
INSD_PH2: partsOrder.job.insd_ph2,
|
||||||
|
INSD_PH2X: partsOrder.job.insd_ph2x,
|
||||||
|
INSD_FAX: partsOrder.job.insd_fax,
|
||||||
|
INSD_FAXX: partsOrder.job.insd_faxx,
|
||||||
|
INSD_EA: partsOrder.job.insd_ea,
|
||||||
|
OWNR_LN: partsOrder.job.ownr_ln,
|
||||||
|
OWNR_FN: partsOrder.job.ownr_fn,
|
||||||
|
OWNR_TITLE: partsOrder.job.ownr_title,
|
||||||
|
OWNR_CO_NM: partsOrder.job.ownr_co_nm,
|
||||||
|
OWNR_ADDR1: partsOrder.job.ownr_addr1,
|
||||||
|
OWNR_ADDR2: partsOrder.job.ownr_addr2,
|
||||||
|
OWNR_CITY: partsOrder.job.ownr_city,
|
||||||
|
OWNR_ST: partsOrder.job.ownr_st,
|
||||||
|
OWNR_ZIP: partsOrder.job.ownr_zip,
|
||||||
|
OWNR_CTRY: partsOrder.job.ownr_ctry,
|
||||||
|
OWNR_PH1: partsOrder.job.ownr_ph1,
|
||||||
|
OWNR_PH1X: partsOrder.job.ownr_ph1x,
|
||||||
|
OWNR_PH2: partsOrder.job.ownr_ph2,
|
||||||
|
OWNR_PH2X: partsOrder.job.ownr_ph2x,
|
||||||
|
OWNR_FAX: partsOrder.job.ownr_fax,
|
||||||
|
OWNR_FAXX: partsOrder.job.ownr_faxx,
|
||||||
|
OWNR_EA: partsOrder.job.ownr_ea,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
await deleteEmsFileIfExists(
|
||||||
|
generateEmsOutFilePath(`${partsOrder.job.ciecaid}.AD1`),
|
||||||
|
);
|
||||||
|
|
||||||
|
const dbf: DBFFile = await DBFFile.create(
|
||||||
|
generateEmsOutFilePath(`${partsOrder.job.ciecaid}.AD1`),
|
||||||
|
ad1FieldLineDescriptors,
|
||||||
|
);
|
||||||
|
|
||||||
|
await dbf.appendRecords(records);
|
||||||
|
console.log(`${records.length} AD1 file records added.`);
|
||||||
|
return true;
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Error generating AD1 file:", errorTypeCheck(error));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export default EmsPartsOrderGenerateAd1File;
|
||||||
158
src/main/ems-parts-order/ems-parts-order-generate-ad2.ts
Normal file
158
src/main/ems-parts-order/ems-parts-order-generate-ad2.ts
Normal file
@@ -0,0 +1,158 @@
|
|||||||
|
import { DBFFile } from "dbffile";
|
||||||
|
import errorTypeCheck from "../../util/errorTypeCheck";
|
||||||
|
import { ad2FieldLineDescriptors } from "../util/ems-interface/fielddescriptors/ad2-field-descriptors";
|
||||||
|
import {
|
||||||
|
deleteEmsFileIfExists,
|
||||||
|
generateEmsOutFilePath,
|
||||||
|
} from "../util/ems-util";
|
||||||
|
import { EmsPartsOrder } from "./ems-parts-order-interfaces";
|
||||||
|
|
||||||
|
const EmsPartsOrderGenerateAd2File = async (
|
||||||
|
partsOrder: EmsPartsOrder,
|
||||||
|
): Promise<boolean> => {
|
||||||
|
try {
|
||||||
|
const records = [
|
||||||
|
{
|
||||||
|
INS_CO_ID: partsOrder.job.ins_co_nm,
|
||||||
|
INS_CO_NM: partsOrder.job.ins_co_nm,
|
||||||
|
INS_ADDR1: partsOrder.job.ins_addr1,
|
||||||
|
INS_ADDR2: partsOrder.job.ins_addr2,
|
||||||
|
INS_CITY: partsOrder.job.ins_city,
|
||||||
|
INS_ST: partsOrder.job.ins_st,
|
||||||
|
INS_ZIP: partsOrder.job.ins_zip,
|
||||||
|
INS_CTRY: partsOrder.job.ins_ctry,
|
||||||
|
INS_PH1: partsOrder.job.ins_ph1,
|
||||||
|
INS_PH1X: partsOrder.job.ins_ph1x,
|
||||||
|
INS_PH2: partsOrder.job.ins_ph2,
|
||||||
|
INS_PH2X: partsOrder.job.ins_ph2x,
|
||||||
|
INS_FAX: partsOrder.job.ins_fax,
|
||||||
|
INS_FAXX: partsOrder.job.ins_faxx,
|
||||||
|
INS_CT_LN: partsOrder.job.ins_ct_ln,
|
||||||
|
INS_CT_FN: partsOrder.job.ins_ct_fn,
|
||||||
|
INS_TITLE: partsOrder.job.ins_title,
|
||||||
|
INS_CT_PH: partsOrder.job.ins_ct_ph,
|
||||||
|
INS_CT_PHX: partsOrder.job.ins_ct_phx,
|
||||||
|
INS_EA: partsOrder.job.ins_ea,
|
||||||
|
INS_MEMO: partsOrder.job.ins_memo,
|
||||||
|
POLICY_NO: partsOrder.job.policy_no,
|
||||||
|
DED_AMT: partsOrder.job.ded_amt,
|
||||||
|
DED_STATUS: partsOrder.job.ded_status,
|
||||||
|
ASGN_NO: partsOrder.job.asgn_no,
|
||||||
|
ASGN_DATE: partsOrder.job.asgn_date
|
||||||
|
? new Date(partsOrder.job.asgn_date)
|
||||||
|
: null,
|
||||||
|
ASGN_TYPE: partsOrder.job.asgn_type,
|
||||||
|
CLM_NO: partsOrder.job.clm_no,
|
||||||
|
CLM_OFC_ID: partsOrder.job.clm_ofc_id,
|
||||||
|
CLM_OFC_NM: partsOrder.job.clm_ofc_nm,
|
||||||
|
CLM_ADDR1: partsOrder.job.clm_addr1,
|
||||||
|
CLM_ADDR2: partsOrder.job.clm_addr2,
|
||||||
|
CLM_CITY: partsOrder.job.clm_city,
|
||||||
|
CLM_ST: partsOrder.job.clm_st,
|
||||||
|
CLM_ZIP: partsOrder.job.clm_zip,
|
||||||
|
CLM_CTRY: partsOrder.job.clm_ctry,
|
||||||
|
CLM_PH1: partsOrder.job.clm_ph1,
|
||||||
|
CLM_PH1X: partsOrder.job.clm_ph1x,
|
||||||
|
CLM_PH2: partsOrder.job.clm_ph2,
|
||||||
|
CLM_PH2X: partsOrder.job.clm_ph2x,
|
||||||
|
CLM_FAX: partsOrder.job.clm_fax,
|
||||||
|
CLM_FAXX: partsOrder.job.clm_faxx,
|
||||||
|
CLM_CT_LN: partsOrder.job.clm_ct_ln,
|
||||||
|
CLM_CT_FN: partsOrder.job.clm_ct_fn,
|
||||||
|
CLM_TITLE: partsOrder.job.clm_title,
|
||||||
|
CLM_CT_PH: partsOrder.job.clm_ct_ph,
|
||||||
|
CLM_CT_PHX: partsOrder.job.clm_ct_phx,
|
||||||
|
CLM_EA: partsOrder.job.clm_ea,
|
||||||
|
PAYEE_NMS: partsOrder.job.payee_nms,
|
||||||
|
PAY_TYPE: partsOrder.job.pay_type,
|
||||||
|
PAY_DATE: partsOrder.job.pay_date,
|
||||||
|
PAY_CHKNM: null, // Explicitly set to null as in original code
|
||||||
|
PAY_AMT: null, // Explicitly set to null as in original code
|
||||||
|
PAY_MEMO: partsOrder.job.pay_memo,
|
||||||
|
AGT_CO_ID: partsOrder.job.agt_co_id,
|
||||||
|
AGT_CO_NM: partsOrder.job.agt_co_nm,
|
||||||
|
AGT_ADDR1: partsOrder.job.agt_addr1,
|
||||||
|
AGT_ADDR2: partsOrder.job.agt_addr2,
|
||||||
|
AGT_CITY: partsOrder.job.agt_city,
|
||||||
|
AGT_ST: partsOrder.job.agt_st,
|
||||||
|
AGT_ZIP: partsOrder.job.agt_zip,
|
||||||
|
AGT_CTRY: partsOrder.job.agt_ctry,
|
||||||
|
AGT_PH1: partsOrder.job.agt_ph1,
|
||||||
|
AGT_PH1X: partsOrder.job.agt_ph1x,
|
||||||
|
AGT_PH2: partsOrder.job.agt_ph2,
|
||||||
|
AGT_PH2X: partsOrder.job.agt_ph2x,
|
||||||
|
AGT_FAX: partsOrder.job.agt_fax,
|
||||||
|
AGT_FAXX: partsOrder.job.agt_faxx,
|
||||||
|
AGT_CT_LN: partsOrder.job.agt_ct_ln,
|
||||||
|
AGT_CT_FN: partsOrder.job.agt_ct_fn,
|
||||||
|
AGT_CT_PH: partsOrder.job.agt_ct_ph,
|
||||||
|
AGT_CT_PHX: partsOrder.job.agt_ct_phx,
|
||||||
|
AGT_EA: partsOrder.job.agt_ea,
|
||||||
|
AGT_LIC_NO: partsOrder.job.agt_lic_no,
|
||||||
|
LOSS_DATE: partsOrder.job.loss_date
|
||||||
|
? new Date(partsOrder.job.loss_date)
|
||||||
|
: null,
|
||||||
|
LOSS_CAT: null, // Explicitly set to null as in original code
|
||||||
|
LOSS_TYPE: null, // Explicitly set to null as in original code
|
||||||
|
LOSS_DESC: partsOrder.job.loss_desc,
|
||||||
|
THEFT_IND: null, // Explicitly set to null as in original code
|
||||||
|
CAT_NO: partsOrder.job.cat_no,
|
||||||
|
TLOS_IND: null, // Explicitly set to null as in original code
|
||||||
|
LOSS_MEMO: partsOrder.job.loss_memo,
|
||||||
|
CUST_PR: partsOrder.job.cust_pr,
|
||||||
|
INSD_LN: partsOrder.job.insd_ln,
|
||||||
|
INSD_FN: partsOrder.job.insd_fn,
|
||||||
|
INSD_TITLE: partsOrder.job.insd_title,
|
||||||
|
INSD_CO_NM: partsOrder.job.insd_co_nm,
|
||||||
|
INSD_ADDR1: partsOrder.job.insd_addr1,
|
||||||
|
INSD_ADDR2: partsOrder.job.insd_addr2,
|
||||||
|
INSD_CITY: partsOrder.job.insd_city,
|
||||||
|
INSD_ST: partsOrder.job.insd_st,
|
||||||
|
INSD_ZIP: partsOrder.job.insd_zip,
|
||||||
|
INSD_CTRY: partsOrder.job.insd_ctry,
|
||||||
|
INSD_PH1: partsOrder.job.insd_ph1,
|
||||||
|
INSD_PH1X: partsOrder.job.insd_ph1x,
|
||||||
|
INSD_PH2: partsOrder.job.insd_ph2,
|
||||||
|
INSD_PH2X: partsOrder.job.insd_ph2x,
|
||||||
|
INSD_FAX: partsOrder.job.insd_fax,
|
||||||
|
INSD_FAXX: partsOrder.job.insd_faxx,
|
||||||
|
INSD_EA: partsOrder.job.insd_ea,
|
||||||
|
OWNR_LN: partsOrder.job.ownr_ln,
|
||||||
|
OWNR_FN: partsOrder.job.ownr_fn,
|
||||||
|
OWNR_TITLE: partsOrder.job.ownr_title,
|
||||||
|
OWNR_CO_NM: partsOrder.job.ownr_co_nm,
|
||||||
|
OWNR_ADDR1: partsOrder.job.ownr_addr1,
|
||||||
|
OWNR_ADDR2: partsOrder.job.ownr_addr2,
|
||||||
|
OWNR_CITY: partsOrder.job.ownr_city,
|
||||||
|
OWNR_ST: partsOrder.job.ownr_st,
|
||||||
|
OWNR_ZIP: partsOrder.job.ownr_zip,
|
||||||
|
OWNR_CTRY: partsOrder.job.ownr_ctry,
|
||||||
|
OWNR_PH1: partsOrder.job.ownr_ph1,
|
||||||
|
OWNR_PH1X: partsOrder.job.ownr_ph1x,
|
||||||
|
OWNR_PH2: partsOrder.job.ownr_ph2,
|
||||||
|
OWNR_PH2X: partsOrder.job.ownr_ph2x,
|
||||||
|
OWNR_FAX: partsOrder.job.ownr_fax,
|
||||||
|
OWNR_FAXX: partsOrder.job.ownr_faxx,
|
||||||
|
OWNR_EA: partsOrder.job.ownr_ea,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
await deleteEmsFileIfExists(
|
||||||
|
generateEmsOutFilePath(`${partsOrder.job.ciecaid}.AD2`),
|
||||||
|
);
|
||||||
|
|
||||||
|
const dbf: DBFFile = await DBFFile.create(
|
||||||
|
generateEmsOutFilePath(`${partsOrder.job.ciecaid}.AD2`),
|
||||||
|
ad2FieldLineDescriptors,
|
||||||
|
);
|
||||||
|
|
||||||
|
await dbf.appendRecords(records);
|
||||||
|
console.log(`${records.length} AD2 file records added.`);
|
||||||
|
return true;
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Error generating AD2 file:", errorTypeCheck(error));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export default EmsPartsOrderGenerateAd2File;
|
||||||
@@ -1,38 +1,47 @@
|
|||||||
import { DBFFile } from "dbffile";
|
import { DBFFile } from "dbffile";
|
||||||
|
import errorTypeCheck from "../../util/errorTypeCheck";
|
||||||
import { envFieldLineDescriptors } from "../util/ems-interface/fielddescriptors/env-field-descriptor";
|
import { envFieldLineDescriptors } from "../util/ems-interface/fielddescriptors/env-field-descriptor";
|
||||||
import { deleteEmsFileIfExists, generatePpcFilePath } from "../util/ems-util";
|
import {
|
||||||
|
deleteEmsFileIfExists,
|
||||||
|
generateEmsOutFilePath,
|
||||||
|
} from "../util/ems-util";
|
||||||
import { EmsPartsOrder } from "./ems-parts-order-interfaces";
|
import { EmsPartsOrder } from "./ems-parts-order-interfaces";
|
||||||
|
|
||||||
const EmsPartsOrderGenerateEnvFile = async (
|
const EmsPartsOrderGenerateEnvFile = async (
|
||||||
partsOrder: EmsPartsOrder,
|
partsOrder: EmsPartsOrder,
|
||||||
): Promise<boolean> => {
|
): Promise<boolean> => {
|
||||||
const records = [
|
try {
|
||||||
{
|
const records = [
|
||||||
EST_SYSTEM: "C",
|
{
|
||||||
RO_ID: partsOrder.job.ro_number,
|
EST_SYSTEM: "C",
|
||||||
ESTFILE_ID: partsOrder.job.ciecaid,
|
RO_ID: partsOrder.job.ro_number,
|
||||||
STATUS: false,
|
ESTFILE_ID: partsOrder.job.ciecaid,
|
||||||
INCL_ADMIN: true,
|
STATUS: false,
|
||||||
INCL_VEH: true,
|
INCL_ADMIN: true,
|
||||||
INCL_EST: true,
|
INCL_VEH: true,
|
||||||
INCL_PROFL: true,
|
INCL_EST: true,
|
||||||
INCL_TOTAL: true,
|
INCL_PROFL: true,
|
||||||
INCL_VENDR: false,
|
INCL_TOTAL: true,
|
||||||
},
|
INCL_VENDR: false,
|
||||||
];
|
},
|
||||||
|
];
|
||||||
|
|
||||||
await deleteEmsFileIfExists(
|
await deleteEmsFileIfExists(
|
||||||
generatePpcFilePath(`${partsOrder.job.ciecaid}.ENV`),
|
generateEmsOutFilePath(`${partsOrder.job.ciecaid}.ENV`),
|
||||||
);
|
);
|
||||||
|
|
||||||
const dbf = await DBFFile.create(
|
const dbf: DBFFile = await DBFFile.create(
|
||||||
generatePpcFilePath(`${partsOrder.job.ciecaid}.ENV`),
|
generateEmsOutFilePath(`${partsOrder.job.ciecaid}.ENV`),
|
||||||
envFieldLineDescriptors,
|
envFieldLineDescriptors,
|
||||||
);
|
);
|
||||||
|
|
||||||
await dbf.appendRecords(records);
|
await dbf.appendRecords(records);
|
||||||
console.log(`${records.length} LIN file records added.`);
|
console.log(`${records.length} ENV file records added.`);
|
||||||
return true;
|
return true;
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Error generating ENV file:", errorTypeCheck(error));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
export default EmsPartsOrderGenerateEnvFile;
|
export default EmsPartsOrderGenerateEnvFile;
|
||||||
|
|||||||
85
src/main/ems-parts-order/ems-parts-order-generate-lin.ts
Normal file
85
src/main/ems-parts-order/ems-parts-order-generate-lin.ts
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
import { DBFFile } from "dbffile";
|
||||||
|
import errorTypeCheck from "../../util/errorTypeCheck";
|
||||||
|
import {
|
||||||
|
deleteEmsFileIfExists,
|
||||||
|
generateEmsOutFilePath,
|
||||||
|
} from "../util/ems-util";
|
||||||
|
import { EmsPartsOrder } from "./ems-parts-order-interfaces";
|
||||||
|
import { linFieldLineDescriptors } from "../util/ems-interface/fielddescriptors/lin-field-descriptors";
|
||||||
|
|
||||||
|
const EmsPartsOrderGenerateLinFile = async (
|
||||||
|
partsOrder: EmsPartsOrder,
|
||||||
|
): Promise<boolean> => {
|
||||||
|
try {
|
||||||
|
const records = partsOrder.parts_order_lines.map((partsOrderLine) => ({
|
||||||
|
LINE_NO: partsOrderLine.jobline?.line_no,
|
||||||
|
LINE_IND: partsOrderLine.jobline?.line_ind,
|
||||||
|
LINE_REF: partsOrderLine.jobline?.line_ref,
|
||||||
|
TRAN_CODE: partsOrderLine.jobline?.tran_code ?? "1",
|
||||||
|
DB_REF: partsOrderLine.jobline?.db_ref,
|
||||||
|
UNQ_SEQ: partsOrderLine.jobline?.unq_seq,
|
||||||
|
WHO_PAYS: partsOrderLine.jobline?.who_pays,
|
||||||
|
LINE_DESC: partsOrderLine.jobline?.line_desc,
|
||||||
|
PART_TYPE:
|
||||||
|
partsOrderLine.priceChange === true
|
||||||
|
? partsOrderLine.part_type
|
||||||
|
: partsOrderLine.jobline?.part_type,
|
||||||
|
GLASS_FLAG: partsOrderLine.jobline?.glass_flag,
|
||||||
|
OEM_PARTNO: partsOrderLine.jobline?.oem_partno,
|
||||||
|
PRICE_INC: partsOrderLine.jobline?.price_inc,
|
||||||
|
ALT_PART_I: partsOrderLine.jobline?.alt_part_i,
|
||||||
|
TAX_PART: partsOrderLine.jobline?.tax_part,
|
||||||
|
DB_PRICE: partsOrderLine.jobline?.db_price,
|
||||||
|
ACT_PRICE:
|
||||||
|
partsOrderLine.priceChange === true
|
||||||
|
? partsOrderLine.act_price
|
||||||
|
: partsOrderLine.jobline?.act_price,
|
||||||
|
PRICE_J: partsOrderLine.jobline?.price_j,
|
||||||
|
CERT_PART: partsOrderLine.jobline?.cert_part,
|
||||||
|
PART_QTY: partsOrderLine.jobline?.part_qty,
|
||||||
|
ALT_CO_ID: partsOrderLine.jobline?.alt_co_id,
|
||||||
|
ALT_PARTNO: partsOrderLine.jobline?.alt_partno,
|
||||||
|
ALT_OVERRD: partsOrderLine.jobline?.alt_overrd,
|
||||||
|
ALT_PARTM: partsOrderLine.jobline?.alt_partm,
|
||||||
|
PRT_DSMK_P: partsOrderLine.jobline?.prt_dsmk_p,
|
||||||
|
PRT_DSMK_M: partsOrderLine.jobline?.prt_dsmk_m,
|
||||||
|
MOD_LBR_TY: partsOrderLine.jobline?.mod_lbr_ty,
|
||||||
|
DB_HRS: partsOrderLine.jobline?.db_hrs,
|
||||||
|
MOD_LB_HRS: partsOrderLine.jobline?.mod_lb_hrs,
|
||||||
|
LBR_INC: partsOrderLine.jobline?.lbr_inc,
|
||||||
|
LBR_OP: partsOrderLine.jobline?.lbr_op,
|
||||||
|
LBR_HRS_J: partsOrderLine.jobline?.lbr_hrs_j,
|
||||||
|
LBR_TYP_J: partsOrderLine.jobline?.lbr_typ_j,
|
||||||
|
LBR_OP_J: partsOrderLine.jobline?.lbr_op_j,
|
||||||
|
PAINT_STG: partsOrderLine.jobline?.paint_stg,
|
||||||
|
PAINT_TONE: partsOrderLine.jobline?.paint_tone,
|
||||||
|
LBR_TAX: partsOrderLine.jobline?.lbr_tax,
|
||||||
|
LBR_AMT: partsOrderLine.jobline?.lbr_amt,
|
||||||
|
MISC_AMT: partsOrderLine.jobline?.misc_amt,
|
||||||
|
MISC_SUBLT: partsOrderLine.jobline?.misc_sublt,
|
||||||
|
MISC_TAX: partsOrderLine.jobline?.misc_tax,
|
||||||
|
BETT_TYPE: partsOrderLine.jobline?.bett_type,
|
||||||
|
BETT_PCTG: partsOrderLine.jobline?.bett_pctg,
|
||||||
|
BETT_AMT: partsOrderLine.jobline?.bett_amt,
|
||||||
|
BETT_TAX: partsOrderLine.jobline?.bett_tax,
|
||||||
|
}));
|
||||||
|
|
||||||
|
await deleteEmsFileIfExists(
|
||||||
|
generateEmsOutFilePath(`${partsOrder.job.ciecaid}.LIN`),
|
||||||
|
);
|
||||||
|
|
||||||
|
const dbf: DBFFile = await DBFFile.create(
|
||||||
|
generateEmsOutFilePath(`${partsOrder.job.ciecaid}.LIN`),
|
||||||
|
linFieldLineDescriptors,
|
||||||
|
);
|
||||||
|
|
||||||
|
await dbf.appendRecords(records);
|
||||||
|
console.log(`${records.length} LIN file records added.`);
|
||||||
|
return true;
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Error generating LIN file:", errorTypeCheck(error));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export default EmsPartsOrderGenerateLinFile;
|
||||||
59
src/main/ems-parts-order/ems-parts-order-generate-pfh.ts
Normal file
59
src/main/ems-parts-order/ems-parts-order-generate-pfh.ts
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
import { DBFFile } from "dbffile";
|
||||||
|
import errorTypeCheck from "../../util/errorTypeCheck";
|
||||||
|
import {
|
||||||
|
deleteEmsFileIfExists,
|
||||||
|
generateEmsOutFilePath,
|
||||||
|
} from "../util/ems-util";
|
||||||
|
import { EmsPartsOrder } from "./ems-parts-order-interfaces";
|
||||||
|
import { pfhFieldLineDescriptors } from "../util/ems-interface/fielddescriptors/pfh-field-descriptors";
|
||||||
|
|
||||||
|
const EmsPartsOrderGeneratePfhFile = async (
|
||||||
|
partsOrder: EmsPartsOrder,
|
||||||
|
): Promise<boolean> => {
|
||||||
|
try {
|
||||||
|
const records = [
|
||||||
|
{
|
||||||
|
ID_PRO_NAM: "REPAIR FACILITY", // Job.id_pro_nam?.Value
|
||||||
|
TAX_PRETHR: (partsOrder.job.tax_prethr || 0) * 100,
|
||||||
|
TAX_THRAMT: (partsOrder.job.tax_thramt || 0) * 100,
|
||||||
|
TAX_PSTTHR: (partsOrder.job.tax_pstthr || 0) * 100,
|
||||||
|
TAX_TOW_IN: true, // Job.tax_tow_in?.Value
|
||||||
|
TAX_TOW_RT: (partsOrder.job.tax_tow_rt || 0) * 100,
|
||||||
|
TAX_STR_IN: true, // Job.tax_str_in?.Value
|
||||||
|
TAX_STR_RT: (partsOrder.job.tax_str_rt || 0) * 100,
|
||||||
|
TAX_SUB_IN: true, // Job.tax_sub_in?.Value
|
||||||
|
TAX_SUB_RT: (partsOrder.job.tax_sub_rt || 0) * 100,
|
||||||
|
TAX_BTR_IN: true, // Job.tax_btr_in?.Value
|
||||||
|
TAX_LBR_RT:
|
||||||
|
(partsOrder.job.bodyshop?.bill_tax_rates?.state_tax_rate || 0) * 100,
|
||||||
|
TAX_GST_RT:
|
||||||
|
(partsOrder.job.bodyshop?.bill_tax_rates?.federal_tax_rate || 0) *
|
||||||
|
100,
|
||||||
|
TAX_GST_IN: true, // Job.tax_gst_in?.Value
|
||||||
|
ADJ_G_DISC: (partsOrder.job.adj_g_disc || 0) * 100,
|
||||||
|
ADJ_TOWDIS: (partsOrder.job.adj_towdis || 0) * 100,
|
||||||
|
ADJ_STRDIS: (partsOrder.job.adj_strdis || 0) * 100,
|
||||||
|
ADJ_BTR_IN: null, // Job.adj_btr_in?.Value
|
||||||
|
TAX_PREDIS: (partsOrder.job.tax_predis || 0) * 100,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
await deleteEmsFileIfExists(
|
||||||
|
generateEmsOutFilePath(`${partsOrder.job.ciecaid}.PFH`),
|
||||||
|
);
|
||||||
|
|
||||||
|
const dbf: DBFFile = await DBFFile.create(
|
||||||
|
generateEmsOutFilePath(`${partsOrder.job.ciecaid}.PFH`),
|
||||||
|
pfhFieldLineDescriptors,
|
||||||
|
);
|
||||||
|
|
||||||
|
await dbf.appendRecords(records);
|
||||||
|
console.log(`${records.length} PFH file records added.`);
|
||||||
|
return true;
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Error generating PFH file:", errorTypeCheck(error));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export default EmsPartsOrderGeneratePfhFile;
|
||||||
39
src/main/ems-parts-order/ems-parts-order-generate-pfl.ts
Normal file
39
src/main/ems-parts-order/ems-parts-order-generate-pfl.ts
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
import { DBFFile } from "dbffile";
|
||||||
|
import errorTypeCheck from "../../util/errorTypeCheck";
|
||||||
|
import { DecodedPflLine } from "../decoder/decode-pfl.interface";
|
||||||
|
import { pflFieldLineDescriptors } from "../util/ems-interface/fielddescriptors/pfl-field-descriptors";
|
||||||
|
import {
|
||||||
|
deleteEmsFileIfExists,
|
||||||
|
generateEmsOutFilePath,
|
||||||
|
} from "../util/ems-util";
|
||||||
|
import uppercaseObjectKeys from "../util/uppercaseObjectKeys";
|
||||||
|
import { EmsPartsOrder } from "./ems-parts-order-interfaces";
|
||||||
|
|
||||||
|
const EmsPartsOrderGeneratePflFile = async (
|
||||||
|
partsOrder: EmsPartsOrder,
|
||||||
|
): Promise<boolean> => {
|
||||||
|
try {
|
||||||
|
const records = Object.keys(partsOrder.job.cieca_pfl).map((key) => {
|
||||||
|
const record: DecodedPflLine = partsOrder.job.cieca_pfl[key];
|
||||||
|
return uppercaseObjectKeys(record);
|
||||||
|
});
|
||||||
|
|
||||||
|
await deleteEmsFileIfExists(
|
||||||
|
generateEmsOutFilePath(`${partsOrder.job.ciecaid}.PFL`),
|
||||||
|
);
|
||||||
|
|
||||||
|
const dbf: DBFFile = await DBFFile.create(
|
||||||
|
generateEmsOutFilePath(`${partsOrder.job.ciecaid}.PFL`),
|
||||||
|
pflFieldLineDescriptors,
|
||||||
|
);
|
||||||
|
|
||||||
|
await dbf.appendRecords(records);
|
||||||
|
console.log(`${records.length} PFL file records added.`);
|
||||||
|
return true;
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Error generating PFL file:", errorTypeCheck(error));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export default EmsPartsOrderGeneratePflFile;
|
||||||
39
src/main/ems-parts-order/ems-parts-order-generate-pfm.ts
Normal file
39
src/main/ems-parts-order/ems-parts-order-generate-pfm.ts
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
import { DBFFile } from "dbffile";
|
||||||
|
import errorTypeCheck from "../../util/errorTypeCheck";
|
||||||
|
import { DecodedPfmLine } from "../decoder/decode-pfm.interface";
|
||||||
|
import { pfmFieldLineDescriptors } from "../util/ems-interface/fielddescriptors/pfm-field-descriptors";
|
||||||
|
import {
|
||||||
|
deleteEmsFileIfExists,
|
||||||
|
generateEmsOutFilePath,
|
||||||
|
} from "../util/ems-util";
|
||||||
|
import uppercaseObjectKeys from "../util/uppercaseObjectKeys";
|
||||||
|
import { EmsPartsOrder } from "./ems-parts-order-interfaces";
|
||||||
|
|
||||||
|
const EmsPartsOrderGeneratePfmFile = async (
|
||||||
|
partsOrder: EmsPartsOrder,
|
||||||
|
): Promise<boolean> => {
|
||||||
|
try {
|
||||||
|
const records = Object.keys(partsOrder.job.materials).map((key) => {
|
||||||
|
const record: DecodedPfmLine = partsOrder.job.materials[key];
|
||||||
|
return uppercaseObjectKeys(record);
|
||||||
|
});
|
||||||
|
|
||||||
|
await deleteEmsFileIfExists(
|
||||||
|
generateEmsOutFilePath(`${partsOrder.job.ciecaid}.PFM`),
|
||||||
|
);
|
||||||
|
|
||||||
|
const dbf: DBFFile = await DBFFile.create(
|
||||||
|
generateEmsOutFilePath(`${partsOrder.job.ciecaid}.PFM`),
|
||||||
|
pfmFieldLineDescriptors,
|
||||||
|
);
|
||||||
|
|
||||||
|
await dbf.appendRecords(records);
|
||||||
|
console.log(`${records.length} PFM file records added.`);
|
||||||
|
return true;
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Error generating PFM file:", errorTypeCheck(error));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export default EmsPartsOrderGeneratePfmFile;
|
||||||
34
src/main/ems-parts-order/ems-parts-order-generate-pfo.ts
Normal file
34
src/main/ems-parts-order/ems-parts-order-generate-pfo.ts
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
import { DBFFile } from "dbffile";
|
||||||
|
import errorTypeCheck from "../../util/errorTypeCheck";
|
||||||
|
import { pfoFieldLineDescriptors } from "../util/ems-interface/fielddescriptors/pfo-field-descriptors";
|
||||||
|
import {
|
||||||
|
deleteEmsFileIfExists,
|
||||||
|
generateEmsOutFilePath,
|
||||||
|
} from "../util/ems-util";
|
||||||
|
import { EmsPartsOrder } from "./ems-parts-order-interfaces";
|
||||||
|
|
||||||
|
const EmsPartsOrderGeneratePfoFile = async (
|
||||||
|
partsOrder: EmsPartsOrder,
|
||||||
|
): Promise<boolean> => {
|
||||||
|
try {
|
||||||
|
const records = []; //This was kept blank previously as well.
|
||||||
|
|
||||||
|
await deleteEmsFileIfExists(
|
||||||
|
generateEmsOutFilePath(`${partsOrder.job.ciecaid}.PFO`),
|
||||||
|
);
|
||||||
|
|
||||||
|
const dbf: DBFFile = await DBFFile.create(
|
||||||
|
generateEmsOutFilePath(`${partsOrder.job.ciecaid}.PFO`),
|
||||||
|
pfoFieldLineDescriptors,
|
||||||
|
);
|
||||||
|
|
||||||
|
await dbf.appendRecords(records);
|
||||||
|
console.log(`${records.length} PFO file records added.`);
|
||||||
|
return true;
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Error generating PFO file:", errorTypeCheck(error));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export default EmsPartsOrderGeneratePfoFile;
|
||||||
39
src/main/ems-parts-order/ems-parts-order-generate-pfp.ts
Normal file
39
src/main/ems-parts-order/ems-parts-order-generate-pfp.ts
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
import { DBFFile } from "dbffile";
|
||||||
|
import errorTypeCheck from "../../util/errorTypeCheck";
|
||||||
|
import { DecodedPfmLine } from "../decoder/decode-pfm.interface";
|
||||||
|
import { pfpFieldLineDescriptors } from "../util/ems-interface/fielddescriptors/pfp-field-descriptors";
|
||||||
|
import {
|
||||||
|
deleteEmsFileIfExists,
|
||||||
|
generateEmsOutFilePath,
|
||||||
|
} from "../util/ems-util";
|
||||||
|
import uppercaseObjectKeys from "../util/uppercaseObjectKeys";
|
||||||
|
import { EmsPartsOrder } from "./ems-parts-order-interfaces";
|
||||||
|
|
||||||
|
const EmsPartsOrderGeneratePfpFile = async (
|
||||||
|
partsOrder: EmsPartsOrder,
|
||||||
|
): Promise<boolean> => {
|
||||||
|
try {
|
||||||
|
const records = Object.keys(partsOrder.job.materials).map((key) => {
|
||||||
|
const record: DecodedPfmLine = partsOrder.job.materials[key];
|
||||||
|
return uppercaseObjectKeys(record);
|
||||||
|
});
|
||||||
|
|
||||||
|
await deleteEmsFileIfExists(
|
||||||
|
generateEmsOutFilePath(`${partsOrder.job.ciecaid}.PFP`),
|
||||||
|
);
|
||||||
|
|
||||||
|
const dbf: DBFFile = await DBFFile.create(
|
||||||
|
generateEmsOutFilePath(`${partsOrder.job.ciecaid}.PFP`),
|
||||||
|
pfpFieldLineDescriptors,
|
||||||
|
);
|
||||||
|
|
||||||
|
await dbf.appendRecords(records);
|
||||||
|
console.log(`${records.length} PFP file records added.`);
|
||||||
|
return true;
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Error generating PFP file:", errorTypeCheck(error));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export default EmsPartsOrderGeneratePfpFile;
|
||||||
65
src/main/ems-parts-order/ems-parts-order-generate-veh.ts
Normal file
65
src/main/ems-parts-order/ems-parts-order-generate-veh.ts
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
import { DBFFile } from "dbffile";
|
||||||
|
import errorTypeCheck from "../../util/errorTypeCheck";
|
||||||
|
import { vehFieldLineDescriptors } from "../util/ems-interface/fielddescriptors/veh-field-descriptors";
|
||||||
|
import {
|
||||||
|
deleteEmsFileIfExists,
|
||||||
|
generateEmsOutFilePath,
|
||||||
|
} from "../util/ems-util";
|
||||||
|
import { EmsPartsOrder } from "./ems-parts-order-interfaces";
|
||||||
|
|
||||||
|
const EmsPartsOrderGenerateVehFile = async (
|
||||||
|
partsOrder: EmsPartsOrder,
|
||||||
|
): Promise<boolean> => {
|
||||||
|
try {
|
||||||
|
const records = [
|
||||||
|
{
|
||||||
|
IMPACT_1: partsOrder.job.area_of_damage?.impact1 || null,
|
||||||
|
IMPACT_2: partsOrder.job.area_of_damage?.impact2 || null,
|
||||||
|
DMG_MEMO: null,
|
||||||
|
DB_V_CODE: "",
|
||||||
|
PLATE_NO: partsOrder.job.plate_no || null,
|
||||||
|
PLATE_ST: partsOrder.job.plate_st || null,
|
||||||
|
V_VIN: partsOrder.job.v_vin || null,
|
||||||
|
V_COND: "",
|
||||||
|
V_PROD_DT: "",
|
||||||
|
V_MODEL_YR: partsOrder.job.v_model_yr || null,
|
||||||
|
V_MAKECODE: "",
|
||||||
|
V_MAKEDESC: partsOrder.job.v_make_desc || null,
|
||||||
|
V_MODEL: partsOrder.job.v_model_desc || null,
|
||||||
|
V_TYPE: partsOrder.job.vehicle?.v_type || null,
|
||||||
|
V_BSTYLE: partsOrder.job.vehicle?.v_bstyle || null,
|
||||||
|
V_TRIMCODE: partsOrder.job.vehicle?.v_trimcode || null,
|
||||||
|
TRIM_COLOR: partsOrder.job.vehicle?.trim_color || null,
|
||||||
|
V_MLDGCODE: partsOrder.job.vehicle?.v_mldgcode || null,
|
||||||
|
V_ENGINE: partsOrder.job.vehicle?.v_engine || null,
|
||||||
|
V_MILEAGE: partsOrder.job.vehicle?.v_mileage || null,
|
||||||
|
V_OPTIONS: null,
|
||||||
|
V_COLOR: partsOrder.job.vehicle?.v_color || null,
|
||||||
|
V_TONE: Number(partsOrder.job.vehicle?.v_tone) || null,
|
||||||
|
V_STAGE: null,
|
||||||
|
PAINT_CD1: partsOrder.job.vehicle?.v_paint_codes?.paint_cd1 || "",
|
||||||
|
PAINT_CD2: partsOrder.job.vehicle?.v_paint_codes?.paint_cd2 || "",
|
||||||
|
PAINT_CD3: partsOrder.job.vehicle?.v_paint_codes?.paint_cd3 || "",
|
||||||
|
V_MEMO: null,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
await deleteEmsFileIfExists(
|
||||||
|
generateEmsOutFilePath(`${partsOrder.job.ciecaid}.VEH`),
|
||||||
|
);
|
||||||
|
|
||||||
|
const dbf: DBFFile = await DBFFile.create(
|
||||||
|
generateEmsOutFilePath(`${partsOrder.job.ciecaid}.VEH`),
|
||||||
|
vehFieldLineDescriptors,
|
||||||
|
);
|
||||||
|
|
||||||
|
await dbf.appendRecords(records);
|
||||||
|
console.log(`${records.length} VEH file records added.`);
|
||||||
|
return true;
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Error generating VEH file:", errorTypeCheck(error));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export default EmsPartsOrderGenerateVehFile;
|
||||||
@@ -4,8 +4,16 @@ import _ from "lodash";
|
|||||||
import errorTypeCheck from "../../util/errorTypeCheck";
|
import errorTypeCheck from "../../util/errorTypeCheck";
|
||||||
import store from "../store/store";
|
import store from "../store/store";
|
||||||
import createdDirectoryIfNotExist from "../util/createDirectoryIfNotExist";
|
import createdDirectoryIfNotExist from "../util/createDirectoryIfNotExist";
|
||||||
|
import EmsPartsOrderGenerateAd1File from "./ems-parts-order-generate-ad1";
|
||||||
|
import EmsPartsOrderGenerateAd2File from "./ems-parts-order-generate-ad2";
|
||||||
import EmsPartsOrderGenerateEnvFile from "./ems-parts-order-generate-env";
|
import EmsPartsOrderGenerateEnvFile from "./ems-parts-order-generate-env";
|
||||||
|
import EmsPartsOrderGenerateLinFile from "./ems-parts-order-generate-lin";
|
||||||
|
import EmsPartsOrderGenerateVehFile from "./ems-parts-order-generate-veh";
|
||||||
import { EmsPartsOrder } from "./ems-parts-order-interfaces";
|
import { EmsPartsOrder } from "./ems-parts-order-interfaces";
|
||||||
|
import EmsPartsOrderGeneratePfhFile from "./ems-parts-order-generate-pfh";
|
||||||
|
import EmsPartsOrderGeneratePflFile from "./ems-parts-order-generate-pfl";
|
||||||
|
import EmsPartsOrderGeneratePfmFile from "./ems-parts-order-generate-pfm";
|
||||||
|
import EmsPartsOrderGeneratePfoFile from "./ems-parts-order-generate-pfo";
|
||||||
|
|
||||||
const handleEMSPartsOrder = async (
|
const handleEMSPartsOrder = async (
|
||||||
req: express.Request,
|
req: express.Request,
|
||||||
@@ -43,6 +51,16 @@ const generateEMSPartsOrder = async (
|
|||||||
createdDirectoryIfNotExist(emsOutFilePath);
|
createdDirectoryIfNotExist(emsOutFilePath);
|
||||||
|
|
||||||
//Generate all required files: ad1, ad2, veh, lin, pfh, pfl, pfm,pfo, pfp, pft, stl, ttl
|
//Generate all required files: ad1, ad2, veh, lin, pfh, pfl, pfm,pfo, pfp, pft, stl, ttl
|
||||||
|
await EmsPartsOrderGenerateAd1File(partsOrder);
|
||||||
|
await EmsPartsOrderGenerateAd2File(partsOrder);
|
||||||
|
await EmsPartsOrderGenerateVehFile(partsOrder);
|
||||||
|
await EmsPartsOrderGenerateLinFile(partsOrder);
|
||||||
|
await EmsPartsOrderGeneratePfhFile(partsOrder);
|
||||||
|
await EmsPartsOrderGeneratePflFile(partsOrder);
|
||||||
|
await EmsPartsOrderGeneratePfmFile(partsOrder);
|
||||||
|
await EmsPartsOrderGeneratePfoFile(partsOrder);
|
||||||
|
await EmsPartsOrderGeneratePfpFile(partsOrder);
|
||||||
|
|
||||||
await EmsPartsOrderGenerateEnvFile(partsOrder);
|
await EmsPartsOrderGenerateEnvFile(partsOrder);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
log.error("Error generating parts price change", errorTypeCheck(error));
|
log.error("Error generating parts price change", errorTypeCheck(error));
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
import { CiecaPfl, DecodedPflLine } from "../decoder/decode-pfl.interface";
|
||||||
|
|
||||||
export interface TaxRate {
|
export interface TaxRate {
|
||||||
prt_type: string;
|
prt_type: string;
|
||||||
prt_discp: number;
|
prt_discp: number;
|
||||||
@@ -84,6 +86,7 @@ export interface PartsOrderLine {
|
|||||||
line_desc: string;
|
line_desc: string;
|
||||||
quantity: number;
|
quantity: number;
|
||||||
part_type: string;
|
part_type: string;
|
||||||
|
priceChange: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Vehicle export interface
|
// Vehicle export interface
|
||||||
@@ -129,6 +132,7 @@ export interface Job {
|
|||||||
area_of_damage: AreaOfDamage;
|
area_of_damage: AreaOfDamage;
|
||||||
asgn_type: string | null;
|
asgn_type: string | null;
|
||||||
ciecaid: string;
|
ciecaid: string;
|
||||||
|
cieca_pfl: CiecaPfl;
|
||||||
clm_addr1: string | null;
|
clm_addr1: string | null;
|
||||||
clm_city: string | null;
|
clm_city: string | null;
|
||||||
clm_addr2: string | null;
|
clm_addr2: string | null;
|
||||||
@@ -299,6 +303,7 @@ export interface Job {
|
|||||||
rate_la3: number;
|
rate_la3: number;
|
||||||
rate_la2: number;
|
rate_la2: number;
|
||||||
rate_la1: number;
|
rate_la1: number;
|
||||||
|
materials: Record<string, DecodedPfmLine>;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Main Parts Order export interface
|
// Main Parts Order export interface
|
||||||
|
|||||||
@@ -2,27 +2,33 @@ import { DBFFile } from "dbffile";
|
|||||||
import { linFieldDescriptors } from "../util/ems-interface/fielddescriptors/lin-field-descriptor";
|
import { linFieldDescriptors } from "../util/ems-interface/fielddescriptors/lin-field-descriptor";
|
||||||
import { deleteEmsFileIfExists, generatePpcFilePath } from "../util/ems-util";
|
import { deleteEmsFileIfExists, generatePpcFilePath } from "../util/ems-util";
|
||||||
import { PpcJob } from "./ppc-handler";
|
import { PpcJob } from "./ppc-handler";
|
||||||
|
import errorTypeCheck from "../../util/errorTypeCheck";
|
||||||
|
|
||||||
const GenerateLinFile = async (job: PpcJob): Promise<boolean> => {
|
const GenerateLinFile = async (job: PpcJob): Promise<boolean> => {
|
||||||
const records = job.joblines.map((line) => {
|
try {
|
||||||
return {
|
const records = job.joblines.map((line) => {
|
||||||
//TODO: There are missing types here. May require server side updates, but we are missing things like LINE_NO, LINE_IND, etc.
|
return {
|
||||||
TRAN_CODE: "2",
|
//TODO: There are missing types here. May require server side updates, but we are missing things like LINE_NO, LINE_IND, etc.
|
||||||
UNQ_SEQ: line.unq_seq,
|
TRAN_CODE: "2",
|
||||||
ACT_PRICE: line.act_price,
|
UNQ_SEQ: line.unq_seq,
|
||||||
};
|
ACT_PRICE: line.act_price,
|
||||||
});
|
};
|
||||||
|
});
|
||||||
|
|
||||||
await deleteEmsFileIfExists(generatePpcFilePath(`${job.ciecaid}.LIN`));
|
await deleteEmsFileIfExists(generatePpcFilePath(`${job.ciecaid}.LIN`));
|
||||||
|
|
||||||
const dbf = await DBFFile.create(
|
const dbf = await DBFFile.create(
|
||||||
generatePpcFilePath(`${job.ciecaid}.LIN`),
|
generatePpcFilePath(`${job.ciecaid}.LIN`),
|
||||||
linFieldDescriptors,
|
linFieldDescriptors,
|
||||||
);
|
);
|
||||||
|
|
||||||
await dbf.appendRecords(records);
|
await dbf.appendRecords(records);
|
||||||
console.log(`${records.length} LIN file records added.`);
|
console.log(`${records.length} LIN file records added.`);
|
||||||
return true;
|
return true;
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Error generating PPC LIN file", errorTypeCheck(error));
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
export default GenerateLinFile;
|
export default GenerateLinFile;
|
||||||
|
|||||||
@@ -0,0 +1,706 @@
|
|||||||
|
import { FieldDescriptor } from "dbffile";
|
||||||
|
|
||||||
|
export const ad1FieldLineDescriptors: FieldDescriptor[] = [
|
||||||
|
{
|
||||||
|
name: "INS_CO_ID",
|
||||||
|
type: "C",
|
||||||
|
size: 5,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INS_CO_NM",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INS_ADDR1",
|
||||||
|
type: "C",
|
||||||
|
size: 40,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INS_ADDR2",
|
||||||
|
type: "C",
|
||||||
|
size: 40,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INS_CITY",
|
||||||
|
type: "C",
|
||||||
|
size: 30,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INS_ST",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INS_ZIP",
|
||||||
|
type: "C",
|
||||||
|
size: 11,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INS_CTRY",
|
||||||
|
type: "C",
|
||||||
|
size: 3,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INS_PH1",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INS_PH1X",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INS_PH2",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INS_PH2X",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INS_FAX",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INS_FAXX",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INS_CT_LN",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INS_CT_FN",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INS_TITLE",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INS_CT_PH",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INS_CT_PHX",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INS_EA",
|
||||||
|
type: "C",
|
||||||
|
size: 80,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INS_MEMO",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "POLICY_NO",
|
||||||
|
type: "C",
|
||||||
|
size: 30,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "DED_AMT",
|
||||||
|
type: "N",
|
||||||
|
size: 9,
|
||||||
|
decimalPlaces: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "DED_STATUS",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "ASGN_NO",
|
||||||
|
type: "C",
|
||||||
|
size: 25,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "ASGN_DATE",
|
||||||
|
type: "D",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "ASGN_TYPE",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLM_NO",
|
||||||
|
type: "C",
|
||||||
|
size: 30,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLM_OFC_ID",
|
||||||
|
type: "C",
|
||||||
|
size: 5,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLM_OFC_NM",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLM_ADDR1",
|
||||||
|
type: "C",
|
||||||
|
size: 40,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLM_ADDR2",
|
||||||
|
type: "C",
|
||||||
|
size: 40,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLM_CITY",
|
||||||
|
type: "C",
|
||||||
|
size: 30,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLM_ST",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLM_ZIP",
|
||||||
|
type: "C",
|
||||||
|
size: 11,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLM_CTRY",
|
||||||
|
type: "C",
|
||||||
|
size: 3,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLM_PH1",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLM_PH1X",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLM_PH2",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLM_PH2X",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLM_FAX",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLM_FAXX",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLM_CT_LN",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLM_CT_FN",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLM_TITLE",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLM_CT_PH",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLM_CT_PHX",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLM_EA",
|
||||||
|
type: "C",
|
||||||
|
size: 80,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PAYEE_NMS",
|
||||||
|
type: "C",
|
||||||
|
size: 85,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PAY_TYPE",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PAY_DATE",
|
||||||
|
type: "D",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PAY_CHKNM",
|
||||||
|
type: "C",
|
||||||
|
size: 16,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PAY_AMT",
|
||||||
|
type: "N",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PAY_MEMO",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "AGT_CO_ID",
|
||||||
|
type: "C",
|
||||||
|
size: 5,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "AGT_CO_NM",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "AGT_ADDR1",
|
||||||
|
type: "C",
|
||||||
|
size: 40,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "AGT_ADDR2",
|
||||||
|
type: "C",
|
||||||
|
size: 40,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "AGT_CITY",
|
||||||
|
type: "C",
|
||||||
|
size: 30,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "AGT_ST",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "AGT_ZIP",
|
||||||
|
type: "C",
|
||||||
|
size: 11,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "AGT_CTRY",
|
||||||
|
type: "C",
|
||||||
|
size: 3,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "AGT_PH1",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "AGT_PH1X",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "AGT_PH2",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "AGT_PH2X",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "AGT_FAX",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "AGT_FAXX",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "AGT_CT_LN",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "AGT_CT_FN",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "AGT_CT_PH",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "AGT_CT_PHX",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "AGT_EA",
|
||||||
|
type: "C",
|
||||||
|
size: 80,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "AGT_LIC_NO",
|
||||||
|
type: "C",
|
||||||
|
size: 30,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LOSS_DATE",
|
||||||
|
type: "D",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LOSS_CAT",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LOSS_TYPE",
|
||||||
|
type: "C",
|
||||||
|
size: 7,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LOSS_DESC",
|
||||||
|
type: "C",
|
||||||
|
size: 38,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "THEFT_IND",
|
||||||
|
type: "L",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CAT_NO",
|
||||||
|
type: "C",
|
||||||
|
size: 30,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TLOS_IND",
|
||||||
|
type: "L",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LOSS_MEMO",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CUST_PR",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSD_LN",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSD_FN",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSD_TITLE",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSD_CO_NM",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSD_ADDR1",
|
||||||
|
type: "C",
|
||||||
|
size: 40,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSD_ADDR2",
|
||||||
|
type: "C",
|
||||||
|
size: 40,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSD_CITY",
|
||||||
|
type: "C",
|
||||||
|
size: 30,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSD_ST",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSD_ZIP",
|
||||||
|
type: "C",
|
||||||
|
size: 11,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSD_CTRY",
|
||||||
|
type: "C",
|
||||||
|
size: 3,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSD_PH1",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSD_PH1X",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSD_PH2",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSD_PH2X",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSD_FAX",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSD_FAXX",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSD_EA",
|
||||||
|
type: "C",
|
||||||
|
size: 80,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "OWNR_LN",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "OWNR_FN",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "OWNR_TITLE",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "OWNR_CO_NM",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "OWNR_ADDR1",
|
||||||
|
type: "C",
|
||||||
|
size: 40,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "OWNR_ADDR2",
|
||||||
|
type: "C",
|
||||||
|
size: 40,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "OWNR_CITY",
|
||||||
|
type: "C",
|
||||||
|
size: 30,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "OWNR_ST",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "OWNR_ZIP",
|
||||||
|
type: "C",
|
||||||
|
size: 11,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "OWNR_CTRY",
|
||||||
|
type: "C",
|
||||||
|
size: 3,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "OWNR_PH1",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "OWNR_PH1X",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "OWNR_PH2",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "OWNR_PH2X",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "OWNR_FAX",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "OWNR_FAXX",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "OWNR_EA",
|
||||||
|
type: "C",
|
||||||
|
size: 80,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
];
|
||||||
@@ -0,0 +1,640 @@
|
|||||||
|
import { FieldDescriptor } from "dbffile";
|
||||||
|
|
||||||
|
export const ad2FieldLineDescriptors: FieldDescriptor[] = [
|
||||||
|
{
|
||||||
|
name: "CLMT_LN",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLMT_FN",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLMT_TITLE",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLMT_CO_NM",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLMT_ADDR1",
|
||||||
|
type: "C",
|
||||||
|
size: 40,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLMT_ADDR2",
|
||||||
|
type: "C",
|
||||||
|
size: 40,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLMT_CITY",
|
||||||
|
type: "C",
|
||||||
|
size: 30,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLMT_ST",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLMT_ZIP",
|
||||||
|
type: "C",
|
||||||
|
size: 11,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLMT_CTRY",
|
||||||
|
type: "C",
|
||||||
|
size: 3,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLMT_PH1",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLMT_PH1X",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLMT_PH2",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLMT_PH2X",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLMT_FAX",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLMT_FAXX",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CLMT_EA",
|
||||||
|
type: "C",
|
||||||
|
size: 80,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "EST_CO_ID",
|
||||||
|
type: "C",
|
||||||
|
size: 5,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "EST_CO_NM",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "EST_ADDR1",
|
||||||
|
type: "C",
|
||||||
|
size: 40,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "EST_ADDR2",
|
||||||
|
type: "C",
|
||||||
|
size: 40,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "EST_CITY",
|
||||||
|
type: "C",
|
||||||
|
size: 30,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "EST_ST",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "EST_ZIP",
|
||||||
|
type: "C",
|
||||||
|
size: 11,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "EST_CTRY",
|
||||||
|
type: "C",
|
||||||
|
size: 3,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "EST_PH1",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "EST_PH1X",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "EST_PH2",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "EST_PH2X",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "EST_FAX",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "EST_FAXX",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "EST_CT_LN",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "EST_CT_FN",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "EST_EA",
|
||||||
|
type: "C",
|
||||||
|
size: 80,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "EST_LIC_NO",
|
||||||
|
type: "C",
|
||||||
|
size: 30,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "EST_FILENO",
|
||||||
|
type: "C",
|
||||||
|
size: 25,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSP_CT_LN",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSP_CT_FN",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSP_ADDR1",
|
||||||
|
type: "C",
|
||||||
|
size: 40,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSP_ADDR2",
|
||||||
|
type: "C",
|
||||||
|
size: 40,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSP_CITY",
|
||||||
|
type: "C",
|
||||||
|
size: 30,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSP_ST",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSP_ZIP",
|
||||||
|
type: "C",
|
||||||
|
size: 11,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSP_CTRY",
|
||||||
|
type: "C",
|
||||||
|
size: 3,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSP_PH1",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSP_PH1X",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSP_PH2",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSP_PH2X",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSP_FAX",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSP_FAXX",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSP_EA",
|
||||||
|
type: "C",
|
||||||
|
size: 80,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSP_CODE",
|
||||||
|
type: "C",
|
||||||
|
size: 4,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSP_DESC",
|
||||||
|
type: "C",
|
||||||
|
size: 40,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSP_DATE",
|
||||||
|
type: "D",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "INSP_TIME",
|
||||||
|
type: "C",
|
||||||
|
size: 4,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "RF_CO_ID",
|
||||||
|
type: "C",
|
||||||
|
size: 5,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "RF_CO_NM",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "RF_ADDR1",
|
||||||
|
type: "C",
|
||||||
|
size: 40,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "RF_ADDR2",
|
||||||
|
type: "C",
|
||||||
|
size: 40,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "RF_CITY",
|
||||||
|
type: "C",
|
||||||
|
size: 30,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "RF_ST",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "RF_ZIP",
|
||||||
|
type: "C",
|
||||||
|
size: 11,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "RF_CTRY",
|
||||||
|
type: "C",
|
||||||
|
size: 3,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "RF_PH1",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "RF_PH1X",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "RF_PH2",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "RF_PH2X",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "RF_FAX",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "RF_FAXX",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "RF_CT_LN",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "RF_CT_FN",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "RF_EA",
|
||||||
|
type: "C",
|
||||||
|
size: 80,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "RF_TAX_ID",
|
||||||
|
type: "C",
|
||||||
|
size: 30,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "RF_LIC_NO",
|
||||||
|
type: "C",
|
||||||
|
size: 30,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "RF_BAR_NO",
|
||||||
|
type: "C",
|
||||||
|
size: 30,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "RO_IN_DATE",
|
||||||
|
type: "D",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "RO_IN_TIME",
|
||||||
|
type: "C",
|
||||||
|
size: 4,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "RO_AUTH",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TAR_DATE",
|
||||||
|
type: "D",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TAR_TIME",
|
||||||
|
type: "C",
|
||||||
|
size: 4,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "RO_CMPDATE",
|
||||||
|
type: "D",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "RO_CMPTIME",
|
||||||
|
type: "C",
|
||||||
|
size: 4,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "DATE_OUT",
|
||||||
|
type: "D",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TIME_OUT",
|
||||||
|
type: "C",
|
||||||
|
size: 4,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "RF_ESTIMTR",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "MKTG_TYPE",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "MKTG_SRC",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LOC_NM",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LOC_ADDR1",
|
||||||
|
type: "C",
|
||||||
|
size: 40,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LOC_ADDR2",
|
||||||
|
type: "C",
|
||||||
|
size: 40,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LOC_CITY",
|
||||||
|
type: "C",
|
||||||
|
size: 30,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LOC_ST",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LOC_ZIP",
|
||||||
|
type: "C",
|
||||||
|
size: 11,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LOC_CTRY",
|
||||||
|
type: "C",
|
||||||
|
size: 3,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LOC_PH1",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LOC_PH1X",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LOC_PH2",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LOC_PH2X",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LOC_FAX",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LOC_FAXX",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LOC_CT_LN",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LOC_CT_FN",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LOC_TITLE",
|
||||||
|
type: "C",
|
||||||
|
size: 35,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LOC_PH",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LOC_PHX",
|
||||||
|
type: "C",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LOC_EA",
|
||||||
|
type: "C",
|
||||||
|
size: 80,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
];
|
||||||
@@ -0,0 +1,274 @@
|
|||||||
|
import { FieldDescriptor } from "dbffile";
|
||||||
|
|
||||||
|
export const linFieldLineDescriptors: FieldDescriptor[] = [
|
||||||
|
{
|
||||||
|
name: "LINE_NO",
|
||||||
|
type: "N",
|
||||||
|
size: 3,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LINE_IND",
|
||||||
|
type: "C",
|
||||||
|
size: 3,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LINE_REF",
|
||||||
|
type: "N",
|
||||||
|
size: 3,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TRAN_CODE",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "DB_REF",
|
||||||
|
type: "C",
|
||||||
|
size: 7,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "UNQ_SEQ",
|
||||||
|
type: "N",
|
||||||
|
size: 4,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "WHO_PAYS",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LINE_DESC",
|
||||||
|
type: "C",
|
||||||
|
size: 40,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PART_TYPE",
|
||||||
|
type: "C",
|
||||||
|
size: 4,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PART_DES_J",
|
||||||
|
type: "L",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "GLASS_FLAG",
|
||||||
|
type: "L",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "OEM_PARTNO",
|
||||||
|
type: "C",
|
||||||
|
size: 25,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PRICE_INC",
|
||||||
|
type: "L",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "ALT_PART_I",
|
||||||
|
type: "L",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TAX_PART",
|
||||||
|
type: "L",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "DB_PRICE",
|
||||||
|
type: "N",
|
||||||
|
size: 9,
|
||||||
|
decimalPlaces: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "ACT_PRICE",
|
||||||
|
type: "N",
|
||||||
|
size: 9,
|
||||||
|
decimalPlaces: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PRICE_J",
|
||||||
|
type: "L",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CERT_PART",
|
||||||
|
type: "L",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PART_QTY",
|
||||||
|
type: "N",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "ALT_CO_ID",
|
||||||
|
type: "C",
|
||||||
|
size: 20,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "ALT_PARTNO",
|
||||||
|
type: "C",
|
||||||
|
size: 25,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "ALT_OVERRD",
|
||||||
|
type: "L",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "ALT_PARTM",
|
||||||
|
type: "C",
|
||||||
|
size: 45,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PRT_DSMK_P",
|
||||||
|
type: "N",
|
||||||
|
size: 7,
|
||||||
|
decimalPlaces: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PRT_DSMK_M",
|
||||||
|
type: "N",
|
||||||
|
size: 9,
|
||||||
|
decimalPlaces: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "MOD_LBR_TY",
|
||||||
|
type: "C",
|
||||||
|
size: 4,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "DB_HRS",
|
||||||
|
type: "N",
|
||||||
|
size: 5,
|
||||||
|
decimalPlaces: 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "MOD_LB_HRS",
|
||||||
|
type: "N",
|
||||||
|
size: 5,
|
||||||
|
decimalPlaces: 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LBR_INC",
|
||||||
|
type: "L",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LBR_OP",
|
||||||
|
type: "C",
|
||||||
|
size: 4,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LBR_HRS_J",
|
||||||
|
type: "L",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LBR_TYP_J",
|
||||||
|
type: "L",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LBR_OP_J",
|
||||||
|
type: "L",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PAINT_STG",
|
||||||
|
type: "N",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PAINT_TONE",
|
||||||
|
type: "N",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LBR_TAX",
|
||||||
|
type: "L",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LBR_AMT",
|
||||||
|
type: "N",
|
||||||
|
size: 9,
|
||||||
|
decimalPlaces: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "MISC_AMT",
|
||||||
|
type: "N",
|
||||||
|
size: 9,
|
||||||
|
decimalPlaces: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "MISC_SUBLT",
|
||||||
|
type: "L",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "MISC_TAX",
|
||||||
|
type: "L",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "BETT_TYPE",
|
||||||
|
type: "C",
|
||||||
|
size: 4,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "BETT_PCTG",
|
||||||
|
type: "N",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "BETT_AMT",
|
||||||
|
type: "N",
|
||||||
|
size: 9,
|
||||||
|
decimalPlaces: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "BETT_TAX",
|
||||||
|
type: "L",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
];
|
||||||
@@ -0,0 +1,118 @@
|
|||||||
|
import { FieldDescriptor } from "dbffile";
|
||||||
|
|
||||||
|
export const pfhFieldLineDescriptors: FieldDescriptor[] = [
|
||||||
|
{
|
||||||
|
name: "ID_PRO_NAM",
|
||||||
|
type: "C",
|
||||||
|
size: 40,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TAX_PRETHR",
|
||||||
|
type: "N",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TAX_THRAMT",
|
||||||
|
type: "N",
|
||||||
|
size: 9,
|
||||||
|
decimalPlaces: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TAX_PSTTHR",
|
||||||
|
type: "N",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TAX_TOW_IN",
|
||||||
|
type: "L",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TAX_TOW_RT",
|
||||||
|
type: "N",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TAX_STR_IN",
|
||||||
|
type: "L",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TAX_STR_RT",
|
||||||
|
type: "N",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TAX_SUB_IN",
|
||||||
|
type: "L",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TAX_SUB_RT",
|
||||||
|
type: "N",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TAX_BTR_IN",
|
||||||
|
type: "L",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TAX_LBR_RT",
|
||||||
|
type: "N",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TAX_GST_RT",
|
||||||
|
type: "N",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TAX_GST_IN",
|
||||||
|
type: "L",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "ADJ_G_DISC",
|
||||||
|
type: "N",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "ADJ_TOWDIS",
|
||||||
|
type: "N",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "ADJ_STRDIS",
|
||||||
|
type: "N",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "ADJ_BTR_IN",
|
||||||
|
type: "L",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TAX_PREDIS",
|
||||||
|
type: "N",
|
||||||
|
size: 7,
|
||||||
|
decimalPlaces: 2,
|
||||||
|
},
|
||||||
|
];
|
||||||
@@ -0,0 +1,100 @@
|
|||||||
|
import { FieldDescriptor } from "dbffile";
|
||||||
|
|
||||||
|
export const pflFieldLineDescriptors: FieldDescriptor[] = [
|
||||||
|
{
|
||||||
|
name: "LBR_TYPE",
|
||||||
|
type: "C",
|
||||||
|
size: 4,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LBR_DESC",
|
||||||
|
type: "C",
|
||||||
|
size: 20,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LBR_RATE",
|
||||||
|
type: "N",
|
||||||
|
size: 6,
|
||||||
|
decimalPlaces: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LBR_TAX_IN",
|
||||||
|
type: "L",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LBR_TAXP",
|
||||||
|
type: "N",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LBR_ADJP",
|
||||||
|
type: "N",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LBR_TX_TY1",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LBR_TX_IN1",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LBR_TX_TY2",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LBR_TX_IN2",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LBR_TX_TY3",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LBR_TX_IN3",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LBR_TX_TY4",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LBR_TX_IN4",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LBR_TX_TY5",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "LBR_TX_IN5",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
];
|
||||||
@@ -0,0 +1,166 @@
|
|||||||
|
import { FieldDescriptor } from "dbffile";
|
||||||
|
|
||||||
|
export const pfmFieldLineDescriptors: FieldDescriptor[] = [
|
||||||
|
{
|
||||||
|
name: "MATL_TYPE",
|
||||||
|
type: "C",
|
||||||
|
size: 4,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CAL_CODE",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CAL_DESC",
|
||||||
|
type: "C",
|
||||||
|
size: 20,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CAL_MAXDLR",
|
||||||
|
type: "N",
|
||||||
|
size: 9,
|
||||||
|
decimalPlaces: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CAL_PRIP",
|
||||||
|
type: "N",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CAL_SECP",
|
||||||
|
type: "N",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "MAT_CALP",
|
||||||
|
type: "N",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CAL_PRETHR",
|
||||||
|
type: "N",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CAL_PSTTHR",
|
||||||
|
type: "N",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CAL_THRAMT",
|
||||||
|
type: "N",
|
||||||
|
size: 7,
|
||||||
|
decimalPlaces: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CAL_LBRMIN",
|
||||||
|
type: "N",
|
||||||
|
size: 4,
|
||||||
|
decimalPlaces: 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CAL_LBRMAX",
|
||||||
|
type: "N",
|
||||||
|
size: 4,
|
||||||
|
decimalPlaces: 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CAL_LBRRTE",
|
||||||
|
type: "N",
|
||||||
|
size: 6,
|
||||||
|
decimalPlaces: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "CAL_OPCODE",
|
||||||
|
type: "C",
|
||||||
|
size: 48,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TAX_IND",
|
||||||
|
type: "L",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "MAT_TAXP",
|
||||||
|
type: "N",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "MAT_ADJP",
|
||||||
|
type: "N",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "MAT_TX_TY1",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "MAT_TX_IN1",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "MAT_TX_TY2",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "MAT_TX_IN2",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "MAT_TX_TY3",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "MAT_TX_IN3",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "MAT_TX_TY4",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "MAT_TX_IN4",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "MAT_TX_TY5",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "MAT_TX_IN5",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
];
|
||||||
@@ -0,0 +1,160 @@
|
|||||||
|
import { FieldDescriptor } from "dbffile";
|
||||||
|
|
||||||
|
export const pfoFieldLineDescriptors: FieldDescriptor[] = [
|
||||||
|
{
|
||||||
|
name: "TX_TOW_TY",
|
||||||
|
type: "C",
|
||||||
|
size: 4,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TOW_T_TY1",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TOW_T_IN1",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TOW_T_TY2",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TOW_T_IN2",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TOW_T_TY3",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TOW_T_IN3",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TOW_T_TY4",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TOW_T_IN4",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TOW_T_TY5",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TOW_T_IN5",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TOW_T_TY6",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TOW_T_IN6",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TX_STOR_TY",
|
||||||
|
type: "C",
|
||||||
|
size: 4,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "STOR_T_TY1",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "STOR_T_IN1",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "STOR_T_TY2",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "STOR_T_IN2",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "STOR_T_TY3",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "STOR_T_IN3",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "STOR_T_TY4",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "STOR_T_IN4",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "STOR_T_TY5",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "STOR_T_IN5",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "STOR_T_TY6",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "STOR_T_IN6",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
];
|
||||||
@@ -0,0 +1,100 @@
|
|||||||
|
import { FieldDescriptor } from "dbffile";
|
||||||
|
|
||||||
|
export const pfpFieldLineDescriptors: FieldDescriptor[] = [
|
||||||
|
{
|
||||||
|
name: "PRT_TYPE",
|
||||||
|
type: "C",
|
||||||
|
size: 4,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PRT_TAX_IN",
|
||||||
|
type: "L",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PRT_TAX_RT",
|
||||||
|
type: "N",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PRT_MKUPP",
|
||||||
|
type: "N",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PRT_MKTYP",
|
||||||
|
type: "L",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PRT_DISCP",
|
||||||
|
type: "N",
|
||||||
|
size: 8,
|
||||||
|
decimalPlaces: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PRT_TX_TY1",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PRT_TX_IN1",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PRT_TX_TY2",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PRT_TX_IN2",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PRT_TX_TY3",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PRT_TX_IN3",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PRT_TX_TY4",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PRT_TX_IN4",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PRT_TX_TY5",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PRT_TX_IN5",
|
||||||
|
type: "C",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
];
|
||||||
@@ -0,0 +1,172 @@
|
|||||||
|
import { FieldDescriptor } from "dbffile";
|
||||||
|
|
||||||
|
export const vehFieldLineDescriptors: FieldDescriptor[] = [
|
||||||
|
{
|
||||||
|
name: "IMPACT_1",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "IMPACT_2",
|
||||||
|
type: "C",
|
||||||
|
size: 30,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "DMG_MEMO",
|
||||||
|
type: "C", // Changed from "M" to "C" to allow writing, need to verify if this still works.
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "DB_V_CODE",
|
||||||
|
type: "C",
|
||||||
|
size: 7,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PLATE_NO",
|
||||||
|
type: "C",
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PLATE_ST",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "V_VIN",
|
||||||
|
type: "C",
|
||||||
|
size: 25,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "V_COND",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "V_PROD_DT",
|
||||||
|
type: "C",
|
||||||
|
size: 4,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "V_MODEL_YR",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "V_MAKECODE",
|
||||||
|
type: "C",
|
||||||
|
size: 12,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "V_MAKEDESC",
|
||||||
|
type: "C",
|
||||||
|
size: 20,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "V_MODEL",
|
||||||
|
type: "C",
|
||||||
|
size: 50,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "V_TYPE",
|
||||||
|
type: "C",
|
||||||
|
size: 2,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "V_BSTYLE",
|
||||||
|
type: "C",
|
||||||
|
size: 20,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "V_TRIMCODE",
|
||||||
|
type: "C",
|
||||||
|
size: 20,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TRIM_COLOR",
|
||||||
|
type: "C",
|
||||||
|
size: 20,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "V_MLDGCODE",
|
||||||
|
type: "C",
|
||||||
|
size: 20,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "V_ENGINE",
|
||||||
|
type: "C",
|
||||||
|
size: 20,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "V_MILEAGE",
|
||||||
|
type: "C",
|
||||||
|
size: 6,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "V_OPTIONS",
|
||||||
|
type: "C", // Changed from "M" to "C" to allow writing, need to verify if this still works.
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "V_COLOR",
|
||||||
|
type: "C",
|
||||||
|
size: 20,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "V_TONE",
|
||||||
|
type: "N",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "V_STAGE",
|
||||||
|
type: "N",
|
||||||
|
size: 1,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PAINT_CD1",
|
||||||
|
type: "C",
|
||||||
|
size: 15,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PAINT_CD2",
|
||||||
|
type: "C",
|
||||||
|
size: 15,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PAINT_CD3",
|
||||||
|
type: "C",
|
||||||
|
size: 15,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "V_MEMO", //dbffile does not support writing to a memo field.
|
||||||
|
type: "C", // Changed from "M" to "C" to allow writing, need to verify if this still works.
|
||||||
|
size: 10,
|
||||||
|
decimalPlaces: 0,
|
||||||
|
},
|
||||||
|
];
|
||||||
27
src/main/util/uppercaseObjectKeys.ts
Normal file
27
src/main/util/uppercaseObjectKeys.ts
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
/**
|
||||||
|
* Converts all keys of an object to uppercase
|
||||||
|
* @param obj The object whose keys need to be converted to uppercase
|
||||||
|
* @returns A new object with all keys converted to uppercase
|
||||||
|
*/
|
||||||
|
function uppercaseObjectKeys<T extends Record<string, any>>(
|
||||||
|
obj: T,
|
||||||
|
): Record<string, any> {
|
||||||
|
if (typeof obj !== "object" || obj === null) {
|
||||||
|
return obj;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Object.entries(obj).reduce(
|
||||||
|
(result, [key, value]) => {
|
||||||
|
const uppercaseKey = key.toUpperCase();
|
||||||
|
const newValue =
|
||||||
|
typeof value === "object" && value !== null
|
||||||
|
? uppercaseObjectKeys(value)
|
||||||
|
: value;
|
||||||
|
|
||||||
|
result[uppercaseKey] = newValue;
|
||||||
|
return result;
|
||||||
|
},
|
||||||
|
{} as Record<string, any>,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
export default uppercaseObjectKeys;
|
||||||
Reference in New Issue
Block a user