添加从旧mes同步生产订单定时任务

master
liuqingkun 3 days ago
parent 88d3e587bf
commit 92ae768abc
  1. 28
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/feign/IApsClient.java
  2. 61
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/feign/ApsClient.java
  3. 46
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/task/OrderApsJob.java
  4. 3
      blade-service/blade-desk/src/main/resources/application-dev.yml

@ -0,0 +1,28 @@
package org.springblade.desk.order.feign;
import org.springblade.core.launch.constant.AppConstant;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
/**
* 排产相关定时任务接口声明
*
* @author lqk
*/
@FeignClient(
value = AppConstant.APPLICATION_DESK_NAME
)
public interface IApsClient {
String API_PREFIX = "/feign/aps/";
String SYNC_ORDER_FROM_OLD_MES = API_PREFIX + "/syncOrderFromOldMes";
/**
* 从旧mes平台同步生产订单
*
* @return
*/
@GetMapping(SYNC_ORDER_FROM_OLD_MES)
Boolean syncOrderFromOldMes();
}

@ -0,0 +1,61 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.desk.order.feign;
import io.swagger.v3.oas.annotations.Hidden;
import lombok.RequiredArgsConstructor;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.desk.order.service.IYieldOrderService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* Feign 排产相关定时任务接口
*
* @author Chill
*/
@NonDS
@Hidden()
@RestController
@RequiredArgsConstructor
public class ApsClient implements IApsClient {
private final IYieldOrderService yieldOrderService;
@Override
@GetMapping(SYNC_ORDER_FROM_OLD_MES)
public Boolean syncOrderFromOldMes() {
// 同步生产订单
List<String> cardNoList = yieldOrderService.syncYieldOrderFromOldMes();
// 推送同步结果,避免重复同步
yieldOrderService.syncYieldOrderResultToOldMes(cardNoList);
return Boolean.TRUE;
}
}

@ -0,0 +1,46 @@
package org.springblade.desk.order.task;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.desk.order.service.IYieldOrderService;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 排产定时任务
*
* @author Chill
*/
@Slf4j
@Component
@RequiredArgsConstructor
public class OrderApsJob {
private final IYieldOrderService yieldOrderService;
@Value("${business.oldMes.jobEnable}")
private String jobEnable;
/**
* 同步生产订单定时任务
* TODO 以后需要交由PowerJob服务统一管理
*/
@Scheduled(cron = "0 0/3 * * * ?")
public void syncOrderFromOldMes() {
log.info("开始同步生产订单...");
if ("false".equals(jobEnable)) {
log.info("同步生产订单已关闭...");
return;
}
// 同步生产订单
List<String> cardNoList = yieldOrderService.syncYieldOrderFromOldMes();
// 推送同步结果,避免重复同步
yieldOrderService.syncYieldOrderResultToOldMes(cardNoList);
log.info("同步生产订单已完成...");
}
}

@ -11,6 +11,7 @@ spring:
business:
oldMes:
url: 127.0.0.1:32111
jobEnable: false
url: 192.168.169.172:9000
syncOrderList: /zhgd-rb/aiWebapi/syncApsOrderData
pushSyncResult: /zhgd-rb/aiWebapi/syncApsOrderDataResult

Loading…
Cancel
Save