diff --git a/src/main/java/com/ffii/fpsms/m18/service/M18DeliveryOrderService.kt b/src/main/java/com/ffii/fpsms/m18/service/M18DeliveryOrderService.kt index 69335e9..ba19169 100644 --- a/src/main/java/com/ffii/fpsms/m18/service/M18DeliveryOrderService.kt +++ b/src/main/java/com/ffii/fpsms/m18/service/M18DeliveryOrderService.kt @@ -462,18 +462,17 @@ open class M18DeliveryOrderService( } // End of save. Check result -// logger.info("Total Success (${doRefType}) (${successList.size}): $successList") logger.info("Total Success (${doRefType}) (${successList.size})") -// if (failList.size > 0) { logger.error("Total Fail (${doRefType}) (${failList.size}): $failList") -// } -// logger.info("Total Success (${doLineRefType}) (${successDetailList.size}): $successDetailList") logger.info("Total Success (${doLineRefType}) (${successDetailList.size})") -// if (failDetailList.size > 0) { logger.error("Total Fail (${doLineRefType}) (${failDetailList.size}): $failDetailList") -// logger.error("Total Fail M18 Items (${doLineRefType}) (${failItemDetailList.distinct().size}): ${failItemDetailList.distinct()}") -// } + + val feeMarked = deliveryOrderLineService.markDeletedLinesWithFeeItems() + if (feeMarked > 0) { + logger.info("Marked $feeMarked DO line(s) as deleted (isFee items).") + } + logger.info("--------------------------------------------End - Saving M18 Delivery Order--------------------------------------------") return SyncResult( diff --git a/src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/DeliveryOrderLineRepository.kt b/src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/DeliveryOrderLineRepository.kt index 2ebac47..be8679c 100644 --- a/src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/DeliveryOrderLineRepository.kt +++ b/src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/DeliveryOrderLineRepository.kt @@ -1,10 +1,17 @@ package com.ffii.fpsms.modules.deliveryOrder.entity import com.ffii.core.support.AbstractRepository +import org.springframework.data.jpa.repository.Query import org.springframework.stereotype.Repository import java.io.Serializable @Repository interface DeliveryOrderLineRepository : AbstractRepository { fun findByM18DataLogIdAndDeletedIsFalse(m18datalogId: Serializable): DeliveryOrderLine? + + @Query( + "SELECT dol FROM DeliveryOrderLine dol " + + "WHERE dol.deleted = false AND dol.item IS NOT NULL AND dol.item.isFee = true" + ) + fun findAllByDeletedIsFalseAndItemIsFeeTrue(): List } \ No newline at end of file diff --git a/src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DeliveryOrderLineService.kt b/src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DeliveryOrderLineService.kt index aa6167e..8f2b8bc 100644 --- a/src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DeliveryOrderLineService.kt +++ b/src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DeliveryOrderLineService.kt @@ -68,4 +68,13 @@ open class DeliveryOrderLineService( return savedDeliveryOrderLine } + + open fun markDeletedLinesWithFeeItems(): Int { + val feeLines = deliveryOrderLineRepository.findAllByDeletedIsFalseAndItemIsFeeTrue() + feeLines.forEach { line -> + line.deleted = true + deliveryOrderLineRepository.saveAndFlush(line) + } + return feeLines.size + } } \ No newline at end of file