diff --git a/src/main/java/com/ffii/fpsms/m18/service/M18PurchaseOrderService.kt b/src/main/java/com/ffii/fpsms/m18/service/M18PurchaseOrderService.kt index 8d61bcc..1f36616 100644 --- a/src/main/java/com/ffii/fpsms/m18/service/M18PurchaseOrderService.kt +++ b/src/main/java/com/ffii/fpsms/m18/service/M18PurchaseOrderService.kt @@ -514,6 +514,12 @@ open class M18PurchaseOrderService( // if (failDetailList.size > 0) { logger.error("Total Fail (${poLineRefType}) (${failDetailList.size}): $failDetailList") // } + + val feeMarked = purchaseOrderLineService.markDeletedLinesWithFeeItems() + if (feeMarked > 0) { + logger.info("Marked $feeMarked PO line(s) as deleted (isFee items).") + } + logger.info("--------------------------------------------End - Saving M18 Purchase Order--------------------------------------------") return SyncResult( diff --git a/src/main/java/com/ffii/fpsms/modules/purchaseOrder/entity/PurchaseOrderLineRepository.kt b/src/main/java/com/ffii/fpsms/modules/purchaseOrder/entity/PurchaseOrderLineRepository.kt index 2fb8f16..f89f25d 100644 --- a/src/main/java/com/ffii/fpsms/modules/purchaseOrder/entity/PurchaseOrderLineRepository.kt +++ b/src/main/java/com/ffii/fpsms/modules/purchaseOrder/entity/PurchaseOrderLineRepository.kt @@ -3,6 +3,7 @@ package com.ffii.fpsms.modules.purchaseOrder.entity import com.ffii.core.support.AbstractRepository import com.ffii.fpsms.modules.purchaseOrder.entity.projections.PurchaseOrderLineInfo import com.ffii.fpsms.modules.purchaseOrder.enums.PurchaseOrderLineStatus +import org.springframework.data.jpa.repository.Query import org.springframework.stereotype.Repository import java.io.Serializable @@ -15,4 +16,7 @@ interface PurchaseOrderLineRepository : AbstractRepository // fun findAllByPurchaseOrderIdAndDeletedIsFalse(purchaseOrderId: Long): List // fun find + + @Query("SELECT pol FROM PurchaseOrderLine pol WHERE pol.deleted = false AND pol.item IS NOT NULL AND pol.item.isFee = true") + fun findAllByDeletedIsFalseAndItemIsFeeTrue(): List } \ No newline at end of file diff --git a/src/main/java/com/ffii/fpsms/modules/purchaseOrder/service/PurchaseOrderLineService.kt b/src/main/java/com/ffii/fpsms/modules/purchaseOrder/service/PurchaseOrderLineService.kt index 583d455..99114ec 100644 --- a/src/main/java/com/ffii/fpsms/modules/purchaseOrder/service/PurchaseOrderLineService.kt +++ b/src/main/java/com/ffii/fpsms/modules/purchaseOrder/service/PurchaseOrderLineService.kt @@ -98,4 +98,13 @@ open class PurchaseOrderLineService( return savedPurchaseOrderLine } + + open fun markDeletedLinesWithFeeItems(): Int { + val feeLines = purchaseOrderLineRepository.findAllByDeletedIsFalseAndItemIsFeeTrue() + feeLines.forEach { line -> + line.deleted = true + purchaseOrderLineRepository.saveAndFlush(line) + } + return feeLines.size + } } \ No newline at end of file