dev #185

Merged
ysCha merged 2 commits from dev into dev-deploy 2025-07-17 08:50:02 +09:00
5 changed files with 24 additions and 12 deletions

View File

@ -170,31 +170,35 @@ public class JobLauncherController {
* 공통 스케줄러 실행 메소드 * 공통 스케줄러 실행 메소드
*/ */
private String executeScheduledJob(String jobName) { private String executeScheduledJob(String jobName) {
// 1. 가장 먼저 스케줄러 설정 확인
if (!"Y".equals(scheduler) && !"materialJob".equals(jobName) && !"commonCodeJob".equals(jobName)) {
log.info("Scheduler disabled, skipping job {}", jobName);
return "Scheduler disabled";
}
// 2. Job 존재 확인
Job job = jobs.get(jobName); Job job = jobs.get(jobName);
if (job == null) { if (job == null) {
log.error("Job {} not found", jobName); log.error("Job {} not found", jobName);
return "Job " + jobName + " not found"; return "Job " + jobName + " not found";
} }
if (!"Y".equals(scheduler) && !"materialJob".equals(jobName) && !"commonCodeJob".equals(jobName)) { // 3. 다른 Job 실행 중인지 확인
log.info("Scheduler disabled, skipping job {}", jobName);
return "Scheduler disabled";
}
// 실행 중인 Job 확인
if (runningJobs.contains(jobName) || isJobRunning(jobName)) {
log.warn("Job {} is already running, skipping execution", jobName);
return "Job already running";
}
// 다른 Job이 실행 중인지 확인
if (isAnyJobRunning()) { if (isAnyJobRunning()) {
log.warn("Another job is running, skipping job {}", jobName); log.warn("Another job is running, skipping job {}", jobName);
return "Another job is running"; return "Another job is running";
} }
// 4. 같은 Job이 실행 중인지 확인
if (runningJobs.contains(jobName) || isJobRunning(jobName)) {
log.warn("Job {} is already running", jobName);
return "Job already running";
}
// 5. Job 실행
try { try {
runningJobs.add(jobName); runningJobs.add(jobName);
log.info("Starting job {}", jobName);
JobParameters jobParameters = new JobParametersBuilder() JobParameters jobParameters = new JobParametersBuilder()
.addDate("time", new Date()) .addDate("time", new Date())

View File

@ -3,8 +3,10 @@ package com.interplug.qcast.biz.displayItem.dto;
import com.interplug.qcast.util.DefaultResponse; import com.interplug.qcast.util.DefaultResponse;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
/** Bom 아이템 동기화 Response */ /** Bom 아이템 동기화 Response */
@EqualsAndHashCode(callSuper = true)
@Data @Data
public class BomSyncResponse extends DefaultResponse { public class BomSyncResponse extends DefaultResponse {

View File

@ -3,8 +3,10 @@ package com.interplug.qcast.biz.displayItem.dto;
import com.interplug.qcast.util.DefaultResponse; import com.interplug.qcast.util.DefaultResponse;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
/** 아이템 동기화 Response */ /** 아이템 동기화 Response */
@EqualsAndHashCode(callSuper = false)
@Data @Data
public class ItemSyncResponse extends DefaultResponse { public class ItemSyncResponse extends DefaultResponse {
@Schema(description = "Material Number") @Schema(description = "Material Number")

View File

@ -3,8 +3,10 @@ package com.interplug.qcast.biz.displayItem.dto;
import com.interplug.qcast.util.DefaultResponse; import com.interplug.qcast.util.DefaultResponse;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
/** 아이템 동기화 Response */ /** 아이템 동기화 Response */
@EqualsAndHashCode(callSuper = false)
@Data @Data
public class PriceItemSyncResponse extends DefaultResponse { public class PriceItemSyncResponse extends DefaultResponse {
@Schema(description = "Price Pattern(정가 : 510,.A가격 : 513, C가격 : 514)") @Schema(description = "Price Pattern(정가 : 510,.A가격 : 513, C가격 : 514)")

View File

@ -4,8 +4,10 @@ import com.interplug.qcast.util.DefaultResponse;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import java.util.List; import java.util.List;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
/** 가격 동기화 Response */ /** 가격 동기화 Response */
@EqualsAndHashCode(callSuper = false)
@Data @Data
public class PriceSyncResponse extends DefaultResponse { public class PriceSyncResponse extends DefaultResponse {