Parcourir la source

no message

master
Fai Luk il y a 1 jour
Parent
révision
615ee1ec93
3 fichiers modifiés avec 15 ajouts et 0 suppressions
  1. +10
    -0
      src/main/java/com/ffii/fpsms/modules/stock/service/StockInLineService.kt
  2. +2
    -0
      src/main/resources/application-prod.yml
  3. +3
    -0
      src/main/resources/application.yml

+ 10
- 0
src/main/java/com/ffii/fpsms/modules/stock/service/StockInLineService.kt Voir le fichier

@@ -14,6 +14,7 @@ import com.ffii.fpsms.modules.qc.entity.QcResultRepository
import com.ffii.fpsms.modules.stock.entity.*
import com.ffii.fpsms.modules.stock.sql.StockSql.SQL.INVENTORY_COUNT
import net.sf.jasperreports.engine.JasperCompileManager
import org.springframework.beans.factory.annotation.Value
import org.springframework.context.annotation.Lazy
import org.springframework.core.io.ClassPathResource
import org.springframework.stereotype.Service
@@ -102,6 +103,8 @@ open class StockInLineService(
private val m18GoodsReceiptNoteLogRepository: M18GoodsReceiptNoteLogRepository,
/** Lazy to avoid circular dependency: M18PurchaseOrderService → … → StockInLineService. */
@Lazy private val m18PurchaseOrderService: M18PurchaseOrderService,
/** When false (default), M18 GRN create API is not called — set true in production only. */
@Value("\${scheduler.m18Grn.createEnabled:false}") private val m18GrnCreateEnabled: Boolean,
) : AbstractBaseEntityService<StockInLine, Long, StockInLineRepository>(jdbcDao, stockInLineRepository) {

private val logger = LoggerFactory.getLogger(StockInLineService::class.java)
@@ -694,6 +697,13 @@ open class StockInLineService(
logger.info("[tryUpdatePurchaseOrderAndCreateGrnIfCompleted] Skipping M18 GRN - m18CreatedUId=$m18Created in skip list for PO id=${savedPo.id} code=${savedPo.code}")
return
}
if (!m18GrnCreateEnabled) {
logger.info(
"[tryUpdatePurchaseOrderAndCreateGrnIfCompleted] Skipping M18 GRN API — scheduler.m18Grn.createEnabled=false " +
"(enable only in production) PO id=${savedPo.id} code=${savedPo.code}"
)
return
}
//temp comment this TODO will only check purchase order + dnNo duplicated
//if (m18GoodsReceiptNoteLogRepository.existsByPurchaseOrderIdAndStatusTrue(savedPo.id!!)) {
// logger.info("[tryUpdatePurchaseOrderAndCreateGrnIfCompleted] Skipping M18 GRN - already created for PO id=${savedPo.id} code=${savedPo.code} (avoids core_201 duplicate)")


+ 2
- 0
src/main/resources/application-prod.yml Voir le fichier

@@ -22,6 +22,8 @@ spring:


scheduler:
m18Grn:
createEnabled: true
postCompletedDnGrn:
enabled: true
# Missing-success GRN retry window: receiptDate (default yesterday) back N days inclusive. E.g. run 27/3 with receiptDate=26/3 and N=6 => 20/3–26/3.


+ 3
- 0
src/main/resources/application.yml Voir le fichier

@@ -11,7 +11,10 @@ server:

# PostCompletedDn GRN: runs daily at 00:01, processes all POs with receipt date = yesterday.
# Set enabled: false to disable. Optional receiptDate: "yyyy-MM-dd" overrides for testing only.
# m18Grn.createEnabled: M18 GRN PUT/create — false outside production so UAT/dev never posts GRNs.
scheduler:
m18Grn:
createEnabled: false
postCompletedDnGrn:
enabled: false
# receiptDate: # leave unset for production (uses yesterday)


Chargement…
Annuler
Enregistrer