|  |  | 
 |  |  | package com.zy.asrs.task; | 
 |  |  |  | 
 |  |  | import com.baomidou.mybatisplus.mapper.EntityWrapper; | 
 |  |  | import com.core.exception.CoolException; | 
 |  |  | import com.zy.asrs.entity.Order; | 
 |  |  | import com.zy.asrs.entity.OrderDetl; | 
 |  |  | import com.zy.asrs.entity.WrkDetl; | 
 |  |  | import com.zy.asrs.entity.WrkMast; | 
 |  |  | import com.zy.asrs.mapper.OrderDetlMapper; | 
 |  |  | import com.zy.asrs.service.OrderService; | 
 |  |  | import com.zy.asrs.service.WrkDetlService; | 
 |  |  | import com.zy.asrs.service.WrkMastService; | 
 |  |  | import com.zy.asrs.task.core.ReturnT; | 
 |  |  | import com.zy.asrs.task.handler.WorkLogHandler; | 
 |  |  | import org.slf4j.Logger; | 
 |  |  | import org.slf4j.LoggerFactory; | 
 |  |  | import lombok.extern.slf4j.Slf4j; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.scheduling.annotation.Scheduled; | 
 |  |  | import org.springframework.stereotype.Component; | 
 |  |  |  | 
 |  |  | import java.util.List; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * Created by vincent on 2020/7/7 | 
 |  |  |  */ | 
 |  |  | //@Component | 
 |  |  | @Slf4j | 
 |  |  | @Component | 
 |  |  | public class WorkLogScheduler { | 
 |  |  |  | 
 |  |  |     private static final Logger log = LoggerFactory.getLogger(WorkLogScheduler.class); | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private WorkLogHandler workLogHandler; | 
 |  |  |     @Autowired | 
 |  |  |     private WrkMastService wrkMastService; | 
 |  |  |     @Autowired | 
 |  |  |     private OrderService orderService; | 
 |  |  |     @Autowired | 
 |  |  |     private WrkDetlService wrkDetlService; | 
 |  |  |     @Autowired | 
 |  |  |     private OrderDetlMapper orderDetlMapper; | 
 |  |  |  | 
 |  |  |     @Scheduled(cron = "0/3 * * * * ? ") | 
 |  |  |     private void execute(){ | 
 |  |  |         WrkMast wrkMast = wrkMastService.selectToBeHistoryData(); | 
 |  |  |         if (null == wrkMast) { | 
 |  |  |     private void execute() { | 
 |  |  |         List<WrkMast> wrkMasts = wrkMastService.selectToBeHistoryData(); | 
 |  |  |         if (wrkMasts.isEmpty()) { | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |         ReturnT<String> result = workLogHandler.start(wrkMast); | 
 |  |  |         if (!result.isSuccess()) { | 
 |  |  |             log.error("工作档[workNo={}]历史档处理失败", wrkMast.getWrkNo()); | 
 |  |  |         for (WrkMast wrkMast : wrkMasts) { | 
 |  |  |             ReturnT<String> result = workLogHandler.start(wrkMast); | 
 |  |  |             if (!result.isSuccess()) { | 
 |  |  |                 log.error("工作档[workNo={}]历史档处理失败", wrkMast.getWrkNo()); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Scheduled(cron = "0/3 * * * * ? ") | 
 |  |  |     private void execute2() { | 
 |  |  |         List<Order> orders = orderService.selectWork(); | 
 |  |  |         for (Order order : orders) { | 
 |  |  |             List<WrkDetl> wrkDetls = wrkDetlService.selectByOrderNo(order.getOrderNo()); | 
 |  |  |             if (wrkDetls != null) { | 
 |  |  |                 return; | 
 |  |  |             } | 
 |  |  |             List<OrderDetl> orderDetls = orderDetlMapper.selectList(new EntityWrapper<OrderDetl>().eq("order_id", order.getId())); | 
 |  |  |             boolean complete = true; | 
 |  |  |             for (OrderDetl orderDetl : orderDetls) { | 
 |  |  |                 if (orderDetl.getAnfme() > orderDetl.getQty()) { | 
 |  |  |                     complete = false; | 
 |  |  |                     break; | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             if (complete) { | 
 |  |  |                 if (!orderService.updateSettle(order.getId(), 4L, null)) { | 
 |  |  |                     throw new CoolException("修改订单【orderNo = " + order.getOrderNo() + "】状态为已完成失败"); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  | } |