Schema ETL ESB Prediction
Schema ETL ESB Prediction
1. tr_saleshead
a. branchID
b. salesDate
c. statusID
d. subtotal
e. discountTotal
f. menuDiscountTotal
g. salesNum
2. tr_salespayment
a. salesNum
b. paymentMethodID
c. paymentAmount
3. ms_paymentmethod
a. paymentMethodID
b. paymentMethodTypeID
4. tr_saleslink
a. salesNum
b. linkSalesNum
5. ms_branch
a. branchID
b. branchCode
c. branchName
1. tr_saleshead
CREATE TABLE `tr_saleshead` (
`salesNum` varchar(20) NOT NULL,
`billNum` varchar(20) DEFAULT NULL,
`bookNum` varchar(20) DEFAULT NULL,
`queueNum` varchar(10) DEFAULT NULL,
`salesDate` date DEFAULT NULL,
`salesDateIn` datetime NOT NULL,
`salesDateOut` datetime DEFAULT NULL,
`branchID` int(11) NOT NULL,
`tenantID` int(11) DEFAULT NULL,
`memberID` varchar(20) DEFAULT NULL,
`employeeCode` varchar(50) NOT NULL,
`employeeName` varchar(100) DEFAULT NULL,
`employeeType` varchar(50) DEFAULT NULL,
`memberCode` varchar(20) DEFAULT NULL,
`tableID` int(11) NOT NULL,
`visitPurposeID` int(11) NOT NULL,
`visitorTypeID` int(11) DEFAULT NULL,
`questionID` int(11) DEFAULT '0',
`paxTotal` int(11) NOT NULL,
`subtotal` decimal(20,4) NOT NULL,
`discountTotal` decimal(20,4) NOT NULL,
`menuDiscountTotal` decimal(20,4) NOT NULL,
`promotionDiscount` decimal(20,4) NOT NULL,
`voucherDiscountTotal` decimal(20,4) DEFAULT NULL,
`otherTaxTotal` decimal(20,4) NOT NULL,
`vatTotal` decimal(20,4) NOT NULL,
`otherVatTotal` decimal(20,4) DEFAULT '0.0000',
`deliveryCost` decimal(20,4) DEFAULT NULL,
`orderFee` decimal(20,4) DEFAULT NULL,
`grandTotal` decimal(20,4) NOT NULL,
`voucherTotal` decimal(20,4) NOT NULL,
`roundingTotal` decimal(20,4) DEFAULT NULL,
`paymentTotal` decimal(20,4) NOT NULL,
`billingPrintCount` int(11) NOT NULL,
`paymentPrintCount` int(11) NOT NULL,
`additionalInfo` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT
NULL,
`remarks` varchar(200) DEFAULT NULL,
`promotionID` int(11) DEFAULT NULL,
`promotionVoucherCode` varchar(50) DEFAULT NULL,
`flagInclusive` int(1) DEFAULT NULL,
`transactionModeID` int(11) DEFAULT NULL,
`externalMembershipTypeID` varchar(20) DEFAULT NULL,
`flagExternalAPI` int(11) DEFAULT NULL,
`flagExternalMemberID` varchar(50) DEFAULT NULL,
`flagExternalMemberPhone` varchar(20) DEFAULT NULL,
`flagExternalCardID` varchar(50) DEFAULT NULL,
`externalMemberName` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
DEFAULT NULL,
`externalTransID` varchar(50) DEFAULT NULL,
`externalCancelTransID` varchar(50) DEFAULT NULL,
`terminalID` varchar(50) DEFAULT NULL,
`printEsoFsQr` int(11) DEFAULT '0',
`statusID` int(11) NOT NULL,
`flagManualUpdate` tinyint(1) DEFAULT NULL,
`createdBy` varchar(100) NOT NULL,
`editedBy` varchar(100) DEFAULT NULL,
`editedDate` datetime DEFAULT NULL,
`syncDate` datetime DEFAULT NULL,
PRIMARY KEY (`salesNum`),
KEY `idx_billNum_tr_saleshead` (`billNum`),
KEY `idx_tr_saleshead_statusid_branchid_salesdate` (`statusID`,`branchID`,`salesDate`),
KEY `idx_tr_saleshead_memberID` (`memberID`),
KEY `idx_tr_saleshead_memberCode` (`memberCode`),
KEY `tr_saleshead_salesDate` (`salesDate`),
KEY `idx_tr_saleshead_salesDateOut` (`salesDateOut`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
2. tr_salespayment
CREATE TABLE `tr_salespayment` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`localID` int(11) DEFAULT NULL,
`salesNum` varchar(50) NOT NULL,
`paymentMethodID` int(11) NOT NULL,
`voucherCode` varchar(50) NOT NULL,
`voucherCategoryID` int(11) DEFAULT NULL,
`notes` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
`cardNumber` varchar(20) NOT NULL,
`bankName` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`accountName` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`selfOrderID` varchar(50) DEFAULT NULL,
`verificationCode` varchar(100) NOT NULL,
`traceNumber` varchar(50) DEFAULT NULL,
`canceledVerificationCode` varchar(100) DEFAULT NULL,
`flagExternalVoucherAPI` int(1) DEFAULT NULL,
`externalVoucherCode` varchar(50) DEFAULT NULL,
`externalTransactionId` varchar(50) DEFAULT NULL,
`externalBatchNumber` varchar(50) DEFAULT NULL,
`externalCanceledTransactionId` varchar(50) DEFAULT NULL,
`externalCanceledBatchNumber` varchar(50) DEFAULT NULL,
`coaNo` varchar(20) NOT NULL,
`previousDepositBalance` decimal(20,4) DEFAULT NULL,
`merchantDiscountRate` decimal(20,4) DEFAULT '0.0000',
`paymentAmount` decimal(20,4) NOT NULL,
`fullPaymentAmount` decimal(20,4) DEFAULT NULL,
`syncDate` datetime DEFAULT NULL,
`edcTerminalID` varchar(50) DEFAULT NULL,
PRIMARY KEY (`ID`),
KEY `tr_salespayment_salesNum` (`salesNum`),
KEY `tr_salespayment_paymentMethodID` (`paymentMethodID`),
KEY `idx_tr_salespayment_selfOrderID` (`selfOrderID`)
) ENGINE=InnoDB AUTO_INCREMENT=8250336 DEFAULT CHARSET=utf8
ROW_FORMAT=DYNAMIC;
3. ms_paymentmethod
CREATE TABLE `ms_paymentmethod` (
`paymentMethodID` int(11) NOT NULL AUTO_INCREMENT,
`paymentMethodTypeID` int(11) NOT NULL,
`voucherTypeID` int(11) DEFAULT NULL,
`voucherSourceID` int(11) DEFAULT NULL,
`voucherCategoryID` int(11) DEFAULT NULL,
`paymentMethodName` varchar(50) NOT NULL,
`paymentMethodCode` varchar(50) DEFAULT NULL,
`parentID` int(11) NOT NULL,
`coaNo` varchar(20) NOT NULL,
`merchantDiscountRate` decimal(20,4) NOT NULL DEFAULT '0.0000',
`printedCount` int(11) NOT NULL,
`fixedAmount` decimal(20,4) DEFAULT NULL,
`posExternalPaymentID` varchar(10) DEFAULT NULL,
`cardNumberValidationTypeID` int(11) DEFAULT NULL,
`flagMandatoryCardNumber` tinyint(1) DEFAULT NULL,
`flagMandatoryVerificationCode` tinyint(1) DEFAULT NULL,
`flagOpenCashdrawer` tinyint(1) NOT NULL DEFAULT '0',
`flagAuthorization` tinyint(1) NOT NULL DEFAULT '0',
`flagUseEmployeeLimit` tinyint(1) DEFAULT NULL,
`flagActive` tinyint(1) NOT NULL DEFAULT '0',
`flagAllVisitPurpose` tinyint(1) DEFAULT '0',
`flagIncludeTotalSpent` tinyint(1) DEFAULT NULL,
`depositSourceID` int(11) DEFAULT NULL,
`buttonColor` varchar(50) DEFAULT '',
`createdBy` varchar(100) NOT NULL,
`createdDate` datetime NOT NULL,
`editedBy` varchar(100) DEFAULT NULL,
`editedDate` datetime DEFAULT NULL,
PRIMARY KEY (`paymentMethodID`),
KEY `ms_paymentmethod_paymentMethodTypeID` (`paymentMethodTypeID`),
KEY `idx_ms_paymentmethod_paymentmethodty_paymentmethodid`
(`paymentMethodTypeID`,`paymentMethodID`)
) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
4. tr_saleslink
CREATE TABLE `tr_saleslink` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`localID` int(11) DEFAULT NULL,
`salesNum` varchar(50) NOT NULL,
`linkSalesNum` varchar(50) NOT NULL,
`syncDate` datetime DEFAULT NULL,
PRIMARY KEY (`ID`),
KEY `tr_saleslink_salesNum` (`salesNum`),
KEY `idx_tr_saleslink_linkSalesNum` (`linkSalesNum`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
5. ms_branch
CREATE TABLE `ms_branch` (
`branchID` int(11) NOT NULL AUTO_INCREMENT,
`branchTypeID` int(11) NOT NULL,
`branchCode` varchar(20) DEFAULT NULL,
`extBranchCode` varchar(20) DEFAULT NULL,
`branchName` varchar(50) NOT NULL,
`branchNameESBOrder` varchar(50) DEFAULT NULL,
`address` varchar(200) DEFAULT NULL,
`latitude` decimal(11,8) DEFAULT NULL,
`longitude` decimal(11,8) DEFAULT NULL,
`phone` varchar(20) DEFAULT NULL,
`postalCode` varchar(10) DEFAULT NULL,
`printingHeader` varchar(500) NOT NULL,
`printingFooter` varchar(500) NOT NULL,
`printingCheckerFooter` varchar(500) DEFAULT NULL,
`additionalTaxName` varchar(100) NOT NULL,
`additionalTaxValue` decimal(18,2) NOT NULL,
`flagOtherTaxVat` tinyint(1) NOT NULL,
`image` longtext,
`flagHeaderImageOriginalSize` smallint(1) NOT NULL DEFAULT '0',
`imageFooter` longtext,
`flagFooterImageOriginalSize` smallint(1) NOT NULL DEFAULT '0',
`selfOrderBanner` text,
`menuTemplateID` int(11) DEFAULT NULL,
`posModeID` int(11) DEFAULT NULL,
`taxName` varchar(100) NOT NULL,
`taxValue` decimal(18,2) NOT NULL,
`vatName` varchar(50) DEFAULT NULL,
`vatSubject` tinyint(1) DEFAULT NULL,
`posTaxCalculationID` int(11) DEFAULT NULL,
`posOtherTaxCalculationID` int(11) DEFAULT NULL,
`timezoneID` int(11) DEFAULT NULL,
`autoEmailUsername` text,
`flagActive` tinyint(1) NOT NULL DEFAULT '0',
`openDate` datetime DEFAULT NULL,
`closeDate` datetime DEFAULT NULL,
`serverOnlyCount` int(11) DEFAULT '0',
`cashierCount` int(11) DEFAULT '0',
`orderCount` int(11) DEFAULT '0',
`tabCount` int(11) DEFAULT '0',
`brandID` int(11) DEFAULT NULL,
`districtID` int(11) DEFAULT NULL,
`subDistrictID` int(11) DEFAULT NULL,
`posVersion` varchar(50) DEFAULT NULL,
`odsVersion` varchar(50) DEFAULT NULL,
`kioskVersion` varchar(50) DEFAULT NULL,
`tableSideVersion` varchar(50) DEFAULT NULL,
`createdBy` varchar(100) NOT NULL,
`createdDate` datetime NOT NULL,
`editedBy` varchar(100) DEFAULT NULL,
`editedDate` datetime DEFAULT NULL,
PRIMARY KEY (`branchID`)
) ENGINE=InnoDB AUTO_INCREMENT=65 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
2. fact_sales_prediction
CREATE TABLE `fact_sales_prediction` (
`con` varchar(100) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`dbName` varchar(100) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`salesDate` date NOT NULL,
`branchID` int(11) NOT NULL,
`netSalesPred` decimal(22,2) DEFAULT NULL,
`createdAt` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
`updatedAt` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`con`,`dbName`,`salesDate`,`branchID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY RANGE (month(`salesDate`))
(PARTITION P1 VALUES LESS THAN (2) ENGINE = InnoDB,
PARTITION P2 VALUES LESS THAN (3) ENGINE = InnoDB,
PARTITION P3 VALUES LESS THAN (4) ENGINE = InnoDB,
PARTITION P4 VALUES LESS THAN (5) ENGINE = InnoDB,
PARTITION P5 VALUES LESS THAN (6) ENGINE = InnoDB,
PARTITION P6 VALUES LESS THAN (7) ENGINE = InnoDB,
PARTITION P7 VALUES LESS THAN (8) ENGINE = InnoDB,
PARTITION P8 VALUES LESS THAN (9) ENGINE = InnoDB,
PARTITION P9 VALUES LESS THAN (10) ENGINE = InnoDB,
PARTITION P10 VALUES LESS THAN (11) ENGINE = InnoDB,
PARTITION P11 VALUES LESS THAN (12) ENGINE = InnoDB,
PARTITION P12 VALUES LESS THAN (13) ENGINE = InnoDB) */;
3. fact_sales_actual
CREATE TABLE `fact_sales_actual` (
`con` varchar(100) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`dbName` varchar(100) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`salesDate` date NOT NULL,
`branchID` int(11) NOT NULL,
`netSales` decimal(22,2) DEFAULT NULL,
`createdAt` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
`updatedAt` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`con`,`dbName`,`salesDate`,`branchID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
4. dim_branch
CREATE TABLE `dim_branch` (
`dbName` varchar(100) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`companyCode` varchar(100) CHARACTER SET latin1 COLLATE latin1_swedish_ci DEFAULT NULL,
`companyName` varchar(100) CHARACTER SET latin1 COLLATE latin1_swedish_ci DEFAULT NULL,
`branchID` int(11) NOT NULL,
`branchCode` varchar(50) CHARACTER SET latin1 COLLATE latin1_swedish_ci DEFAULT NULL,
`branchName` varchar(250) CHARACTER SET latin1 COLLATE latin1_swedish_ci DEFAULT NULL,
`createdAt` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
`updatedAt` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`dbName`,`branchID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;