소스 검색

[po] update po

create_edit_user
cyril.tsui 3 달 전
부모
커밋
fc22127c05
9개의 변경된 파일42개의 추가작업 그리고 16개의 파일을 삭제
  1. +5
    -0
      src/main/java/com/ffii/fpsms/modules/purchaseOrder/entity/PurchaseOrder.kt
  2. +2
    -4
      src/main/java/com/ffii/fpsms/modules/purchaseOrder/entity/PurchaseOrderLine.kt
  3. +1
    -1
      src/main/java/com/ffii/fpsms/modules/purchaseOrder/entity/PurchaseOrderRepository.kt
  4. +8
    -3
      src/main/java/com/ffii/fpsms/modules/purchaseOrder/service/PurchaseOrderLineService.kt
  5. +18
    -4
      src/main/java/com/ffii/fpsms/modules/purchaseOrder/service/PurchaseOrderService.kt
  6. +2
    -2
      src/main/java/com/ffii/fpsms/modules/purchaseOrder/web/model/SavePurchaseOrderLineRequest.kt
  7. +1
    -1
      src/main/java/com/ffii/fpsms/modules/purchaseOrder/web/model/SavePurchaseOrderLineResponse.kt
  8. +4
    -1
      src/main/java/com/ffii/fpsms/modules/purchaseOrder/web/model/SavePurchaseOrderRequest.kt
  9. +1
    -0
      src/main/java/com/ffii/fpsms/modules/purchaseOrder/web/model/SavePurchaseOrderResponse.kt

+ 5
- 0
src/main/java/com/ffii/fpsms/modules/purchaseOrder/entity/PurchaseOrder.kt 파일 보기

@@ -3,6 +3,7 @@ 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.m18.entity.M18DataLog
import com.ffii.fpsms.modules.master.entity.Currency
import com.ffii.fpsms.modules.purchaseOrder.enums.PurchaseOrderStatus
import com.ffii.fpsms.modules.purchaseOrder.enums.PurchaseOrderStatusConverter
import com.ffii.fpsms.modules.purchaseOrder.enums.PurchaseOrderType
@@ -43,6 +44,10 @@ open class PurchaseOrder : BaseEntity<Long>() {
@Convert(converter = PurchaseOrderTypeConverter::class)
open var type: PurchaseOrderType? = null

@ManyToOne
@JoinColumn(name = "currencyId")
open var currency: Currency? = null

@NotNull
@ManyToOne
@JoinColumn(name = "m18DataLogId", nullable = false)


+ 2
- 4
src/main/java/com/ffii/fpsms/modules/purchaseOrder/entity/PurchaseOrderLine.kt 파일 보기

@@ -14,7 +14,7 @@ import java.math.BigDecimal

@Entity
@Table(name = "purchase_order_line")
open class PurchaseOrderLine : BaseEntity<Long>(){
open class PurchaseOrderLine : BaseEntity<Long>() {
@NotNull
@ManyToOne
@JoinColumn(name = "itemId", nullable = false)
@@ -52,8 +52,6 @@ open class PurchaseOrderLine : BaseEntity<Long>(){
open var m18DataLog: M18DataLog? = null

@ManyToOne
@JoinColumn(name = "uomId")
// @Column(name = "uomId")
@JoinColumn(name = "uomId", nullable = false)
open var uom: UomConversion? = null

}

+ 1
- 1
src/main/java/com/ffii/fpsms/modules/purchaseOrder/entity/PurchaseOrderRepository.kt 파일 보기

@@ -8,7 +8,7 @@ import java.util.Optional

@Repository
interface PurchaseOrderRepository : AbstractRepository<PurchaseOrder, Long> {
fun findByM18DataLogIdAndDeletedIsFalse(m18datalogId: Serializable): PurchaseOrder?
fun findTopByM18DataLogIdAndDeletedIsFalseOrderByModifiedDesc(m18datalogId: Serializable): PurchaseOrder?

fun findPurchaseOrderInfoByDeletedIsFalse(): List<PurchaseOrderInfo>
fun findPurchaseOrderInfoByIdAndDeletedIsFalse(id: Long): PurchaseOrderInfo


+ 8
- 3
src/main/java/com/ffii/fpsms/modules/purchaseOrder/service/PurchaseOrderLineService.kt 파일 보기

@@ -4,6 +4,7 @@ import com.ffii.fpsms.m18.entity.M18DataLogRepository
import com.ffii.fpsms.modules.master.entity.ItemsRepository
import com.ffii.fpsms.modules.master.service.CurrencyService
import com.ffii.fpsms.modules.master.service.ItemsService
import com.ffii.fpsms.modules.master.service.UomConversionService
import com.ffii.fpsms.modules.purchaseOrder.entity.PurchaseOrderLine
import com.ffii.fpsms.modules.purchaseOrder.entity.PurchaseOrderLineRepository
import com.ffii.fpsms.modules.purchaseOrder.entity.PurchaseOrderRepository
@@ -23,6 +24,7 @@ open class PurchaseOrderLineService(
private val purchaseOrderRepository: PurchaseOrderRepository,
private val m18DataLogRepository: M18DataLogRepository,
private val currencyService: CurrencyService,
private val uomConversionService: UomConversionService,
) {
open fun allPurchaseOrderLine(): List<PurchaseOrderLine> {
return purchaseOrderLineRepository.findAll()
@@ -44,8 +46,9 @@ open class PurchaseOrderLineService(
val purchaseOrder = request.purchaseOrderId?.let { purchaseOrderRepository.findById(it).getOrNull() }
val status = request.status?.let { status -> PurchaseOrderLineStatus.entries.find { it.value == status } }
val m18DataLog = request.m18DataLogId?.let { m18DataLogRepository.findById(it).getOrNull() }
val currency = request.m18CurrencyId?.let { currencyService.findByM18Id(it) }
?: request.currencyId?.let { currencyService.findById(it) }
// val currency = request.m18CurrencyId?.let { currencyService.findByM18Id(it) }
// ?: request.currencyId?.let { currencyService.findById(it) }
val uom = request.uomId?.let { uomConversionService.find(it).getOrNull() }

purchaseOrderLine.apply {
this.item = item
@@ -53,6 +56,8 @@ open class PurchaseOrderLineService(
this.purchaseOrder = purchaseOrder
qty = request.qty
price = request.price
this.uom = uom
// this.currency = currency
this.status = status
this.m18DataLog = m18DataLog ?: this.m18DataLog
}
@@ -63,7 +68,7 @@ open class PurchaseOrderLineService(
itemNo = it.itemNo,
qty = it.qty,
price = it.price,
currency = currency?.name,
// currency = currency?.name,
status = it.status?.value
)
}


+ 18
- 4
src/main/java/com/ffii/fpsms/modules/purchaseOrder/service/PurchaseOrderService.kt 파일 보기

@@ -4,6 +4,8 @@ import com.ffii.core.support.AbstractBaseEntityService
import com.ffii.core.support.JdbcDao
import com.ffii.fpsms.m18.entity.M18DataLogRepository
import com.ffii.fpsms.modules.master.entity.ShopRepository
import com.ffii.fpsms.modules.master.service.CurrencyService
import com.ffii.fpsms.modules.master.service.ShopService
import com.ffii.fpsms.modules.purchaseOrder.entity.PurchaseOrder
import com.ffii.fpsms.modules.purchaseOrder.entity.PurchaseOrderLineRepository
import com.ffii.fpsms.modules.purchaseOrder.entity.PurchaseOrderRepository
@@ -33,17 +35,22 @@ open class PurchaseOrderService(
private val m18DataLogRepository: M18DataLogRepository,
private val stockInRepository: StockInRepository,
private val stockInLineRepository: StockInLineRepository,
): AbstractBaseEntityService<PurchaseOrder, Long, PurchaseOrderRepository>(jdbcDao, purchaseOrderRepository) {
private val currencyService: CurrencyService,
private val shopService: ShopService,
) : AbstractBaseEntityService<PurchaseOrder, Long, PurchaseOrderRepository>(jdbcDao, purchaseOrderRepository) {
open fun getPoList(): List<PurchaseOrderInfo> {
return purchaseOrderRepository.findPurchaseOrderInfoByDeletedIsFalse()
}

open fun allPurchaseOrder(): List<PurchaseOrder> {
return purchaseOrderRepository.findAll()
}

open fun getDetailedPo(id: Long): Map<String, Any> {
// REMINDER: po code have duplication
val po = purchaseOrderRepository.findPurchaseOrderInfoByIdAndDeletedIsFalse(id)
val pol = polRepository.findAllByPurchaseOrderIdAndDeletedIsFalse(id)
// val pol = polRepository.findAllPurchaseOrderLineInfoByPurchaseOrderIdAndDeletedIsFalse(id)
val stockIn = stockInRepository.findByPurchaseOrderIdAndDeletedFalse(id)
val stockInLine = if (stockIn == null) listOf() else {
stockInLineRepository.findAllStockInLineInfoByStockInIdAndDeletedFalse(stockIn.id!!)
@@ -75,13 +82,18 @@ open class PurchaseOrderService(
)
return result
}
open fun findPurchaseOrderByM18Id(m18DataLogId: Long): PurchaseOrder? {
return purchaseOrderRepository.findByM18DataLogIdAndDeletedIsFalse(m18DataLogId)

open fun findByM18DataLogId(m18DataLogId: Long): PurchaseOrder? {
return purchaseOrderRepository.findTopByM18DataLogIdAndDeletedIsFalseOrderByModifiedDesc(m18DataLogId)
}

open fun savePurchaseOrder(request: SavePurchaseOrderRequest): SavePurchaseOrderResponse {
val purchaseOrder =
request.id?.let { purchaseOrderRepository.findById(it).getOrDefault(PurchaseOrder()) } ?: PurchaseOrder()
val supplier = request.supplierId?.let { shopRepository.findById(it).getOrNull() }
val supplier = request.m18SupplierId?.let { shopService.findVendorByM18Id(it) }
?: request.supplierId?.let { shopService.findById(it) }
val currency = request.m18CurrencyId?.let { currencyService.findByM18Id(it) }
?: request.currencyId?.let { currencyService.findById(it) }
val status = request.status?.let { status -> PurchaseOrderStatus.entries.find { it.value == status } }
val type = request.type?.let { type -> PurchaseOrderType.entries.find { it.value == type } }
val m18DataLog = request.m18DataLogId?.let { m18DataLogRepository.findById(it).getOrNull() }
@@ -91,6 +103,7 @@ open class PurchaseOrderService(
purchaseOrder.apply {
code = request.code
this.supplier = supplier
this.currency = currency
orderDate = request.orderDate
estimatedArrivalDate = request.estimatedArrivalDate
completeDate = request.completeDate
@@ -104,6 +117,7 @@ open class PurchaseOrderService(
id = it.id,
code = it.code,
supplierCode = it.supplier?.code,
currencyCode = it.currency?.code,
orderDate = it.orderDate,
estimatedArrivalDate = it.estimatedArrivalDate,
completeDate = it.completeDate,


+ 2
- 2
src/main/java/com/ffii/fpsms/modules/purchaseOrder/web/model/SavePurchaseOrderLineRequest.kt 파일 보기

@@ -9,8 +9,8 @@ data class SavePurchaseOrderLineRequest(
val purchaseOrderId: Long?,
val qty: BigDecimal?,
val price: BigDecimal?,
val currencyId: Long? = null,
val m18CurrencyId: Long? = null,
// val currencyId: Long? = null,
// val m18CurrencyId: Long? = null,
val status: String?,
val m18DataLogId: Long?,
)

+ 1
- 1
src/main/java/com/ffii/fpsms/modules/purchaseOrder/web/model/SavePurchaseOrderLineResponse.kt 파일 보기

@@ -7,6 +7,6 @@ data class SavePurchaseOrderLineResponse (
val itemNo: String?,
val qty: BigDecimal?,
val price: BigDecimal?,
val currency: String?,
// val currency: String?,
val status: String?,
)

+ 4
- 1
src/main/java/com/ffii/fpsms/modules/purchaseOrder/web/model/SavePurchaseOrderRequest.kt 파일 보기

@@ -7,7 +7,10 @@ import java.time.LocalDateTime
data class SavePurchaseOrderRequest (
val id: Long?,
val code: String?,
val supplierId: Long?,
val supplierId: Long? = null,
val m18SupplierId: Long? = null,
val currencyId: Long? = null,
val m18CurrencyId: Long? = null,
val orderDate: LocalDateTime?,
val estimatedArrivalDate: LocalDateTime?,
val completeDate: LocalDateTime?,


+ 1
- 0
src/main/java/com/ffii/fpsms/modules/purchaseOrder/web/model/SavePurchaseOrderResponse.kt 파일 보기

@@ -8,6 +8,7 @@ data class SavePurchaseOrderResponse (
val id: Long?,
val code: String?,
val supplierCode: String?,
val currencyCode: String?,
val orderDate: LocalDateTime?,
val estimatedArrivalDate: LocalDateTime?,
val completeDate: LocalDateTime?,


불러오는 중...
취소
저장