| package com.zy.asrs.task.kingdee; | 
|   | 
| import com.zy.asrs.entity.Order; | 
| import com.zy.asrs.service.OrderService; | 
| import com.zy.asrs.task.core.ReturnT; | 
| import com.zy.asrs.task.kingdee.handler.PushDowmOrderSyncHandler; | 
| import lombok.extern.slf4j.Slf4j; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.beans.factory.annotation.Value; | 
| import org.springframework.scheduling.annotation.Scheduled; | 
| import org.springframework.stereotype.Component; | 
|   | 
| import java.util.Date; | 
| import java.util.List; | 
|   | 
| /* | 
| * 金蝶ERP下推接口 | 
| * */ | 
| @Slf4j | 
| @Component | 
| public class PushDowmOrderSyncScheduler { | 
|   | 
|     @Autowired | 
|     private PushDowmOrderSyncHandler pushDowmOrderSyncHandler; | 
|     @Autowired | 
|     private OrderService orderService; | 
|     @Value("${erp.switch.PushDowmOrderSwitch}") | 
|     private boolean PushDowmOrderSwitch; | 
|   | 
|     /** | 
|      * 0.下推接口 | 
|      */ | 
|     @Scheduled(cron = "0/3 * * * * ? ") | 
|     synchronized void  login(){ | 
|         if(!PushDowmOrderSwitch){ | 
|             return; | 
|         } | 
|         List<Order> orders = orderService.selectCompletemEmo0(); | 
|         for (Order order : orders) { | 
|             try{ | 
|                 ReturnT<String> result = pushDowmOrderSyncHandler.start(order); | 
|                 if (!result.isSuccess()) { | 
|                     log.error("单据[orderNo={}]提交至erp失败", order.getOrderNo()); | 
|                 } | 
|             }catch (Exception e){ | 
|                 Order order1 = orderService.selectById(order.getId()); | 
|                 order1.setUpdateTime(new Date()); | 
|                 orderService.updateById(order1); | 
|             } | 
|         } | 
|     } | 
| } |