| @@ -315,6 +315,19 @@ open class M18PurchaseOrderService( | |||||
| val latestPurchaseOrderLog = | val latestPurchaseOrderLog = | ||||
| m18DataLogService.findLatestM18DataLogWithSuccess(m18PurchaseOrderId, poRefType) | m18DataLogService.findLatestM18DataLogWithSuccess(m18PurchaseOrderId, poRefType) | ||||
| val existingPurchaseOrderForSync = | |||||
| latestPurchaseOrderLog?.id?.let { purchaseOrderService.findByM18DataLogId(it) } | |||||
| if (existingPurchaseOrderForSync != null && | |||||
| existingPurchaseOrderForSync.status != PurchaseOrderStatus.PENDING | |||||
| ) { | |||||
| logger.info( | |||||
| "${poRefType}: Skipping M18 sync — local PO id=${existingPurchaseOrderForSync.id} " + | |||||
| "code=${existingPurchaseOrderForSync.code} status=${existingPurchaseOrderForSync.status?.value} " + | |||||
| "(only pending may be overwritten). M18 ID: $m18PurchaseOrderId" | |||||
| ) | |||||
| return@forEach | |||||
| } | |||||
| // logger.info(latestPurchaseOrderLog.toString()) | // logger.info(latestPurchaseOrderLog.toString()) | ||||
| // Save to m18_data_log table | // Save to m18_data_log table | ||||
| // logger.info("${poRefType}: Saving for M18 Data Log...") | // logger.info("${poRefType}: Saving for M18 Data Log...") | ||||
| @@ -336,10 +349,9 @@ open class M18PurchaseOrderService( | |||||
| // logger.info("${poRefType}: Saved M18 Data Log. ID: ${saveM18PurchaseOrderLog.id}") | // logger.info("${poRefType}: Saved M18 Data Log. ID: ${saveM18PurchaseOrderLog.id}") | ||||
| try { | try { | ||||
| // Find the purchase_order if exist | |||||
| // Find the purchase_order if exist (re-use lookup from pending guard above) | |||||
| // logger.info("${poRefType}: Finding exising purchase order...") | // logger.info("${poRefType}: Finding exising purchase order...") | ||||
| val existingPurchaseOrder = | |||||
| latestPurchaseOrderLog?.id?.let { purchaseOrderService.findByM18DataLogId(it) } | |||||
| val existingPurchaseOrder = existingPurchaseOrderForSync | |||||
| // logger.info("${poRefType}: Exising purchase order ID: ${existingPurchaseOrder?.id}") | // logger.info("${poRefType}: Exising purchase order ID: ${existingPurchaseOrder?.id}") | ||||
| // Save to purchase_order table | // Save to purchase_order table | ||||