IO-3437 Beta 4

This commit is contained in:
Allan Carr
2025-11-10 20:06:43 -08:00
parent a322fb5ca4
commit e8d69d0b09
7 changed files with 45 additions and 32 deletions

View File

@@ -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,
},
];

View File

@@ -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",
},

View File

@@ -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

View File

@@ -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);
});

View File

@@ -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);

View File

@@ -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,
},
{

View File

@@ -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,
},