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