Explorar el Código

add po

create_edit_user
cyril.tsui hace 4 meses
padre
commit
2ac0fabefc
Se han modificado 6 ficheros con 166 adiciones y 0 borrados
  1. +42
    -0
      src/main/java/com/ffii/fpsms/modules/purchaseOrder/entity/PurchaseOrder.kt
  2. +48
    -0
      src/main/java/com/ffii/fpsms/modules/purchaseOrder/entity/PurchaseOrderItem.kt
  3. +8
    -0
      src/main/java/com/ffii/fpsms/modules/purchaseOrder/entity/PurchaseOrderItemRepository.kt
  4. +8
    -0
      src/main/java/com/ffii/fpsms/modules/purchaseOrder/entity/PurchaseOrderRepository.kt
  5. +14
    -0
      src/main/java/com/ffii/fpsms/modules/purchaseOrder/service/PurchaseOrderService.kt
  6. +46
    -0
      src/main/resources/db/changelog/changes/20250414_01_cyril/01_purchase_order.sql

+ 42
- 0
src/main/java/com/ffii/fpsms/modules/purchaseOrder/entity/PurchaseOrder.kt Ver fichero

@@ -0,0 +1,42 @@
package com.ffii.fpsms.modules.purchaseOrder.entity

import com.ffii.core.entity.BaseEntity
import com.ffii.fpsms.modules.master.entity.Shop
import com.ffii.fpsms.modules.stock.entity.M18DataLog
import jakarta.persistence.*
import jakarta.validation.constraints.NotNull
import jakarta.validation.constraints.Size
import java.time.LocalDate
import java.time.LocalDateTime

@Entity
@Table(name = "purchase_order")
open class PurchaseOrder : BaseEntity<Long>() {
@Size(max = 30)
@NotNull
@Column(name = "code", nullable = false, length = 30)
open var code: String? = null

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "supplierId")
open var supplier: Shop? = null

@Column(name = "orderDate")
open var orderDate: LocalDateTime? = null

@Column(name = "estimatedCompleteDate")
open var estimatedCompleteDate: LocalDate? = null

@Column(name = "completeDate")
open var completeDate: LocalDateTime? = null

@Size(max = 10)
@NotNull
@Column(name = "status", nullable = false, length = 10)
open var status: String? = null

@NotNull
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(name = "m18DataLogId", nullable = false)
open var m18DataLog: M18DataLog? = null
}

+ 48
- 0
src/main/java/com/ffii/fpsms/modules/purchaseOrder/entity/PurchaseOrderItem.kt Ver fichero

@@ -0,0 +1,48 @@
package com.ffii.fpsms.modules.purchaseOrder.entity

import com.ffii.core.entity.BaseEntity
import com.ffii.fpsms.modules.master.entity.Items
import com.ffii.fpsms.modules.stock.entity.M18DataLog
import jakarta.persistence.*
import jakarta.validation.constraints.NotNull
import jakarta.validation.constraints.Size
import java.math.BigDecimal

@Entity
@Table(name = "purchase_order_item")
class PurchaseOrderItem : BaseEntity<Long>(){
@NotNull
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(name = "itemId", nullable = false)
open var item: Items? = null

@Size(max = 20)
@NotNull
@Column(name = "itemNo", nullable = false, length = 20)
open var itemNo: String? = null

@NotNull
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(name = "purchaseOrderId", nullable = false)
open var purchaseOrder: PurchaseOrder? = null

@Column(name = "qty", precision = 14, scale = 2)
open var qty: BigDecimal? = null

@Column(name = "price", precision = 14, scale = 2)
open var price: BigDecimal? = null

@Size(max = 5)
@Column(name = "priceUnit", length = 5)
open var priceUnit: String? = null

@Size(max = 10)
@NotNull
@Column(name = "status", nullable = false, length = 10)
open var status: String? = null

@NotNull
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(name = "m18DataLogId", nullable = false)
open var m18DataLog: M18DataLog? = null
}

+ 8
- 0
src/main/java/com/ffii/fpsms/modules/purchaseOrder/entity/PurchaseOrderItemRepository.kt Ver fichero

@@ -0,0 +1,8 @@
package com.ffii.fpsms.modules.purchaseOrder.entity

import com.ffii.core.support.AbstractRepository
import org.springframework.stereotype.Repository

@Repository
interface PurchaseOrderItemRepository : AbstractRepository<PurchaseOrderItem, Long> {
}

+ 8
- 0
src/main/java/com/ffii/fpsms/modules/purchaseOrder/entity/PurchaseOrderRepository.kt Ver fichero

@@ -0,0 +1,8 @@
package com.ffii.fpsms.modules.purchaseOrder.entity

import com.ffii.core.support.AbstractRepository
import org.springframework.stereotype.Repository

@Repository
interface PurchaseOrderRepository : AbstractRepository<PurchaseOrder, Long> {
}

+ 14
- 0
src/main/java/com/ffii/fpsms/modules/purchaseOrder/service/PurchaseOrderService.kt Ver fichero

@@ -0,0 +1,14 @@
package com.ffii.fpsms.modules.purchaseOrder.service

import com.ffii.fpsms.modules.purchaseOrder.entity.PurchaseOrder
import com.ffii.fpsms.modules.purchaseOrder.entity.PurchaseOrderRepository
import org.springframework.stereotype.Service

@Service
open class PurchaseOrderService(
val purchaseOrderRepository: PurchaseOrderRepository
) {
open fun allPurchaseOrder(): List<PurchaseOrder> {
return purchaseOrderRepository.findAll()
}
}

+ 46
- 0
src/main/resources/db/changelog/changes/20250414_01_cyril/01_purchase_order.sql Ver fichero

@@ -0,0 +1,46 @@
--liquibase formatted sql

--changeset cyril:purchase order
CREATE TABLE `purchase_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(30) NOT NULL,
`supplierId` INT NULL,
`orderDate` DATETIME NULL,
`estimatedCompleteDate` DATETIME NULL,
`completeDate` DATETIME NULL,
`status` VARCHAR(10) NOT NULL DEFAULT 'pending',
`m18DataLogId` INT NOT NULL,
CONSTRAINT pk_purchase_order PRIMARY KEY (id),
CONSTRAINT FK_PURCHASE_ORDER_ON_SUPPLIERID FOREIGN KEY (supplierId) REFERENCES shop (id),
CONSTRAINT FK_PURCHASE_ORDER_ON_M18DATALOGID FOREIGN KEY (m18DataLogId) REFERENCES m18_data_log (id)
);

CREATE TABLE `purchase_order_item`
(
`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,
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_PURCHASEORDERID FOREIGN KEY (purchaseOrderId) REFERENCES purchase_order (id),
CONSTRAINT FK_PURCHASE_ORDER_LINE_ON_M18DATALOGID FOREIGN KEY (m18DataLogId) REFERENCES m18_data_log (id)
);

Cargando…
Cancelar
Guardar