| | |
| | | package com.zy.asrs.task; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.mapper.Wrapper; |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.core.common.Cools; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.service.AgvLocDetlService; |
| | | import com.zy.asrs.service.ApiLogService; |
| | | import com.zy.asrs.service.OrderDetlService; |
| | | import com.zy.asrs.service.OrderService; |
| | | import com.zy.asrs.entity.AgvLocDetl; |
| | | import com.zy.asrs.entity.DocType; |
| | | import com.zy.asrs.entity.Order; |
| | | import com.zy.asrs.entity.OrderDetl; |
| | | import com.zy.asrs.mapper.OrderDetlMapper; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.asrs.task.core.ReturnT; |
| | | import com.zy.asrs.task.handler.OrderSyncHandler; |
| | | import com.zy.common.entity.Parameter; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.scheduling.annotation.Async; |
| | | import org.springframework.scheduling.annotation.Scheduled; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | |
| | | @Autowired |
| | | private OrderDetlService orderDetlService; |
| | | |
| | | @Autowired |
| | | private OrderDetlMapper orderDetlMapper; |
| | | |
| | | @Autowired |
| | | private DocTypeService docTypeService; |
| | | |
| | | private Integer page = 1; |
| | | |
| | | private Integer size = 100; |
| | | |
| | | @Scheduled(cron = "0 0 1 * * ? ") |
| | | public void clearApiLog() { |
| | | try { |
| | |
| | | } |
| | | } |
| | | |
| | | @Scheduled(cron = "0/5 * * * * ? ") |
| | | //@Scheduled(cron = "0/5 * * * * ? ") |
| | | @Scheduled(fixedDelay = 600000) |
| | | //@Async("orderThreadPool") |
| | | public void completeAndReport() { |
| | | String erpReport = Parameter.get().getErpReport(); |
| | |
| | | } |
| | | |
| | | //@Scheduled(cron = "* 0/5 * * * ? ") |
| | | @Scheduled(cron = "0/30 * * * * ? ") |
| | | //@Scheduled(cron = "0/30 * * * * ? ") |
| | | @Scheduled(fixedDelay = 30000) |
| | | //@Async("orderThreadPool") |
| | | public synchronized void reportOrder() { |
| | | List<Order> orderList = orderService.selectList(new EntityWrapper<Order>().in("settle", 2, 4)); |
| | | orderList.forEach(order -> { |
| | | orderSyncHandler.timelyStart(order); |
| | | }); |
| | | public synchronized void reportOrder() { |
| | | DocType docType = docTypeService.selectOne(new EntityWrapper<DocType>().eq("doc_name", "银座采购入库单")); |
| | | if (docType != null) { |
| | | List<String> reportDetl = orderDetlMapper.getReportDetl(docType.getDocId()); |
| | | reportDetl.forEach(orderNo -> { |
| | | orderSyncHandler.timelyStart(orderService.selectByNo(orderNo)); |
| | | }); |
| | | } |
| | | } |
| | | |
| | | |
| | | /* |
| | | 定时查询状态为2.作业中的单据,检查是否完成 |
| | | */ |
| | | @Scheduled(cron = "0 */1 * * * ? ") |
| | | //@Scheduled(cron = "0 */1 * * * ? ") |
| | | @Scheduled(fixedDelay = 60000) |
| | | public void completeOrder() { |
| | | List<Order> orderList = orderService.selectList(new EntityWrapper<Order>().eq("settle", 2)); |
| | | orderList.forEach(order -> { |
| | | orderService.checkComplete(order.getOrderNo(), null); |
| | | }); |
| | | try { |
| | | Page<Order> settle = orderService.selectPage(new Page<Order>(page, size), new EntityWrapper<Order>().eq("settle", 2)); |
| | | if (settle != null) { |
| | | List<Order> orderList = settle.getRecords(); |
| | | if (orderList == null || orderList.isEmpty()) { |
| | | log.info("轮询完毕,{},{}", page, settle.getTotal()); |
| | | page = 1; |
| | | return; |
| | | } |
| | | orderList.forEach(order -> { |
| | | orderService.checkComplete2(order.getOrderNo()); |
| | | }); |
| | | } |
| | | } finally { |
| | | page++; |
| | | } |
| | | } |
| | | |
| | | } |