@@ -0,0 +1,48 @@ | |||||
package com.ffii.fpsms.modules.deliveryOrder.entity | |||||
import com.ffii.core.entity.BaseEntity | |||||
import com.ffii.fpsms.modules.master.entity.Shop | |||||
import com.ffii.fpsms.modules.purchaseOrder.entity.PurchaseOrder | |||||
import com.ffii.fpsms.modules.user.entity.User | |||||
import jakarta.persistence.* | |||||
import jakarta.validation.constraints.NotNull | |||||
import jakarta.validation.constraints.Size | |||||
import java.time.Instant | |||||
@Entity | |||||
@Table(name = "delivery_order") | |||||
open class DeliveryOrder: BaseEntity<Long>() { | |||||
@ManyToOne | |||||
@JoinColumn(name = "purchaseOrderId") | |||||
open var purchaseOrder: PurchaseOrder? = null | |||||
@Size(max = 100) | |||||
@NotNull | |||||
@Column(name = "code", nullable = false, length = 100) | |||||
open var code: String? = null | |||||
@Size(max = 100) | |||||
@Column(name = "consoCode", length = 100) | |||||
open var consoCode: String? = null | |||||
@Size(max = 500) | |||||
@Column(name = "remarks", length = 500) | |||||
open var remarks: String? = null | |||||
@NotNull | |||||
@Column(name = "targetDate", nullable = false) | |||||
open var targetDate: Instant? = null | |||||
@ManyToOne | |||||
@JoinColumn(name = "shopId") | |||||
open var shop: Shop? = null | |||||
@Size(max = 30) | |||||
@NotNull | |||||
@Column(name = "status", nullable = false, length = 30) | |||||
open var status: String? = null | |||||
@ManyToOne | |||||
@JoinColumn(name = "handlerId", referencedColumnName = "id") | |||||
open var handler: User? = null | |||||
} |
@@ -0,0 +1,37 @@ | |||||
package com.ffii.fpsms.modules.deliveryOrder.entity | |||||
import com.ffii.core.entity.BaseEntity | |||||
import com.ffii.fpsms.modules.master.entity.Items | |||||
import com.ffii.fpsms.modules.master.entity.UomConversion | |||||
import com.ffii.fpsms.modules.purchaseOrder.entity.PurchaseOrderLine | |||||
import jakarta.persistence.* | |||||
import jakarta.validation.constraints.NotNull | |||||
import jakarta.validation.constraints.Size | |||||
import java.math.BigDecimal | |||||
@Entity | |||||
@Table(name = "delivery_order_line") | |||||
open class DeliveryOrderLine: BaseEntity<Long>() { | |||||
@ManyToOne | |||||
@JoinColumn(name = "purchaseOrderLineId") | |||||
open var purchaseOrderLine: PurchaseOrderLine? = null | |||||
@NotNull | |||||
@ManyToOne(fetch = FetchType.LAZY, optional = false) | |||||
@JoinColumn(name = "itemId", nullable = false) | |||||
open var item: Items? = null | |||||
@NotNull | |||||
@Column(name = "qty", nullable = false, precision = 14, scale = 2) | |||||
open var qty: BigDecimal? = null | |||||
@NotNull | |||||
@ManyToOne(fetch = FetchType.LAZY, optional = false) | |||||
@JoinColumn(name = "uomId", nullable = false) | |||||
open var uom: UomConversion? = null | |||||
@Size(max = 30) | |||||
@NotNull | |||||
@Column(name = "status", nullable = false, length = 30) | |||||
open var status: String? = null | |||||
} |
@@ -0,0 +1,8 @@ | |||||
package com.ffii.fpsms.modules.deliveryOrder.entity | |||||
import com.ffii.core.support.AbstractRepository | |||||
import org.springframework.stereotype.Repository | |||||
@Repository | |||||
interface DeliveryOrderLineRepository : AbstractRepository<DeliveryOrderLine, Long> { | |||||
} |
@@ -0,0 +1,8 @@ | |||||
package com.ffii.fpsms.modules.deliveryOrder.entity | |||||
import com.ffii.core.support.AbstractRepository | |||||
import org.springframework.stereotype.Repository | |||||
@Repository | |||||
interface DeliveryOrderRepository : AbstractRepository<DeliveryOrder, Long> { | |||||
} |
@@ -0,0 +1,65 @@ | |||||
package com.ffii.fpsms.modules.jobOrder.entity | |||||
import com.ffii.core.entity.BaseEntity | |||||
import com.ffii.fpsms.modules.jobPlanningLog.entity.JobPlanningLog | |||||
import com.ffii.fpsms.modules.master.entity.Bom | |||||
import com.ffii.fpsms.modules.user.entity.User | |||||
import jakarta.persistence.* | |||||
import jakarta.validation.constraints.NotNull | |||||
import jakarta.validation.constraints.Size | |||||
import java.math.BigDecimal | |||||
import java.time.LocalDateTime | |||||
@Entity | |||||
@Table(name = "job_order") | |||||
open class JobOrder: BaseEntity<Long>() { | |||||
@Size(max = 100) | |||||
@NotNull | |||||
@Column(name = "code", nullable = false, length = 100) | |||||
open var code: String? = null | |||||
@NotNull | |||||
@ManyToOne | |||||
@JoinColumn(name = "bomId", nullable = false) | |||||
open var bom: Bom? = null | |||||
@Column(name = "planStart") | |||||
open var planStart: LocalDateTime? = null | |||||
@Column(name = "actualStart") | |||||
open var actualStart: LocalDateTime? = null | |||||
@Column(name = "planEnd") | |||||
open var planEnd: LocalDateTime? = null | |||||
@Column(name = "actualEnd") | |||||
open var actualEnd: LocalDateTime? = null | |||||
@Column(name = "reqQty", precision = 14, scale = 2) | |||||
open var reqQty: BigDecimal? = null | |||||
@Column(name = "actualQty", precision = 14, scale = 2) | |||||
open var actualQty: BigDecimal? = null | |||||
@Size(max = 100) | |||||
@NotNull | |||||
@Column(name = "status", nullable = false, length = 100) | |||||
open var status: String? = null | |||||
@Size(max = 500) | |||||
@Column(name = "remarks", length = 500) | |||||
open var remarks: String? = null | |||||
@Size(max = 20) | |||||
@NotNull | |||||
@Column(name = "type", nullable = false, length = 20) | |||||
open var type: String? = null | |||||
@ManyToOne | |||||
@JoinColumn(name = "approverId", referencedColumnName = "id") | |||||
open var approver: User? = null | |||||
@ManyToOne | |||||
@JoinColumn(name = "jobPlanningLogId") | |||||
open var jobPlanningLog: JobPlanningLog? = null | |||||
} |
@@ -0,0 +1,42 @@ | |||||
package com.ffii.fpsms.modules.jobOrder.entity | |||||
import com.ffii.core.entity.BaseEntity | |||||
import com.ffii.fpsms.modules.master.entity.Items | |||||
import com.ffii.fpsms.modules.master.entity.UomConversion | |||||
import com.ffii.fpsms.modules.stock.entity.InventoryLotLine | |||||
import jakarta.persistence.* | |||||
import jakarta.validation.constraints.NotNull | |||||
import java.math.BigDecimal | |||||
@Entity | |||||
@Table(name = "job_order_material") | |||||
open class JobOrderMaterial : BaseEntity<Long>() { | |||||
@NotNull | |||||
@ManyToOne | |||||
@JoinColumn(name = "jopId", nullable = false) | |||||
open var jop: JobOrderProcess? = null | |||||
@NotNull | |||||
@ManyToOne | |||||
@JoinColumn(name = "itemId", nullable = false) | |||||
open var item: Items? = null | |||||
@NotNull | |||||
@Column(name = "qty", nullable = false, precision = 14, scale = 2) | |||||
open var qty: BigDecimal? = null | |||||
@NotNull | |||||
@ManyToOne | |||||
@JoinColumn(name = "uomId", nullable = false) | |||||
open var uom: UomConversion? = null | |||||
@ManyToOne | |||||
@JoinColumn(name = "inventoryLotLineId") | |||||
open var inventoryLotLine: InventoryLotLine? = null | |||||
@NotNull | |||||
@ManyToOne | |||||
@JoinColumn(name = "joProcessDetailId", nullable = false) | |||||
open var joProcessDetail: JobOrderProcessDetail? = null | |||||
} |
@@ -0,0 +1,8 @@ | |||||
package com.ffii.fpsms.modules.jobOrder.entity | |||||
import com.ffii.core.support.AbstractRepository | |||||
import org.springframework.stereotype.Repository | |||||
@Repository | |||||
interface JobOrderMaterialRepository : AbstractRepository<JobOrderMaterial, Long> { | |||||
} |
@@ -0,0 +1,39 @@ | |||||
package com.ffii.fpsms.modules.jobOrder.entity | |||||
import com.ffii.core.entity.BaseEntity | |||||
import com.ffii.fpsms.modules.master.entity.Process | |||||
import jakarta.persistence.* | |||||
import jakarta.validation.constraints.NotNull | |||||
import jakarta.validation.constraints.Size | |||||
import java.time.LocalDateTime | |||||
@Entity | |||||
@Table(name = "job_order_process") | |||||
open class JobOrderProcess : BaseEntity<Long>() { | |||||
@NotNull | |||||
@ManyToOne(fetch = FetchType.LAZY, optional = false) | |||||
@JoinColumn(name = "joId", nullable = false) | |||||
open var jo: JobOrder? = null | |||||
@NotNull | |||||
@ManyToOne(fetch = FetchType.LAZY, optional = false) | |||||
@JoinColumn(name = "processId", nullable = false) | |||||
open var process: Process? = null | |||||
@Column(name = "startTime") | |||||
open var startTime: LocalDateTime? = null | |||||
@Column(name = "endTime") | |||||
open var endTime: LocalDateTime? = null | |||||
@Size(max = 20) | |||||
@Column(name = "status", length = 20) | |||||
open var status: String? = null | |||||
@Column(name = "seqNo") | |||||
open var seqNo: Long? = null | |||||
@Size(max = 500) | |||||
@Column(name = "remarks", length = 500) | |||||
open var remarks: String? = null | |||||
} |
@@ -0,0 +1,38 @@ | |||||
package com.ffii.fpsms.modules.jobOrder.entity | |||||
import com.ffii.core.entity.BaseEntity | |||||
import com.ffii.fpsms.modules.master.entity.Equipment | |||||
import com.ffii.fpsms.modules.user.entity.User | |||||
import jakarta.persistence.* | |||||
import jakarta.validation.constraints.NotNull | |||||
import jakarta.validation.constraints.Size | |||||
import java.time.LocalDateTime | |||||
@Entity | |||||
@Table(name = "job_order_process_detail") | |||||
open class JobOrderProcessDetail: BaseEntity<Long>() { | |||||
@NotNull | |||||
@ManyToOne | |||||
@JoinColumn(name = "jopId", nullable = false) | |||||
open var jop: JobOrderProcess? = null | |||||
@NotNull | |||||
@ManyToOne | |||||
@JoinColumn(name = "equipmentId", nullable = false) | |||||
open var equipment: Equipment? = null | |||||
@NotNull | |||||
@ManyToOne | |||||
@JoinColumn(name = "operatorId", nullable = false, referencedColumnName = "id") | |||||
open var operator: User? = null | |||||
@Column(name = "operatingStart") | |||||
open var operatingStart: LocalDateTime? = null | |||||
@Column(name = "operatingEnd") | |||||
open var operatingEnd: LocalDateTime? = null | |||||
@Size(max = 500) | |||||
@Column(name = "remarks", length = 500) | |||||
open var remarks: String? = null | |||||
} |
@@ -0,0 +1,8 @@ | |||||
package com.ffii.fpsms.modules.jobOrder.entity | |||||
import com.ffii.core.support.AbstractRepository | |||||
import org.springframework.stereotype.Repository | |||||
@Repository | |||||
interface JobOrderProcessDetailRepository : AbstractRepository<JobOrderProcessDetail, Long> { | |||||
} |
@@ -0,0 +1,8 @@ | |||||
package com.ffii.fpsms.modules.jobOrder.entity | |||||
import com.ffii.core.support.AbstractRepository | |||||
import org.springframework.stereotype.Repository | |||||
@Repository | |||||
interface JobOrderProcessRepository : AbstractRepository<JobOrderProcess, Long> { | |||||
} |
@@ -0,0 +1,8 @@ | |||||
package com.ffii.fpsms.modules.jobOrder.entity | |||||
import com.ffii.core.support.AbstractRepository | |||||
import org.springframework.stereotype.Repository | |||||
@Repository | |||||
interface JobOrderRepository : AbstractRepository<JobOrder, Long> { | |||||
} |
@@ -0,0 +1,64 @@ | |||||
package com.ffii.fpsms.modules.jobPlanningLog.entity | |||||
import com.ffii.core.entity.BaseEntity | |||||
import com.ffii.fpsms.modules.master.entity.Bom | |||||
import com.ffii.fpsms.modules.user.entity.User | |||||
import jakarta.persistence.* | |||||
import jakarta.validation.constraints.NotNull | |||||
import jakarta.validation.constraints.Size | |||||
import java.math.BigDecimal | |||||
import java.time.Instant | |||||
@Entity | |||||
@Table(name = "job_planning_log") | |||||
open class JobPlanningLog: BaseEntity<Long>() { | |||||
@Size(max = 100) | |||||
@NotNull | |||||
@Column(name = "code", nullable = false, length = 100) | |||||
open var code: String? = null | |||||
@NotNull | |||||
@ManyToOne(fetch = FetchType.LAZY, optional = false) | |||||
@JoinColumn(name = "bomId", nullable = false) | |||||
open var bom: Bom? = null | |||||
@Column(name = "planStart") | |||||
open var planStart: Instant? = null | |||||
@Column(name = "actualStart") | |||||
open var actualStart: Instant? = null | |||||
@Column(name = "planEnd") | |||||
open var planEnd: Instant? = null | |||||
@Column(name = "actualEnd") | |||||
open var actualEnd: Instant? = null | |||||
@Column(name = "reqQty", precision = 14, scale = 2) | |||||
open var reqQty: BigDecimal? = null | |||||
@Column(name = "actualQty", precision = 14, scale = 2) | |||||
open var actualQty: BigDecimal? = null | |||||
@Size(max = 100) | |||||
@NotNull | |||||
@Column(name = "status", nullable = false, length = 100) | |||||
open var status: String? = null | |||||
@Size(max = 500) | |||||
@Column(name = "remarks", length = 500) | |||||
open var remarks: String? = null | |||||
@Size(max = 20) | |||||
@NotNull | |||||
@Column(name = "type", nullable = false, length = 20) | |||||
open var type: String? = null | |||||
@ManyToOne(fetch = FetchType.LAZY) | |||||
@JoinColumn(name = "approverId", referencedColumnName = "id") | |||||
open var approver: User? = null | |||||
@ManyToOne(fetch = FetchType.LAZY) | |||||
@JoinColumn(name = "lastLogId") | |||||
open var lastLog: JobPlanningLog? = null | |||||
} |
@@ -0,0 +1,8 @@ | |||||
package com.ffii.fpsms.modules.jobPlanningLog.entity | |||||
import com.ffii.core.support.AbstractRepository | |||||
import org.springframework.stereotype.Repository | |||||
@Repository | |||||
interface JobPlanningLogRepository : AbstractRepository<JobPlanningLog, Long> { | |||||
} |
@@ -0,0 +1,50 @@ | |||||
package com.ffii.fpsms.modules.master.entity | |||||
import com.ffii.core.entity.BaseEntity | |||||
import jakarta.persistence.Column | |||||
import jakarta.persistence.Entity | |||||
import jakarta.persistence.Table | |||||
import jakarta.validation.constraints.NotNull | |||||
import jakarta.validation.constraints.Size | |||||
@Entity | |||||
@Table(name = "company") | |||||
open class Company : BaseEntity<Long>() { | |||||
@Size(max = 100) | |||||
@NotNull | |||||
@Column(name = "code", nullable = false, length = 100) | |||||
open var code: String? = null | |||||
@Size(max = 100) | |||||
@NotNull | |||||
@Column(name = "name", nullable = false, length = 100) | |||||
open var name: String? = null | |||||
@Size(max = 100) | |||||
@Column(name = "brNo", length = 100) | |||||
open var brNo: String? = null | |||||
@Size(max = 100) | |||||
@Column(name = "contactNo", length = 100) | |||||
open var contactNo: String? = null | |||||
@Size(max = 100) | |||||
@Column(name = "email", length = 100) | |||||
open var email: String? = null | |||||
@Size(max = 500) | |||||
@Column(name = "addr1", length = 500) | |||||
open var addr1: String? = null | |||||
@Size(max = 500) | |||||
@Column(name = "addr2", length = 500) | |||||
open var addr2: String? = null | |||||
@Size(max = 500) | |||||
@Column(name = "addr3", length = 500) | |||||
open var addr3: String? = null | |||||
@Size(max = 500) | |||||
@Column(name = "addr4", length = 500) | |||||
open var addr4: String? = null | |||||
} |
@@ -0,0 +1,8 @@ | |||||
package com.ffii.fpsms.modules.master.entity | |||||
import com.ffii.core.support.AbstractRepository | |||||
import org.springframework.stereotype.Repository | |||||
@Repository | |||||
interface CompanyRepository : AbstractRepository<Company, Long> { | |||||
} |
@@ -0,0 +1,15 @@ | |||||
package com.ffii.fpsms.modules.master.entity | |||||
import com.ffii.core.entity.BaseEntity | |||||
import jakarta.persistence.* | |||||
import jakarta.validation.constraints.NotNull | |||||
import jakarta.validation.constraints.Size | |||||
@Entity | |||||
@Table(name = "item_category") | |||||
open class ItemCategory : BaseEntity<Long>() { | |||||
@Size(max = 50) | |||||
@NotNull | |||||
@Column(name = "name", nullable = false, length = 50) | |||||
open var name: String? = null | |||||
} |
@@ -0,0 +1,8 @@ | |||||
package com.ffii.fpsms.modules.master.entity | |||||
import com.ffii.core.support.AbstractRepository | |||||
import org.springframework.stereotype.Repository | |||||
@Repository | |||||
interface ItemCategoryRepository : AbstractRepository<ItemCategory, Long> { | |||||
} |
@@ -0,0 +1,39 @@ | |||||
package com.ffii.fpsms.modules.stock.entity | |||||
import com.ffii.core.entity.BaseEntity | |||||
import jakarta.persistence.* | |||||
import jakarta.validation.constraints.NotNull | |||||
import jakarta.validation.constraints.Size | |||||
import java.time.LocalDateTime | |||||
@Entity | |||||
@Table(name = "stock_take") | |||||
open class StockTake: BaseEntity<Long>() { | |||||
@Size(max = 50) | |||||
@NotNull | |||||
@Column(name = "code", nullable = false, length = 50) | |||||
open var code: String? = null | |||||
@NotNull | |||||
@Column(name = "planStart", nullable = false) | |||||
open var planStart: LocalDateTime? = null | |||||
@NotNull | |||||
@Column(name = "planEnd", nullable = false) | |||||
open var planEnd: LocalDateTime? = null | |||||
@Column(name = "actualStart") | |||||
open var actualStart: LocalDateTime? = null | |||||
@Column(name = "actualEnd") | |||||
open var actualEnd: LocalDateTime? = null | |||||
@Size(max = 20) | |||||
@NotNull | |||||
@Column(name = "status", nullable = false, length = 20) | |||||
open var status: String? = null | |||||
@Size(max = 500) | |||||
@Column(name = "remarks", length = 500) | |||||
open var remarks: String? = null | |||||
} |
@@ -0,0 +1,45 @@ | |||||
package com.ffii.fpsms.modules.stock.entity | |||||
import com.ffii.core.entity.BaseEntity | |||||
import com.ffii.fpsms.modules.master.entity.UomConversion | |||||
import jakarta.persistence.* | |||||
import jakarta.validation.constraints.NotNull | |||||
import jakarta.validation.constraints.Size | |||||
import java.math.BigDecimal | |||||
import java.time.LocalDateTime | |||||
@Entity | |||||
@Table(name = "stock_take_line") | |||||
open class StockTakeLine : BaseEntity<Long>() { | |||||
@NotNull | |||||
@ManyToOne | |||||
@JoinColumn(name = "stockTakeId", nullable = false) | |||||
open var stockTake: StockTake? = null | |||||
@NotNull | |||||
@ManyToOne | |||||
@JoinColumn(name = "inventoryLotLineId", nullable = false) | |||||
open var inventoryLotLine: InventoryLotLine? = null | |||||
@Column(name = "initialQty", precision = 14, scale = 2) | |||||
open var initialQty: BigDecimal? = null | |||||
@Column(name = "finalQty", precision = 14, scale = 2) | |||||
open var finalQty: BigDecimal? = null | |||||
@ManyToOne | |||||
@JoinColumn(name = "uomId") | |||||
open var uom: UomConversion? = null | |||||
@Column(name = "completeDate") | |||||
open var completeDate: LocalDateTime? = null | |||||
@Size(max = 20) | |||||
@NotNull | |||||
@Column(name = "status", nullable = false, length = 20) | |||||
open var status: String? = null | |||||
@Size(max = 500) | |||||
@Column(name = "remarks", length = 500) | |||||
open var remarks: String? = null | |||||
} |
@@ -0,0 +1,8 @@ | |||||
package com.ffii.fpsms.modules.stock.entity | |||||
import com.ffii.core.support.AbstractRepository | |||||
import org.springframework.stereotype.Repository | |||||
@Repository | |||||
interface StockTakeLineRepository : AbstractRepository<StockTakeLine, Long> { | |||||
} |
@@ -0,0 +1,8 @@ | |||||
package com.ffii.fpsms.modules.stock.entity | |||||
import com.ffii.core.support.AbstractRepository | |||||
import org.springframework.stereotype.Repository | |||||
@Repository | |||||
interface StockTakeRepository : AbstractRepository<StockTake, Long> { | |||||
} |
@@ -0,0 +1,8 @@ | |||||
package com.ffii.fpsms.modules.stock.entity | |||||
import com.ffii.core.support.AbstractRepository | |||||
import org.springframework.stereotype.Repository | |||||
@Repository | |||||
interface SuggestPickLotRepository : AbstractRepository<SuggestedPickLot, Long> { | |||||
} |
@@ -0,0 +1,30 @@ | |||||
package com.ffii.fpsms.modules.stock.entity | |||||
import com.ffii.core.entity.BaseEntity | |||||
import com.ffii.fpsms.modules.master.entity.Warehouse | |||||
import jakarta.persistence.* | |||||
import jakarta.validation.constraints.NotNull | |||||
import jakarta.validation.constraints.Size | |||||
@Entity | |||||
@Table(name = "suggested_pick_lot") | |||||
open class SuggestedPickLot: BaseEntity<Long>() { | |||||
@Size(max = 100) | |||||
@NotNull | |||||
@Column(name = "type", nullable = false, length = 100) | |||||
open var type: String? = null | |||||
@ManyToOne | |||||
@JoinColumn(name = "stockOutLineId") | |||||
open var stockOutLine: StockOutLine? = null | |||||
@NotNull | |||||
@ManyToOne | |||||
@JoinColumn(name = "suggestedLotId", nullable = false) | |||||
open var suggestedLot: InventoryLot? = null | |||||
@NotNull | |||||
@ManyToOne | |||||
@JoinColumn(name = "suggestedLocId", nullable = false) | |||||
open var suggestedLoc: Warehouse? = null | |||||
} |
@@ -0,0 +1,43 @@ | |||||
package com.ffii.fpsms.modules.stock.entity | |||||
import com.ffii.core.entity.BaseEntity | |||||
import com.ffii.fpsms.modules.user.entity.User | |||||
import jakarta.persistence.* | |||||
import jakarta.validation.constraints.NotNull | |||||
import jakarta.validation.constraints.Size | |||||
import java.time.LocalDateTime | |||||
@Entity | |||||
@Table(name = "supervision_approval_log") | |||||
open class SupervisionApprovalLog : BaseEntity<Long>() { | |||||
@NotNull | |||||
@ManyToOne | |||||
@JoinColumn(name = "personInCharge", nullable = false, referencedColumnName = "id") | |||||
open var personInCharge: User? = null | |||||
@Size(max = 100) | |||||
@NotNull | |||||
@Column(name = "type", nullable = false, length = 100) | |||||
open var type: String? = null | |||||
@ManyToOne | |||||
@JoinColumn(name = "stockInLineId") | |||||
open var stockInLine: StockInLine? = null | |||||
@ManyToOne | |||||
@JoinColumn(name = "stockOutLineId") | |||||
open var stockOutLine: StockOutLine? = null | |||||
@Column(name = "recordDate") | |||||
open var recordDate: LocalDateTime? = null | |||||
@Size(max = 100) | |||||
@NotNull | |||||
@Column(name = "status", nullable = false, length = 100) | |||||
open var status: String? = null | |||||
@Size(max = 500) | |||||
@NotNull | |||||
@Column(name = "reason", nullable = false, length = 500) | |||||
open var reason: String? = null | |||||
} |
@@ -0,0 +1,8 @@ | |||||
package com.ffii.fpsms.modules.stock.entity | |||||
import com.ffii.core.support.AbstractRepository | |||||
import org.springframework.stereotype.Repository | |||||
@Repository | |||||
interface SupervisionApprovalLogRepository : AbstractRepository<SupervisionApprovalLog, Long> { | |||||
} |
@@ -0,0 +1,45 @@ | |||||
-- liquibase formatted sql | |||||
-- changeset cyril:delivery order | |||||
CREATE TABLE `delivery_order` | |||||
( | |||||
`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', | |||||
`purchaseOrderId` INT NULL, | |||||
`code` varchar(100) NOT NULL, | |||||
`consoCode` varchar(100) NULL, | |||||
`remarks` varchar(500) NULL, | |||||
`targetDate` DATETIME NOT NULL, | |||||
`shopId` INT NULL, | |||||
`status` VARCHAR(30) NOT NULL DEFAULT 'pending', | |||||
`handlerId` INT NULL, | |||||
CONSTRAINT pk_delivery_order PRIMARY KEY (id), | |||||
CONSTRAINT `FK_DELIVERY_ORDER_ON_PURCHASEORDERID` FOREIGN KEY (`purchaseOrderId`) REFERENCES `purchase_order` (`id`), | |||||
CONSTRAINT `FK_DELIVERY_ORDER_ON_SHOPID` FOREIGN KEY (`shopId`) REFERENCES `shop` (`id`), | |||||
CONSTRAINT `FK_DELIVERY_ORDER_ON_HANDLERID` FOREIGN KEY (`handlerId`) REFERENCES `user` (`id`) | |||||
); | |||||
CREATE TABLE `delivery_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', | |||||
`purchaseOrderLineId` INT NULL, | |||||
`itemId` INT NOT NULL, | |||||
`qty` DECIMAL(14, 2) NOT NULL, | |||||
`uomId` INT NOT NULL, | |||||
`status` VARCHAR(30) NOT NULL DEFAULT 'pending', | |||||
CONSTRAINT pk_delivery_order_line PRIMARY KEY (id), | |||||
CONSTRAINT `FK_DELIVERY_ORDER_LINE_ON_PURCHASEORDERLINEID` FOREIGN KEY (`purchaseOrderLineId`) REFERENCES `purchase_order_line` (`id`), | |||||
CONSTRAINT `FK_DELIVERY_ORDER_LINE_ON_ITEMID` FOREIGN KEY (`itemId`) REFERENCES `items` (`id`), | |||||
CONSTRAINT `FK_DELIVERY_ORDER_LINE_ON_UOMID` FOREIGN KEY (`uomId`) REFERENCES `uom_conversion` (`id`) | |||||
); |
@@ -0,0 +1,15 @@ | |||||
-- liquibase formatted sql | |||||
-- changeset cyril:item category | |||||
CREATE TABLE `item_category` | |||||
( | |||||
`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', | |||||
`name` VARCHAR(50) NOT NULL, | |||||
CONSTRAINT pk_item_category PRIMARY KEY (id) | |||||
); |
@@ -0,0 +1,30 @@ | |||||
-- liquibase formatted sql | |||||
-- changeset cyril:job planning log | |||||
CREATE TABLE `job_planning_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', | |||||
`code` VARCHAR(100) NOT NULL, | |||||
`bomId` INT NOT NULL, | |||||
`planStart` DATETIME NULL, | |||||
`actualStart` DATETIME NULL, | |||||
`planEnd` DATETIME NULL, | |||||
`actualEnd` DATETIME NULL, | |||||
`reqQty` DECIMAL(14, 2) NULL, | |||||
`actualQty` DECIMAL(14, 2) NULL, | |||||
`status` VARCHAR(100) NOT NULL default 'planning', | |||||
`remarks` VARCHAR(500) NULL, | |||||
`type` VARCHAR(20) NOT NULL default 'rough', | |||||
`approverId` INT NULL, | |||||
`lastLogId` INT NULL, | |||||
CONSTRAINT pk_job_planning_log PRIMARY KEY (id), | |||||
CONSTRAINT `FK_JOB_PLANNING_LOG_ON_BOMID` FOREIGN KEY (`bomId`) REFERENCES `bom` (`id`), | |||||
CONSTRAINT `FK_JOB_PLANNING_LOG_ON_APPROVERID` FOREIGN KEY (`approverId`) REFERENCES `user` (`id`), | |||||
CONSTRAINT `FK_JOB_PLANNING_LOG_ON_LASTLOGID` FOREIGN KEY (`lastLogId`) REFERENCES `job_planning_log` (`id`) | |||||
); |
@@ -0,0 +1,95 @@ | |||||
-- liquibase formatted sql | |||||
-- changeset cyril:job order | |||||
CREATE TABLE `job_order` | |||||
( | |||||
`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(100) NOT NULL, | |||||
`bomId` INT NOT NULL, | |||||
`planStart` DATETIME NULL, | |||||
`actualStart` DATETIME NULL, | |||||
`planEnd` DATETIME NULL, | |||||
`actualEnd` DATETIME NULL, | |||||
`reqQty` DECIMAL(14, 2) NULL, | |||||
`actualQty` DECIMAL(14, 2) NULL, | |||||
`status` VARCHAR(100) NOT NULL default 'planning', | |||||
`remarks` VARCHAR(500) NULL, | |||||
`type` VARCHAR(20) NOT NULL default 'rough', | |||||
`approverId` INT NULL, | |||||
`jobPlanningLogId` INt NULL, | |||||
CONSTRAINT pk_job_order PRIMARY KEY (id), | |||||
CONSTRAINT `FK_JOB_ORDER_ON_BOMID` FOREIGN KEY (`bomId`) REFERENCES `bom` (`id`), | |||||
CONSTRAINT `FK_JOB_ORDER_ON_APPROVERID` FOREIGN KEY (`approverId`) REFERENCES `user` (`id`), | |||||
CONSTRAINT `FK_JOB_ORDER_ON_JOBPLANNINGLOGID` FOREIGN KEY (`jobPlanningLogId`) REFERENCES `job_planning_log` (`id`) | |||||
); | |||||
CREATE TABLE `job_order_process` | |||||
( | |||||
`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', | |||||
`joId` INT NOT NULL, | |||||
`processId` INT NOT NULL, | |||||
`startTime` DATETIME NULL, | |||||
`endTime` DATETIME NULL, | |||||
`status` VARCHAR(20) NULL, | |||||
`seqNo` INT NULL, | |||||
`remarks` VARCHAR(500) NULL, | |||||
CONSTRAINT pk_job_order_process PRIMARY KEY (id), | |||||
CONSTRAINT `FK_JOB_ORDER_PROCESS_ON_JOID` FOREIGN KEY (`joId`) REFERENCES `job_order` (`id`), | |||||
CONSTRAINT `FK_JOB_ORDER_PROCESS_ON_PROCESSID` FOREIGN KEY (`processId`) REFERENCES `process` (`id`) | |||||
); | |||||
CREATE TABLE `job_order_process_detail` | |||||
( | |||||
`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', | |||||
`jopId` INT NOT NULL, | |||||
`equipmentId` INT NOT NULL, | |||||
`operatorId` INT NOT NULL, | |||||
`operatingStart` DATETIME NULL, | |||||
`operatingEnd` DATETIME NULL, | |||||
`remarks` VARCHAR(500) NULL, | |||||
CONSTRAINT pk_job_order_process_detail PRIMARY KEY (id), | |||||
CONSTRAINT `FK_JOB_ORDER_PROCESS_DETAIL_ON_JOPID` FOREIGN KEY (`jopId`) REFERENCES `job_order_process` (`id`), | |||||
CONSTRAINT `FK_JOB_ORDER_PROCESS_DETAIL_ON_EQUIPMENTID` FOREIGN KEY (`equipmentId`) REFERENCES `equipment` (`id`), | |||||
CONSTRAINT `FK_JOB_ORDER_PROCESS_DETAIL_ON_OPERATORID` FOREIGN KEY (`operatorId`) REFERENCES `user` (`id`) | |||||
); | |||||
CREATE TABLE `job_order_material` | |||||
( | |||||
`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', | |||||
`jopId` INT NOT NULL, | |||||
`itemId` INT NOT NULL, | |||||
`qty` DECIMAL(14, 2) NOT NULL, | |||||
`uomId` INT NOT NULL, | |||||
`inventoryLotLineId` INT NULL, | |||||
`joProcessDetailId` INT NOT NULL, | |||||
CONSTRAINT pk_job_order_material PRIMARY KEY (id), | |||||
CONSTRAINT `FK_JOB_ORDER_MATERIAL_ON_JOPID` FOREIGN KEY (`jopId`) REFERENCES `job_order_process` (`id`), | |||||
CONSTRAINT `FK_JOB_ORDER_MATERIAL_ON_ITEMID` FOREIGN KEY (`itemId`) REFERENCES `items` (`id`), | |||||
CONSTRAINT `FK_JOB_ORDER_MATERIAL_ON_UOMID` FOREIGN KEY (`uomId`) REFERENCES `uom_conversion` (`id`), | |||||
CONSTRAINT `FK_JOB_ORDER_MATERIAL_ON_LOTLINEID` FOREIGN KEY (`inventoryLotLineId`) REFERENCES `inventory_lot_line` (`id`), | |||||
CONSTRAINT `FK_JOB_ORDER_MATERIAL_ON_JOPROCESSDETAILID` FOREIGN KEY (`joProcessDetailId`) REFERENCES `job_order_process_detail` (`id`) | |||||
); |
@@ -0,0 +1,44 @@ | |||||
-- liquibase formatted sql | |||||
-- changeset cyril:stock take | |||||
CREATE TABLE `stock_take` | |||||
( | |||||
`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, | |||||
`planStart` DATETIME NOT NULL, | |||||
`planEnd` DATETIME NOT NULL, | |||||
`actualStart` DATETIME NULL, | |||||
`actualEnd` DATETIME NULL, | |||||
`status` VARCHAR(20) NOT NULL DEFAULT 'pending', | |||||
`remarks` VARCHAR(500) NULL, | |||||
CONSTRAINT pk_stock_take PRIMARY KEY (id) | |||||
); | |||||
CREATE TABLE `stock_take_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', | |||||
`stockTakeId` INT NOT NULL, | |||||
`inventoryLotLineId` INT NOT NULL, | |||||
`initialQty` DECIMAL(14, 2) NULL, | |||||
`finalQty` DECIMAL(14, 2) NULL, | |||||
`uomId` INT NULL, | |||||
`completeDate` DATETIME NULL, | |||||
`status` VARCHAR(20) NOT NULL DEFAULT 'pending', | |||||
`remarks` VARCHAR(500) NULL, | |||||
CONSTRAINT pk_stock_take_line PRIMARY KEY (id), | |||||
CONSTRAINT `FK_STOCK_TAKE_LINE_ON_STOCKTAKEID` FOREIGN KEY (`stockTakeId`) REFERENCES `stock_take` (`id`), | |||||
CONSTRAINT `FK_STOCK_TAKE_LINE_ON_INVENTORYLOTLINEID` FOREIGN KEY (`inventoryLotLineId`) REFERENCES `inventory_lot_line` (`id`), | |||||
CONSTRAINT `FK_STOCK_TAKE_LINE_ON_UOMID` FOREIGN KEY (`uomId`) REFERENCES `uom_conversion` (`id`) | |||||
); |
@@ -0,0 +1,21 @@ | |||||
-- liquibase formatted sql | |||||
-- changeset cyril:suggested pick lot | |||||
CREATE TABLE `suggested_pick_lot` | |||||
( | |||||
`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', | |||||
`type` VARCHAR(100) NOT NULL, | |||||
`stockOutLineId` INT NULL, | |||||
`suggestedLotId` INT NOT NULL, | |||||
`suggestedLocId` INT NOT NULL, | |||||
CONSTRAINT pk_suggested_pick_lot PRIMARY KEY (id), | |||||
CONSTRAINT `FK_SUGGESTED_PICK_LOT_ON_STOCKOUTLINEID` FOREIGN KEY (`stockOutLineId`) REFERENCES `stock_out_line` (`id`), | |||||
CONSTRAINT `FK_SUGGESTED_PICK_LOT_ON_SUGGESTEDLOTID` FOREIGN KEY (`suggestedLotId`) REFERENCES `inventory_lot` (`id`), | |||||
CONSTRAINT `FK_SUGGESTED_PICK_LOT_ON_SUGGESTEDLOCID` FOREIGN KEY (`suggestedLocId`) REFERENCES `warehouse` (`id`) | |||||
); |
@@ -0,0 +1,24 @@ | |||||
-- liquibase formatted sql | |||||
-- changeset cyril:supervision approval log | |||||
CREATE TABLE `supervision_approval_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', | |||||
`personInCharge` INT NOT NULL, | |||||
`type` VARCHAR(100) NOT NULL, | |||||
`stockInLineId` INT NULL, | |||||
`stockOutLineId` INT NULL, | |||||
`recordDate` DATETIME NULL, | |||||
`status` VARCHAR(100) NOT NULL, | |||||
`reason` VARCHAR(500) NOT NULL, | |||||
CONSTRAINT pk_supervision_approval_log PRIMARY KEY (id), | |||||
CONSTRAINT `FK_SUPERVISION_APPROVAL_LOG_ON_PERSONINCHARGE` FOREIGN KEY (`personInCharge`) REFERENCES `user` (`id`), | |||||
CONSTRAINT `FK_SUPERVISION_APPROVAL_LOG_ON_STOCKINLINEID` FOREIGN KEY (`stockInLineId`) REFERENCES `stock_in_line` (`id`), | |||||
CONSTRAINT `FK_SUPERVISION_APPROVAL_LOG_ON_STOCKOUTLINEID` FOREIGN KEY (`stockOutLineId`) REFERENCES `stock_out_line` (`id`) | |||||
); |
@@ -0,0 +1,23 @@ | |||||
-- liquibase formatted sql | |||||
-- changeset cyril:company | |||||
CREATE TABLE `company` | |||||
( | |||||
`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(100) NOT NULL, | |||||
`name` VARCHAR(100) NOT NULL, | |||||
`brNo` VARCHAR(100) NULL, | |||||
`contactNo` VARCHAR(100) NULL, | |||||
`email` VARCHAR(100) NULL, | |||||
`addr1` VARCHAR(500) NULL, | |||||
`addr2` VARCHAR(500) NULL, | |||||
`addr3` VARCHAR(500) NULL, | |||||
`addr4` VARCHAR(500) NULL, | |||||
CONSTRAINT pk_company PRIMARY KEY (id) | |||||
); |