[email protected] 1 месяц назад
Родитель
Сommit
f2fbc5d7dc
4 измененных файлов: 17 добавлений и 12 удалений
  1. +1
    -7
      src/main/java/com/ffii/fpsms/modules/jobOrder/scheduler/LaserBag2AutoSendScheduler.kt
  2. +1
    -2
      src/main/java/com/ffii/fpsms/modules/jobOrder/service/LaserBag2AutoSendService.kt
  3. +14
    -2
      src/main/java/com/ffii/fpsms/modules/master/service/BomM18ShopBulkPushService.kt
  4. +1
    -1
      src/main/java/com/ffii/fpsms/modules/master/service/BomService.kt

+ 1
- 7
src/main/java/com/ffii/fpsms/modules/jobOrder/scheduler/LaserBag2AutoSendScheduler.kt Просмотреть файл

@@ -25,16 +25,10 @@ class LaserBag2AutoSendScheduler(
return return
} }
try { try {
val report = laserBag2AutoSendService.runAutoSend(
laserBag2AutoSendService.runAutoSend(
planStart = LocalDate.now(), planStart = LocalDate.now(),
limitPerRun = limitPerRun, limitPerRun = limitPerRun,
) )
logger.info(
"Laser Bag2 scheduler: processed {}/{} job orders for {}",
report.jobOrdersProcessed,
report.jobOrdersFound,
report.planStart,
)
} catch (e: Exception) { } catch (e: Exception) {
logger.error("Laser Bag2 scheduler failed", e) logger.error("Laser Bag2 scheduler failed", e)
} }


+ 1
- 2
src/main/java/com/ffii/fpsms/modules/jobOrder/service/LaserBag2AutoSendService.kt Просмотреть файл

@@ -35,9 +35,8 @@ class LaserBag2AutoSendService(
sendsPerJob: Int = defaultSendsPerJob, sendsPerJob: Int = defaultSendsPerJob,
delayBetweenSendsMs: Long = defaultDelayBetweenSendsMs, delayBetweenSendsMs: Long = defaultDelayBetweenSendsMs,
): LaserBag2AutoSendReport { ): LaserBag2AutoSendReport {
val (reachable, laserIp, laserPort) = plasticBagPrinterService.probeLaserBag2Tcp()
val (reachable, _, _) = plasticBagPrinterService.probeLaserBag2Tcp()
if (!reachable) { if (!reachable) {
logger.warn("Connection failed to the laser print: {} / {}", laserIp, laserPort)
return LaserBag2AutoSendReport( return LaserBag2AutoSendReport(
planStart = planStart, planStart = planStart,
jobOrdersFound = 0, jobOrdersFound = 0,


+ 14
- 2
src/main/java/com/ffii/fpsms/modules/master/service/BomM18ShopBulkPushService.kt Просмотреть файл

@@ -1,22 +1,29 @@
package com.ffii.fpsms.modules.master.service package com.ffii.fpsms.modules.master.service


import com.ffii.fpsms.m18.model.M18BomShopBatchSyncSummary import com.ffii.fpsms.m18.model.M18BomShopBatchSyncSummary
import com.ffii.fpsms.modules.common.SettingNames
import com.ffii.fpsms.modules.master.entity.BomRepository import com.ffii.fpsms.modules.master.entity.BomRepository
import com.ffii.fpsms.modules.settings.entity.Settings
import com.ffii.fpsms.modules.settings.service.SettingsService
import org.springframework.stereotype.Service import org.springframework.stereotype.Service


/** /**
* Calls [BomService.pushBomToM18ShopIfAllowed] for each BOM id via the injected proxied bean * Calls [BomService.pushBomToM18ShopIfAllowed] for each BOM id via the injected proxied bean
* so `@Transactional` applies per BOM (avoids same-class self-invocation). * so `@Transactional` applies per BOM (avoids same-class self-invocation).
*
* BOM shop toggle is read via [settingsService] here (not [BomService]) so callers never hit Kotlin
* `internal` accessors on [BomService] CGLIB proxies, which could leave delegated dependencies null.
*/ */
@Service @Service
open class BomM18ShopBulkPushService( open class BomM18ShopBulkPushService(
private val bomRepository: BomRepository, private val bomRepository: BomRepository,
private val bomService: BomService, private val bomService: BomService,
private val settingsService: SettingsService,
) { ) {


/** Pushes all non-deleted BOMs to M18 when {@link BomService}'s BOM shop sync setting is enabled. */
/** Pushes all non-deleted BOMs to M18 when {@link SettingNames#M18_BOM_SHOP_SYNC_ENABLED} is true. */
open fun pushAllBomsToM18ShopIfAllowed(): M18BomShopBatchSyncSummary { open fun pushAllBomsToM18ShopIfAllowed(): M18BomShopBatchSyncSummary {
if (!bomService.isM18BomShopSyncEnabled()) {
if (!isM18BomShopSyncEnabledSetting()) {
return M18BomShopBatchSyncSummary( return M18BomShopBatchSyncSummary(
totalProcessed = 0, totalProcessed = 0,
synced = 0, synced = 0,
@@ -38,4 +45,9 @@ open class BomM18ShopBulkPushService(
skippedBecauseFeatureDisabled = false, skippedBecauseFeatureDisabled = false,
) )
} }

private fun isM18BomShopSyncEnabledSetting(): Boolean =
settingsService.findByName(SettingNames.M18_BOM_SHOP_SYNC_ENABLED)
.map { Settings.VALUE_BOOLEAN_TRUE == it.value }
.orElse(false)
} }

+ 1
- 1
src/main/java/com/ffii/fpsms/modules/master/service/BomService.kt Просмотреть файл

@@ -511,7 +511,7 @@ open class BomService(
return result return result
} }


internal fun isM18BomShopSyncEnabled(): Boolean =
private fun isM18BomShopSyncEnabled(): Boolean =
settingsService.findByName(SettingNames.M18_BOM_SHOP_SYNC_ENABLED) settingsService.findByName(SettingNames.M18_BOM_SHOP_SYNC_ENABLED)
.map { Settings.VALUE_BOOLEAN_TRUE == it.value } .map { Settings.VALUE_BOOLEAN_TRUE == it.value }
.orElse(false) .orElse(false)


Загрузка…
Отмена
Сохранить