Преглед на файлове

update database

production_process
cyril.tsui преди 2 месеца
родител
ревизия
79c4568832
променени са 9 файла, в които са добавени 124 реда и са изтрити 9 реда
  1. +12
    -1
      src/main/java/com/ffii/fpsms/modules/pickOrder/entity/PickOrder.kt
  2. +13
    -0
      src/main/java/com/ffii/fpsms/modules/pickOrder/entity/PickOrderLine.kt
  3. +7
    -0
      src/main/java/com/ffii/fpsms/modules/stock/entity/StockOutLine.kt
  4. +20
    -8
      src/main/java/com/ffii/fpsms/modules/stock/entity/SuggestedPickLot.kt
  5. +6
    -0
      src/main/java/com/ffii/fpsms/modules/stock/enums/SuggestedPickLotEnum.kt
  6. +18
    -0
      src/main/java/com/ffii/fpsms/modules/stock/enums/SuggestedPickLotEnumConverter.kt
  7. +14
    -0
      src/main/resources/db/changelog/changes/20250619_01_cyril/01_update_pick_order.sql
  8. +21
    -0
      src/main/resources/db/changelog/changes/20250619_01_cyril/02_update_suggested_pick_lot.sql
  9. +13
    -0
      src/main/resources/db/changelog/changes/20250620_01_cyril/01_update_stock_out_line.sql

+ 12
- 1
src/main/java/com/ffii/fpsms/modules/pickOrder/entity/PickOrder.kt Целия файл

@@ -7,11 +7,14 @@ import com.ffii.fpsms.modules.jobOrder.entity.JobOrder
import com.ffii.fpsms.modules.master.entity.BomMaterial
import com.ffii.fpsms.modules.pickOrder.enums.PickOrderStatus
import com.ffii.fpsms.modules.pickOrder.enums.PickOrderStatusConverter
import com.ffii.fpsms.modules.pickOrder.enums.PickOrderType
import com.ffii.fpsms.modules.pickOrder.enums.PickOrderTypeConverter
import com.ffii.fpsms.modules.user.entity.User
import jakarta.persistence.*
import jakarta.validation.constraints.NotNull
import jakarta.validation.constraints.Size
import org.hibernate.annotations.Formula
import java.time.Instant
import java.time.LocalDateTime

@Entity
@@ -41,8 +44,9 @@ open class PickOrder: BaseEntity<Long>() {
open var completeDate: LocalDateTime? = null

@Size(max = 30)
@Convert(converter = PickOrderTypeConverter::class)
@Column(name = "type", length = 30)
open var type: String? = null
open var type: PickOrderType? = null

@NotNull
@Convert(converter = PickOrderStatusConverter::class)
@@ -56,4 +60,11 @@ open class PickOrder: BaseEntity<Long>() {
@JsonManagedReference
@OneToMany(mappedBy = "pickOrder", cascade = [CascadeType.ALL], orphanRemoval = true)
open var pickOrderLines: MutableList<PickOrderLine> = mutableListOf()

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

@ManyToOne
@JoinColumn(name = "assignTo", referencedColumnName = "id")
open var assignTo: User? = null
}

+ 13
- 0
src/main/java/com/ffii/fpsms/modules/pickOrder/entity/PickOrderLine.kt Целия файл

@@ -1,8 +1,12 @@
package com.ffii.fpsms.modules.pickOrder.entity

import com.fasterxml.jackson.annotation.JsonBackReference
import com.fasterxml.jackson.annotation.JsonManagedReference
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.StockOutLine
import com.ffii.fpsms.modules.stock.entity.SuggestedPickLot
import jakarta.persistence.*
import jakarta.validation.constraints.NotNull
import jakarta.validation.constraints.Size
@@ -12,6 +16,7 @@ import java.math.BigDecimal
@Table(name = "pick_order_line")
open class PickOrderLine : BaseEntity<Long>() {

@JsonBackReference
@NotNull
@ManyToOne
@JoinColumn(name = "poId", nullable = false)
@@ -35,4 +40,12 @@ open class PickOrderLine : BaseEntity<Long>() {
@NotNull
@Column(name = "status", nullable = false, length = 30)
open var status: String? = null

@JsonManagedReference
@OneToMany(mappedBy = "pickOrderLine", cascade = [CascadeType.ALL], orphanRemoval = true)
open var stockOutLines: MutableList<StockOutLine> = mutableListOf()

@JsonManagedReference
@OneToMany(mappedBy = "pickOrderLine", cascade = [CascadeType.ALL], orphanRemoval = true)
open var suggestedPickLots: MutableList<SuggestedPickLot> = mutableListOf()
}

+ 7
- 0
src/main/java/com/ffii/fpsms/modules/stock/entity/StockOutLine.kt Целия файл

@@ -1,7 +1,9 @@
package com.ffii.fpsms.modules.stock.entity

import com.fasterxml.jackson.annotation.JsonBackReference
import com.ffii.core.entity.BaseEntity
import com.ffii.fpsms.modules.master.entity.Items
import com.ffii.fpsms.modules.pickOrder.entity.PickOrderLine
import jakarta.persistence.*
import jakarta.validation.constraints.NotNull
import java.time.LocalDateTime
@@ -37,4 +39,9 @@ open class StockOutLine: BaseEntity<Long>() {

@Column(name = "pickerId")
open var pickerId: Long? = null

@JsonBackReference
@ManyToOne
@JoinColumn(name = "pickOrderLineId")
open var pickOrderLine: PickOrderLine? = null
}

+ 20
- 8
src/main/java/com/ffii/fpsms/modules/stock/entity/SuggestedPickLot.kt Целия файл

@@ -1,30 +1,42 @@
package com.ffii.fpsms.modules.stock.entity

import com.fasterxml.jackson.annotation.JsonBackReference
import com.ffii.core.entity.BaseEntity
import com.ffii.fpsms.modules.master.entity.Warehouse
import com.ffii.fpsms.modules.pickOrder.entity.PickOrderLine
import com.ffii.fpsms.modules.stock.enums.SuggestedPickLotType
import com.ffii.fpsms.modules.stock.enums.SuggestedPickLotTypeConverter
import jakarta.persistence.*
import jakarta.validation.constraints.NotNull
import jakarta.validation.constraints.Size
import java.math.BigDecimal

@Entity
@Table(name = "suggested_pick_lot")
open class SuggestedPickLot: BaseEntity<Long>() {
@Size(max = 100)
@NotNull
@Convert(converter = SuggestedPickLotTypeConverter::class)
@Column(name = "type", nullable = false, length = 100)
open var type: String? = null
open var type: SuggestedPickLotType? = null

@JsonBackReference
@ManyToOne
@JoinColumn(name = "stockOutLineId")
open var stockOutLine: StockOutLine? = null

@NotNull
@JsonBackReference
@ManyToOne
@JoinColumn(name = "suggestedLotId", nullable = false)
open var suggestedLot: InventoryLot? = null
@JoinColumn(name = "suggestedLotLineId", nullable = false)
open var suggestedLotLine: InventoryLotLine? = null

@NotNull
@JsonBackReference
@ManyToOne
@JoinColumn(name = "suggestedLocId", nullable = false)
open var suggestedLoc: Warehouse? = null
@JoinColumn(name = "pickOrderLineId")
open var pickOrderLine: PickOrderLine? = null

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

@Column(name = "pickSuggested")
open var pickSuggested: Boolean? = null
}

+ 6
- 0
src/main/java/com/ffii/fpsms/modules/stock/enums/SuggestedPickLotEnum.kt Целия файл

@@ -0,0 +1,6 @@
package com.ffii.fpsms.modules.stock.enums

enum class SuggestedPickLotType(val value: String) {
PICK_ORDER ("po"),
DELIVERY_ORDER ("do"),
}

+ 18
- 0
src/main/java/com/ffii/fpsms/modules/stock/enums/SuggestedPickLotEnumConverter.kt Целия файл

@@ -0,0 +1,18 @@
package com.ffii.fpsms.modules.stock.enums

import jakarta.persistence.AttributeConverter
import jakarta.persistence.Converter

// Suggested Pick Lot Type
@Converter(autoApply = true)
class SuggestedPickLotTypeConverter : AttributeConverter<SuggestedPickLotType, String>{
override fun convertToDatabaseColumn(status: SuggestedPickLotType?): String? {
return status?.value
}

override fun convertToEntityAttribute(value: String?): SuggestedPickLotType? {
return value?.let { v ->
SuggestedPickLotType.entries.find { it.value == v }
}
}
}

+ 14
- 0
src/main/resources/db/changelog/changes/20250619_01_cyril/01_update_pick_order.sql Целия файл

@@ -0,0 +1,14 @@
-- liquibase formatted sql
-- changeset cyril:update_pick_order

ALTER TABLE `pick_order`
ADD COLUMN `releasedDate` DATETIME NULL DEFAULT NULL AFTER `targetDate`,
ADD COLUMN `assignTo` INT NULL DEFAULT NULL AFTER `releasedBy`,
ADD INDEX `FK_PICK_ORDER_ON_ASSIGNTO` (`assignTo` ASC) VISIBLE;
;
ALTER TABLE `pick_order`
ADD CONSTRAINT `FK_PICK_ORDER_ON_ASSIGNTO`
FOREIGN KEY (`assignTo`)
REFERENCES `user` (`id`)
ON DELETE RESTRICT
ON UPDATE RESTRICT;

+ 21
- 0
src/main/resources/db/changelog/changes/20250619_01_cyril/02_update_suggested_pick_lot.sql Целия файл

@@ -0,0 +1,21 @@
-- liquibase formatted sql
-- changeset cyril:update_suggested_pick_lot

ALTER TABLE `suggested_pick_lot`
DROP FOREIGN KEY `FK_SUGGESTED_PICK_LOT_ON_SUGGESTEDLOTLINEID`;
ALTER TABLE `suggested_pick_lot`
ADD COLUMN `pickOrderLineId` INT NULL AFTER `suggestedLotLineId`,
ADD COLUMN `qty` DECIMAL(14,2) NULL AFTER `pickOrderLineId`,
ADD COLUMN `pickSuggested` TINYINT(1) NULL AFTER `qty`,
CHANGE COLUMN `suggestedLotLineId` `suggestedLotLineId` INT NULL ,
ADD INDEX `FK_SUGGESTED_PICK_LOT_ON_PICKORDERLINEID` (`pickOrderLineId` ASC) VISIBLE;
;
ALTER TABLE `suggested_pick_lot`
ADD CONSTRAINT `FK_SUGGESTED_PICK_LOT_ON_SUGGESTEDLOTLINEID`
FOREIGN KEY (`suggestedLotLineId`)
REFERENCES `inventory_lot_line` (`id`),
ADD CONSTRAINT `FK_SUGGESTED_PICK_LOT_ON_PICKORDERLINEID`
FOREIGN KEY (`pickOrderLineId`)
REFERENCES `pick_order_line` (`id`)
ON DELETE RESTRICT
ON UPDATE RESTRICT;

+ 13
- 0
src/main/resources/db/changelog/changes/20250620_01_cyril/01_update_stock_out_line.sql Целия файл

@@ -0,0 +1,13 @@
-- liquibase formatted sql
-- changeset cyril:update_stock_out_line

ALTER TABLE `stock_out_line`
ADD COLUMN `pickOrderLineId` INT NULL DEFAULT NULL AFTER `stockOutId`,
ADD INDEX `FK_STOCKOUT_LINE_PICKORDERLINE_ID_idx` (`pickOrderLineId` ASC) VISIBLE;
;
ALTER TABLE `stock_out_line`
ADD CONSTRAINT `FK_STOCKOUT_LINE_PICKORDERLINE_ID`
FOREIGN KEY (`pickOrderLineId`)
REFERENCES `pick_order_line` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;

Зареждане…
Отказ
Запис