diff --git a/src/main/java/com/ffii/fpsms/modules/purchaseOrder/entity/projections/PurchaseOrderLineInfo.kt b/src/main/java/com/ffii/fpsms/modules/purchaseOrder/entity/projections/PurchaseOrderLineInfo.kt index 743e106..342791e 100644 --- a/src/main/java/com/ffii/fpsms/modules/purchaseOrder/entity/projections/PurchaseOrderLineInfo.kt +++ b/src/main/java/com/ffii/fpsms/modules/purchaseOrder/entity/projections/PurchaseOrderLineInfo.kt @@ -32,6 +32,7 @@ data class PoLineWithStockInLine ( val itemNo: String, val itemName: String?, val qty: BigDecimal, + @get:Value("#{target.stockInLines.?[].inventoryLot.?[].inventoryLotLines.?[inQty != null][].inQty.sum()}") val processed: BigDecimal, val receivedQty: BigDecimal, @get:Value("#{target.uom}") diff --git a/src/main/java/com/ffii/fpsms/modules/purchaseOrder/service/PurchaseOrderService.kt b/src/main/java/com/ffii/fpsms/modules/purchaseOrder/service/PurchaseOrderService.kt index f693a46..0139da3 100644 --- a/src/main/java/com/ffii/fpsms/modules/purchaseOrder/service/PurchaseOrderService.kt +++ b/src/main/java/com/ffii/fpsms/modules/purchaseOrder/service/PurchaseOrderService.kt @@ -239,7 +239,10 @@ open class PurchaseOrderService( itemNo = thisPol.itemNo!!, itemName = thisPol.item!!.name, qty = thisPol.qty!!, - processed = inLine.filter{ it.status == StockInLineStatus.COMPLETE.status}.sumOf { it.acceptedQty }, +// processed = inLine.filter{ it.status == StockInLineStatus.COMPLETE.status}.sumOf { it.acceptedQty }, + processed = inLine + .filter { line -> line.putAwayLines.any { it.qty?.let { qty -> qty > BigDecimal.ZERO } == true } } + .sumOf { line -> line.putAwayLines.sumOf { it.qty?.takeIf { qty -> qty > BigDecimal.ZERO } ?: BigDecimal.ZERO } }, receivedQty = thisPol.stockInLines.sumOf { it.acceptedQty ?: BigDecimal.ZERO }, uom = thisPol.uom!!, price = thisPol.price!!, diff --git a/src/main/java/com/ffii/fpsms/modules/qc/entity/projection/QcResultInfo.kt b/src/main/java/com/ffii/fpsms/modules/qc/entity/projection/QcResultInfo.kt index 670655a..f2ff437 100644 --- a/src/main/java/com/ffii/fpsms/modules/qc/entity/projection/QcResultInfo.kt +++ b/src/main/java/com/ffii/fpsms/modules/qc/entity/projection/QcResultInfo.kt @@ -18,6 +18,8 @@ interface QcResultInfo { val stockInLineId: Long? @get:Value("#{target.stockOutLine?.id}") val stockOutLineId: Long? + @get:Value("#{target.escalationLog?.id}") + val escalationLogId: Long? val failQty: Double? val qcPassed: Boolean @get:Value("#{target.modified}") diff --git a/src/main/java/com/ffii/fpsms/modules/stock/entity/EscalationLogInfo.kt b/src/main/java/com/ffii/fpsms/modules/stock/entity/EscalationLogInfo.kt index 2d96c2c..924a652 100644 --- a/src/main/java/com/ffii/fpsms/modules/stock/entity/EscalationLogInfo.kt +++ b/src/main/java/com/ffii/fpsms/modules/stock/entity/EscalationLogInfo.kt @@ -71,6 +71,7 @@ interface EscalationLogInfo { val qcTotalCount: Int?; val qcFailCount: Int?; val reason: String?; + val recordDate: LocalDateTime?; @get:Value("#{target.status?.value}") val status: String?; } \ No newline at end of file diff --git a/src/main/java/com/ffii/fpsms/modules/stock/service/EscalationLogService.kt b/src/main/java/com/ffii/fpsms/modules/stock/service/EscalationLogService.kt index adef54e..1bc7d71 100644 --- a/src/main/java/com/ffii/fpsms/modules/stock/service/EscalationLogService.kt +++ b/src/main/java/com/ffii/fpsms/modules/stock/service/EscalationLogService.kt @@ -38,6 +38,7 @@ open class EscalationLogService( open fun getLogsByUser(): List { val user = SecurityUtils.getUser().orElseThrow() val logs = user.id?.let { escalationLogRepository.findAllInfoByDeletedFalseAndHandlerIdIs(it) } ?: listOf() +// val pendingLogs = logs.filter { it.status == EscalationLogStatus.PENDING.value } return logs }