@@ -30,6 +30,8 @@ dependencies { | |||
implementation 'org.liquibase:liquibase-core' | |||
implementation 'com.google.code.gson:gson:2.8.5' | |||
implementation group: 'org.springframework.cloud', name: 'spring-cloud-context', version: '4.2.1' | |||
implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.12.0' | |||
implementation group: 'org.apache.poi', name: 'poi', version: '5.2.3' | |||
implementation group: 'org.apache.poi', name: 'poi-ooxml', version: '5.2.3' | |||
@@ -1,4 +1,4 @@ | |||
package com.ffii.fpsms.modules.stock.entity | |||
package com.ffii.fpsms.m18.entity | |||
import com.ffii.core.entity.BaseEntity | |||
import jakarta.persistence.Column | |||
@@ -8,26 +8,30 @@ import jakarta.validation.constraints.NotNull | |||
import jakarta.validation.constraints.Size | |||
import org.hibernate.annotations.JdbcTypeCode | |||
import org.hibernate.type.SqlTypes | |||
import java.time.LocalDateTime | |||
@Entity | |||
@Table(name = "m18_data_log") | |||
open class M18DataLog : BaseEntity<Long>() { | |||
@Size(max = 10) | |||
@Size(max = 1000) | |||
@NotNull | |||
@Column(name = "refType", nullable = false, length = 10) | |||
@Column(name = "refType", nullable = false, length = 1000) | |||
open var refType: String? = null | |||
@NotNull | |||
@Column(name = "m18Id", nullable = false) | |||
open var m18Id: Int? = null | |||
open var m18Id: Long? = null | |||
@NotNull | |||
@JdbcTypeCode(SqlTypes.JSON) | |||
@Column(name = "dataLog", nullable = false) | |||
open var dataLog: MutableMap<String, Any>? = null | |||
open var dataLog: MutableMap<String, Any?>? = null | |||
@Size(max = 5) | |||
@NotNull | |||
@Column(name = "status", nullable = false, length = 5) | |||
open var status: String? = null | |||
@Column(name = "status", nullable = false) | |||
open var status: Boolean? = null | |||
@NotNull | |||
@Column(name = "m18LastModifyDate", nullable = false) | |||
open var m18LastModifyDate: LocalDateTime? = null | |||
} |
@@ -1,8 +1,9 @@ | |||
package com.ffii.fpsms.modules.stock.entity | |||
package com.ffii.fpsms.m18.entity | |||
import com.ffii.core.support.AbstractRepository | |||
import org.springframework.stereotype.Repository | |||
@Repository | |||
interface M18DataLogRepository : AbstractRepository<M18DataLog, Long> { | |||
fun findFirstByM18IdAndRefTypeAndDeletedIsFalseOrderByM18LastModifyDateDesc(m18Id: Long, refType: String): M18DataLog? | |||
} |
@@ -0,0 +1,12 @@ | |||
package com.ffii.fpsms.m18.model | |||
import java.time.LocalDateTime | |||
data class SaveM18DataLogRequest ( | |||
val id: Long?, | |||
val refType: String?, | |||
val m18Id: Long?, | |||
val m18LastModifyDate: LocalDateTime?, | |||
val dataLog: MutableMap<String, Any?>?, | |||
val status: Boolean? = true, | |||
) |
@@ -0,0 +1,8 @@ | |||
package com.ffii.fpsms.m18.model | |||
data class M18DataLogResponse ( | |||
val id: Long?, | |||
val refType: String?, | |||
val m18Id: Long?, | |||
val status: Boolean?, | |||
) |
@@ -1,4 +1,4 @@ | |||
package com.ffii.fpsms.m18.modals | |||
package com.ffii.fpsms.m18.model | |||
data class M18TokenRequest( | |||
val grant_type: String, |
@@ -1,4 +1,4 @@ | |||
package com.ffii.fpsms.m18.modals | |||
package com.ffii.fpsms.m18.model | |||
data class M18TokenResponse( | |||
val access_token: String, |
@@ -1,37 +1,54 @@ | |||
server: | |||
servlet: | |||
contextPath: /api | |||
encoding: | |||
charset: UTF-8 | |||
enabled: true | |||
force: true | |||
port: 8090 | |||
error: | |||
include-message: always | |||
servlet: | |||
contextPath: /api | |||
encoding: | |||
charset: UTF-8 | |||
enabled: true | |||
force: true | |||
port: 8090 | |||
error: | |||
include-message: always | |||
spring: | |||
servlet: | |||
multipart: | |||
max-file-size: 500MB | |||
max-request-size: 600MB | |||
jpa: | |||
hibernate: | |||
naming: | |||
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl | |||
database-platform: org.hibernate.dialect.MySQL8Dialect | |||
properties: | |||
hibernate: | |||
dialect: | |||
storage_engine: innodb | |||
servlet: | |||
multipart: | |||
max-file-size: 500MB | |||
max-request-size: 600MB | |||
jpa: | |||
hibernate: | |||
naming: | |||
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl | |||
database-platform: org.hibernate.dialect.MySQL8Dialect | |||
properties: | |||
hibernate: | |||
dialect: | |||
storage_engine: innodb | |||
logging: | |||
config: 'classpath:log4j2.yml' | |||
config: 'classpath:log4j2.yml' | |||
m18: | |||
config: | |||
grant-type: password | |||
client-id: M2Y1OGYxMmQtZDRiOS00OTA4LTgyNTktZDRkNzEzNWVkMzRm | |||
client-secret: M2Y2YjQzYzQtZTc2Mi00OTFhLTkwYmItYmJhMzFjZjEyYmY5 | |||
username: testingMTMS | |||
password: db25f2fc14cd2d2b1e7af307241f548fb03c312a | |||
base-url: http://16.162.251.126/jsf/rfws | |||
config: | |||
grant-type: password | |||
client-id: M2Y1OGYxMmQtZDRiOS00OTA4LTgyNTktZDRkNzEzNWVkMzRm | |||
client-secret: M2Y2YjQzYzQtZTc2Mi00OTFhLTkwYmItYmJhMzFjZjEyYmY5 | |||
username: testingMTMS | |||
password: db25f2fc14cd2d2b1e7af307241f548fb03c312a | |||
base-url: http://16.162.251.126/jsf/rfws | |||
base-password: qwer1234 | |||
beId: | |||
toa: 29 | |||
pp: 27 | |||
pf: 1 | |||
seriesId: | |||
pp: 26 | |||
pf: 33 | |||
fa: 2 | |||
fb: 3 | |||
fc: 4 | |||
fd: 5 | |||
ff: 6 | |||
sc: 27 | |||
se: 28 | |||
sf: 70 | |||
sr: 29 |
@@ -4,23 +4,24 @@ | |||
CREATE TABLE items | |||
( | |||
id INT NOT NULL AUTO_INCREMENT, | |||
version INT NOT NULL DEFAULT '0', | |||
created datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, | |||
createdBy VARCHAR(30) NULL, | |||
modified datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, | |||
modifiedBy VARCHAR(30) NULL, | |||
deleted TINYINT(1) NOT NULL DEFAULT '0', | |||
`code` VARCHAR(50) NOT NULL, | |||
`name` VARCHAR(50) NOT NULL, | |||
description VARCHAR(100) NULL, | |||
remarks varchar(500) NULL, | |||
type VARCHAR(50) NOT NULL, | |||
uomId INT(11) NOT NULL DEFAULT 0, | |||
shelfLife INT(11) NULL, | |||
countryOfOrigin varchar(50) NULL, | |||
maxQty DECIMAL(16, 2) NULL, | |||
m18Id INT(11) NULL, | |||
id INT NOT NULL AUTO_INCREMENT, | |||
version INT NOT NULL DEFAULT '0', | |||
created datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, | |||
createdBy VARCHAR(30) NULL, | |||
modified datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, | |||
modifiedBy VARCHAR(30) NULL, | |||
deleted TINYINT(1) NOT NULL DEFAULT '0', | |||
`code` VARCHAR(50) NOT NULL, | |||
`name` VARCHAR(500) NOT NULL, | |||
description VARCHAR(500) NULL, | |||
remarks varchar(500) NULL, | |||
type VARCHAR(50) NOT NULL, | |||
uomId INT(11) NOT NULL DEFAULT 0, | |||
shelfLife INT(11) NULL, | |||
countryOfOrigin varchar(50) NULL, | |||
maxQty DECIMAL(16, 2) NULL, | |||
m18Id INT(11) NULL, | |||
m18LastModifyDate datetime NOT NULL, | |||
CONSTRAINT pk_material PRIMARY KEY (id) | |||
); | |||
CREATE TABLE uom_conversion | |||
@@ -3,26 +3,27 @@ | |||
--changeset cyril:master data for shop and warehouse | |||
CREATE TABLE `shop` | |||
( | |||
`id` INT NOT NULL AUTO_INCREMENT, | |||
`created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, | |||
`createdBy` VARCHAR(30) NULL DEFAULT NULL, | |||
`version` INT NOT NULL DEFAULT '0', | |||
`modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, | |||
`modifiedBy` VARCHAR(30) NULL DEFAULT NULL, | |||
`deleted` TINYINT(1) NOT NULL DEFAULT '0', | |||
`code` VARCHAR(30) NOT NULL, | |||
`name` VARCHAR(30) NOT NULL, | |||
`brNo` VARCHAR(30) NULL, | |||
`contactNo` VARCHAR(30) NULL, | |||
`contactEmail` VARCHAR(30) NULL, | |||
`contactName` VARCHAR(30) NULL, | |||
`addr1` VARCHAR(30) NULL, | |||
`addr2` VARCHAR(30) NULL, | |||
`addr3` VARCHAR(30) NULL, | |||
`addr4` VARCHAR(30) NULL, | |||
`district` VARCHAR(30) NULL, | |||
`type` VARCHAR(10) NULL, | |||
`m18Id` INT NOT NULL, | |||
`id` INT NOT NULL AUTO_INCREMENT, | |||
`created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, | |||
`createdBy` VARCHAR(30) NULL DEFAULT NULL, | |||
`version` INT NOT NULL DEFAULT '0', | |||
`modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, | |||
`modifiedBy` VARCHAR(30) NULL DEFAULT NULL, | |||
`deleted` TINYINT(1) NOT NULL DEFAULT '0', | |||
`code` VARCHAR(50) NOT NULL, | |||
`name` VARCHAR(300) NOT NULL, | |||
`brNo` VARCHAR(50) NULL, | |||
`contactNo` VARCHAR(50) NULL, | |||
`contactEmail` VARCHAR(50) NULL, | |||
`contactName` VARCHAR(50) NULL, | |||
`addr1` VARCHAR(300) NULL, | |||
`addr2` VARCHAR(300) NULL, | |||
`addr3` VARCHAR(300) NULL, | |||
`addr4` VARCHAR(300) NULL, | |||
`district` VARCHAR(300) NULL, | |||
`type` VARCHAR(10) NULL, | |||
`m18Id` INT NOT NULL, | |||
`m18LastModifyDate` datetime NOT NULL, | |||
CONSTRAINT pk_shop PRIMARY KEY (id) | |||
); | |||
@@ -3,16 +3,17 @@ | |||
--changeset cyril:m18 data log | |||
CREATE TABLE `m18_data_log` | |||
( | |||
`id` INT NOT NULL AUTO_INCREMENT, | |||
`created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, | |||
`createdBy` VARCHAR(30) NULL DEFAULT NULL, | |||
`version` INT NOT NULL DEFAULT '0', | |||
`modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, | |||
`modifiedBy` VARCHAR(30) NULL DEFAULT NULL, | |||
`deleted` TINYINT(1) NOT NULL DEFAULT '0', | |||
`refType` VARCHAR(10) NOT NULL, | |||
`m18Id` INT NOT NULL, | |||
`dataLog` JSON NOT NULL, | |||
`status` VARCHAR(5) NOT NULL, | |||
`id` INT NOT NULL AUTO_INCREMENT, | |||
`created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, | |||
`createdBy` VARCHAR(30) NULL DEFAULT NULL, | |||
`version` INT NOT NULL DEFAULT '0', | |||
`modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, | |||
`modifiedBy` VARCHAR(30) NULL DEFAULT NULL, | |||
`deleted` TINYINT(1) NOT NULL DEFAULT '0', | |||
`refType` VARCHAR(1000) NOT NULL, | |||
`m18Id` INT NOT NULL, | |||
`m18LastModifyDate` datetime NOT NULL, | |||
`dataLog` JSON NOT NULL, | |||
`status` TINYINT(1) NOT NULL, | |||
CONSTRAINT pk_m18_data_log PRIMARY KEY (id) | |||
); |
@@ -13,7 +13,7 @@ CREATE TABLE `purchase_order` | |||
`code` VARCHAR(30) NOT NULL, | |||
`supplierId` INT NULL, | |||
`orderDate` DATETIME NULL, | |||
`estimatedCompleteDate` DATETIME NULL, | |||
`estimatedArrivalDate` DATETIME NULL, | |||
`completeDate` DATETIME NULL, | |||
`status` VARCHAR(10) NOT NULL DEFAULT 'pending', | |||
`m18DataLogId` INT NOT NULL, | |||
@@ -24,23 +24,25 @@ CREATE TABLE `purchase_order` | |||
CREATE TABLE `purchase_order_line` | |||
( | |||
`id` INT NOT NULL AUTO_INCREMENT, | |||
`created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, | |||
`createdBy` VARCHAR(30) NULL DEFAULT NULL, | |||
`version` INT NOT NULL DEFAULT '0', | |||
`modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, | |||
`modifiedBy` VARCHAR(30) NULL DEFAULT NULL, | |||
`deleted` TINYINT(1) NOT NULL DEFAULT '0', | |||
`itemId` INT NOT NULL, | |||
`itemNo` VARCHAR(20) NOT NULL, | |||
`purchaseOrderId` INT NOT NULL, | |||
`qty` DECIMAL(14, 2) NULL, | |||
`price` DECIMAL(14, 2) NULL, | |||
`priceUnit` VARCHAR(5) NULL, | |||
`status` VARCHAR(10) NOT NULL DEFAULT 'pending', | |||
`m18DataLogId` INT NOT NULL, | |||
`id` INT NOT NULL AUTO_INCREMENT, | |||
`created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, | |||
`createdBy` VARCHAR(30) NULL DEFAULT NULL, | |||
`version` INT NOT NULL DEFAULT '0', | |||
`modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, | |||
`modifiedBy` VARCHAR(30) NULL DEFAULT NULL, | |||
`deleted` TINYINT(1) NOT NULL DEFAULT '0', | |||
`itemId` INT NOT NULL, | |||
`itemNo` VARCHAR(20) NOT NULL, | |||
`uomId` INT NULL, | |||
`purchaseOrderId` INT NOT NULL, | |||
`qty` DECIMAL(14, 2) NULL, | |||
`price` DECIMAL(14, 2) NULL, | |||
`priceUnit` VARCHAR(5) NULL, | |||
`status` VARCHAR(10) NOT NULL DEFAULT 'pending', | |||
`m18DataLogId` INT NOT NULL, | |||
CONSTRAINT pk_purchase_order_line PRIMARY KEY (id), | |||
CONSTRAINT FK_PURCHASE_ORDER_LINE_ON_ITEMID FOREIGN KEY (itemId) REFERENCES items (id), | |||
CONSTRAINT FK_PURCHASE_ORDER_LINE_ON_UOMID FOREIGN KEY (uomId) REFERENCES uom_conversion (id), | |||
CONSTRAINT FK_PURCHASE_ORDER_LINE_ON_PURCHASEORDERID FOREIGN KEY (purchaseOrderId) REFERENCES purchase_order (id), | |||
CONSTRAINT FK_PURCHASE_ORDER_LINE_ON_M18DATALOGID FOREIGN KEY (m18DataLogId) REFERENCES m18_data_log (id) | |||
); |