| | |
| | | package com.zy.asrs.task; |
| | | |
| | | import cn.hutool.core.date.StopWatch; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.core.common.Cools; |
| | | 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.entity.*; |
| | | import com.zy.asrs.mapper.OrderDetlMapper; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.asrs.task.core.ReturnT; |
| | |
| | | private OrderSyncHandler orderSyncHandler; |
| | | @Autowired |
| | | private OrderService orderService; |
| | | |
| | | |
| | | @Autowired |
| | | private OrderLogService orderLogService; |
| | | |
| | | @Autowired |
| | | private OrderDetlLogService orderDetlLogService; |
| | | |
| | | |
| | | @Autowired |
| | | private ApiLogService apiLogService; |
| | | |
| | |
| | | @Autowired |
| | | private DocTypeService docTypeService; |
| | | |
| | | @Autowired |
| | | private AgvWrkDetlService agvWrkDetlService; |
| | | |
| | | private Integer page = 1; |
| | | |
| | | private Integer size = 100; |
| | | private Integer size = 200; |
| | | |
| | | @Scheduled(cron = "0 0 1 * * ? ") |
| | | public void clearApiLog() { |
| | |
| | | @Scheduled(fixedDelay = 600000) |
| | | //@Async("orderThreadPool") |
| | | public void completeAndReport() { |
| | | StopWatch stopWatch = new StopWatch(); |
| | | stopWatch.start(); |
| | | String erpReport = Parameter.get().getErpReport(); |
| | | if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) { |
| | | List<Order> orders = orderService.selectComplete(); |
| | |
| | | Boolean flag = false; |
| | | for (OrderDetl orderDetl : orderDetlList) { |
| | | List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("matnr", orderDetl.getMatnr()).eq("three_code", orderDetl.getThreeCode())); |
| | | if (!Cools.isEmpty(agvLocDetls)) { |
| | | if (!Cools.isEmpty(agvLocDetls) ) { |
| | | //只要有一项订单明细存在,则标识为true,跳过该订单 |
| | | flag = true; |
| | | } |
| | |
| | | } |
| | | } |
| | | } |
| | | stopWatch.stop(); |
| | | log.info("定时任务完成,耗时:{}ms", stopWatch.getTotalTimeMillis()); |
| | | } |
| | | |
| | | //@Scheduled(cron = "* 0/5 * * * ? ") |
| | |
| | | 定时查询状态为2.作业中的单据,检查是否完成 |
| | | */ |
| | | //@Scheduled(cron = "0 */1 * * * ? ") |
| | | @Scheduled(fixedDelay = 60000) |
| | | @Scheduled(fixedDelay = 120000) |
| | | public void completeOrder() { |
| | | try { |
| | | Page<Order> settle = orderService.selectPage(new Page<Order>(page, size), new EntityWrapper<Order>().eq("settle", 2)); |
| | |
| | | } finally { |
| | | page++; |
| | | } |
| | | log.info("分页查询完毕,{}", page); |
| | | } |
| | | |
| | | |
| | | } |