IO-3437 Beta 4
This commit is contained in:
@@ -42,6 +42,7 @@ const EmsPartsOrderGenerateAd2File = async (
|
||||
CLMT_CT_PH: partsOrder.job.clm_ct_ph,
|
||||
CLMT_CT_PHX: partsOrder.job.clm_ct_phx,
|
||||
CLMT_EA: partsOrder.job.clm_ea,
|
||||
RF_CO_NM: partsOrder.job.bodyshop.shopname,
|
||||
},
|
||||
];
|
||||
|
||||
|
||||
@@ -13,35 +13,47 @@ const EmsPartsOrderGenerateEnvFile = async (
|
||||
try {
|
||||
const dateNow = new Date();
|
||||
const formatTime = (date: Date): string =>
|
||||
[date.getHours(), date.getMinutes(), date.getSeconds()]
|
||||
.map((unit) => String(unit).padStart(2, "0"))
|
||||
.join("");
|
||||
const formatDate = (date: Date): string =>
|
||||
`${String(date.getMonth() + 1).padStart(2, "0")}/${String(
|
||||
date.getDate(),
|
||||
).padStart(2, "0")}/${date.getFullYear()}`;
|
||||
`${date.getHours().toString().padStart(2, "0")}${date.getMinutes().toString().padStart(2, "0")}${date.getSeconds().toString().padStart(2, "0")}`;
|
||||
|
||||
const {
|
||||
job: { ro_number, ciecaid },
|
||||
} = partsOrder;
|
||||
|
||||
// Find the highest line_ind value
|
||||
const lineInds = partsOrder.parts_order_lines.map(
|
||||
(line) => line.jobline.line_ind,
|
||||
);
|
||||
const getNumber = (str: string): number => {
|
||||
const match = str.match(/(\d+)$/);
|
||||
return match ? parseInt(match[1], 10) : 0;
|
||||
};
|
||||
const highestLineInd = lineInds.reduce(
|
||||
(max, current) => (getNumber(current) > getNumber(max) ? current : max),
|
||||
lineInds[0] || "",
|
||||
);
|
||||
|
||||
const records = [
|
||||
{
|
||||
EST_SYSTEM: "M",
|
||||
SW_VERSION: "25.3",
|
||||
DB_VERSION: "OCT_25_V",
|
||||
DB_DATE: formatDate(dateNow),
|
||||
RO_ID: partsOrder.job.ro_number,
|
||||
ESTFILE_ID: partsOrder.job.ciecaid,
|
||||
SUPP_NO: "1",
|
||||
EST_CTRY: "CA",
|
||||
TRANS_TYPE: "S",
|
||||
DB_DATE: dateNow,
|
||||
RO_ID: ro_number,
|
||||
ESTFILE_ID: ciecaid,
|
||||
SUPP_NO: highestLineInd ? getNumber(highestLineInd).toString() : "1",
|
||||
EST_CTRY: "CAN",
|
||||
TOP_SECRET: "00000000-0000-0000-0000-000000000000",
|
||||
TRANS_TYPE: highestLineInd ? highestLineInd.charAt(0) : "S",
|
||||
STATUS: false,
|
||||
CREATE_DT: formatDate(dateNow),
|
||||
CREATE_DT: dateNow,
|
||||
CREATE_TM: formatTime(dateNow),
|
||||
TRANSMT_DT: formatDate(dateNow),
|
||||
TRANSMT_DT: dateNow,
|
||||
TRANSMT_TM: formatTime(dateNow),
|
||||
INCL_ADMIN: true,
|
||||
INCL_VEH: true,
|
||||
INCL_EST: true,
|
||||
INCL_PROFL: true,
|
||||
INCL_TOTAL: true,
|
||||
INCL_PROFL: false,
|
||||
INCL_TOTAL: false,
|
||||
INCL_VENDR: false,
|
||||
EMS_VER: "2.0",
|
||||
},
|
||||
|
||||
@@ -18,9 +18,7 @@ const EmsPartsOrderGenerateLinFile = async (
|
||||
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,
|
||||
PART_DESCJ: partsOrderLine.jobline?.part_descj,
|
||||
|
||||
PART_DES_J: false,
|
||||
LINE_DESC: partsOrderLine.jobline?.line_desc,
|
||||
PART_TYPE:
|
||||
partsOrderLine.priceChange === true
|
||||
|
||||
@@ -17,7 +17,7 @@ const EmsPartsOrderGeneratePflFile = async (
|
||||
let records;
|
||||
|
||||
if (partsOrder.job.cieca_pfl && !_.isEmpty(partsOrder.job.cieca_pfl)) {
|
||||
Object.keys(partsOrder.job.cieca_pfl).map((key) => {
|
||||
records = Object.keys(partsOrder.job.cieca_pfl).map((key) => {
|
||||
const record: DecodedPflLine = partsOrder.job.cieca_pfl[key];
|
||||
return uppercaseObjectKeys(record);
|
||||
});
|
||||
|
||||
@@ -59,6 +59,7 @@ const generateEMSPartsOrder = async (
|
||||
await EmsPartsOrderGenerateAd2File(partsOrder);
|
||||
await EmsPartsOrderGenerateVehFile(partsOrder);
|
||||
await EmsPartsOrderGenerateLinFile(partsOrder);
|
||||
// These are not needed
|
||||
await EmsPartsOrderGeneratePfhFile(partsOrder);
|
||||
await EmsPartsOrderGeneratePflFile(partsOrder);
|
||||
await EmsPartsOrderGeneratePfmFile(partsOrder);
|
||||
@@ -66,6 +67,7 @@ const generateEMSPartsOrder = async (
|
||||
await EmsPartsOrderGeneratePfpFile(partsOrder);
|
||||
await EmsPartsOrderGeneratePftFile(partsOrder);
|
||||
await EmsPartsOrderGenerateStlFile(partsOrder);
|
||||
// Till Here
|
||||
await EmsPartsOrderGenerateTtlFile(partsOrder);
|
||||
|
||||
await EmsPartsOrderGenerateEnvFile(partsOrder);
|
||||
|
||||
@@ -21,8 +21,8 @@ export const envFieldLineDescriptors: FieldDescriptor[] = [
|
||||
},
|
||||
{
|
||||
name: "DB_DATE",
|
||||
type: "C",
|
||||
size: 10,
|
||||
type: "D",
|
||||
size: 8,
|
||||
decimalPlaces: 0,
|
||||
},
|
||||
{
|
||||
@@ -87,8 +87,8 @@ export const envFieldLineDescriptors: FieldDescriptor[] = [
|
||||
},
|
||||
{
|
||||
name: "CREATE_DT",
|
||||
type: "C",
|
||||
size: 10,
|
||||
type: "D",
|
||||
size: 8,
|
||||
decimalPlaces: 0,
|
||||
},
|
||||
{
|
||||
@@ -99,8 +99,8 @@ export const envFieldLineDescriptors: FieldDescriptor[] = [
|
||||
},
|
||||
{
|
||||
name: "TRANSMT_DT",
|
||||
type: "C",
|
||||
size: 10,
|
||||
type: "D",
|
||||
size: 8,
|
||||
decimalPlaces: 0,
|
||||
},
|
||||
{
|
||||
|
||||
@@ -45,7 +45,7 @@ export const pfpFieldLineDescriptors: FieldDescriptor[] = [
|
||||
},
|
||||
{
|
||||
name: "PRT_TX_IN1",
|
||||
type: "C",
|
||||
type: "L",
|
||||
size: 1,
|
||||
decimalPlaces: 0,
|
||||
},
|
||||
@@ -57,7 +57,7 @@ export const pfpFieldLineDescriptors: FieldDescriptor[] = [
|
||||
},
|
||||
{
|
||||
name: "PRT_TX_IN2",
|
||||
type: "C",
|
||||
type: "L",
|
||||
size: 1,
|
||||
decimalPlaces: 0,
|
||||
},
|
||||
@@ -69,7 +69,7 @@ export const pfpFieldLineDescriptors: FieldDescriptor[] = [
|
||||
},
|
||||
{
|
||||
name: "PRT_TX_IN3",
|
||||
type: "C",
|
||||
type: "L",
|
||||
size: 1,
|
||||
decimalPlaces: 0,
|
||||
},
|
||||
@@ -81,7 +81,7 @@ export const pfpFieldLineDescriptors: FieldDescriptor[] = [
|
||||
},
|
||||
{
|
||||
name: "PRT_TX_IN4",
|
||||
type: "C",
|
||||
type: "L",
|
||||
size: 1,
|
||||
decimalPlaces: 0,
|
||||
},
|
||||
@@ -93,7 +93,7 @@ export const pfpFieldLineDescriptors: FieldDescriptor[] = [
|
||||
},
|
||||
{
|
||||
name: "PRT_TX_IN5",
|
||||
type: "C",
|
||||
type: "L",
|
||||
size: 1,
|
||||
decimalPlaces: 0,
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user