|  |  |  | 
|---|
|  |  |  | package com.zy.asrs.task; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.baomidou.mybatisplus.mapper.EntityWrapper; | 
|---|
|  |  |  | import com.core.common.Cools; | 
|---|
|  |  |  | import com.zy.asrs.entity.InventoryCheckOrder; | 
|---|
|  |  |  | import com.zy.asrs.entity.InventoryCheckOrderDetl; | 
|---|
|  |  |  | import com.zy.asrs.entity.WrkMast; | 
|---|
|  |  |  | import com.zy.asrs.service.InventoryCheckOrderDetlService; | 
|---|
|  |  |  | import com.zy.asrs.service.InventoryCheckOrderService; | 
|---|
|  |  |  | import com.zy.asrs.service.WrkMastService; | 
|---|
|  |  |  | import com.zy.asrs.task.core.ReturnT; | 
|---|
|  |  |  | import com.zy.asrs.task.handler.WorkMastHandler; | 
|---|
|  |  |  | import com.zy.system.entity.Config; | 
|---|
|  |  |  | import com.zy.system.service.ConfigService; | 
|---|
|  |  |  | import org.slf4j.Logger; | 
|---|
|  |  |  | import org.slf4j.LoggerFactory; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private WorkMastHandler workMastHandler; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private InventoryCheckOrderService inventoryCheckOrderService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private InventoryCheckOrderDetlService inventoryCheckOrderDetlService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ConfigService configService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Scheduled(cron = "0/3 * * * * ? ") | 
|---|
|  |  |  | public void execute() { | 
|---|
|  |  |  | 
|---|
|  |  |  | wrkMast.setErrorTime(new Date()); | 
|---|
|  |  |  | if (!wrkMastService.updateById(wrkMast)) { | 
|---|
|  |  |  | log.error("工作档[workNo={}]标记待处理失败", wrkMast.getWrkNo()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 自动删除超过1天,无明细的盘点单 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Scheduled(cron = "0/3 * * * * ? ") | 
|---|
|  |  |  | public void execute2() { | 
|---|
|  |  |  | List<InventoryCheckOrder> inventoryCheckOrders = inventoryCheckOrderService.selectList(new EntityWrapper<InventoryCheckOrder>()); | 
|---|
|  |  |  | if (inventoryCheckOrders.isEmpty()) { | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | for (InventoryCheckOrder checkOrder : inventoryCheckOrders) { | 
|---|
|  |  |  | List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>().eq("order_no", checkOrder.getOrderNo())); | 
|---|
|  |  |  | if (checkOrderDetls.isEmpty() && System.currentTimeMillis() - checkOrder.getCreateTime().getTime() >= 1000 * 60 * 60 * 24) { | 
|---|
|  |  |  | if (!inventoryCheckOrderService.deleteById(checkOrder)) { | 
|---|
|  |  |  | log.error("盘点单[orderNo={}]删除失败", checkOrder.getOrderNo()); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | log.info("盘点单[orderNo={}]删除成功", checkOrder.getOrderNo()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 自动完结达到一定数量的盘点单 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Scheduled(cron = "0/30 * * * * ? ") | 
|---|
|  |  |  | public void execute3() { | 
|---|
|  |  |  | List<InventoryCheckOrder> inventoryCheckOrders = inventoryCheckOrderService.selectList(new EntityWrapper<InventoryCheckOrder>()); | 
|---|
|  |  |  | if (inventoryCheckOrders.isEmpty()) { | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | int num = 20; | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | Config config = configService.selectConfigByCode("AutoLocMove"); | 
|---|
|  |  |  | if (Cools.isEmpty(config) || config.getValue().equals("false")) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | num = Integer.parseInt(config.getValue()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | for (InventoryCheckOrder checkOrder : inventoryCheckOrders) { | 
|---|
|  |  |  | List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>().eq("order_no", checkOrder.getOrderNo())); | 
|---|
|  |  |  | boolean complete = true; | 
|---|
|  |  |  | for (InventoryCheckOrderDetl checkOrderDetl : checkOrderDetls) { | 
|---|
|  |  |  | if (!checkOrderDetl.getStatus().equals("2")) { | 
|---|
|  |  |  | complete = false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (complete && checkOrderDetls.size() >= num) { | 
|---|
|  |  |  | checkOrder.setStatus("2"); | 
|---|
|  |  |  | if (!inventoryCheckOrderService.updateById(checkOrder)) { | 
|---|
|  |  |  | log.error("盘点单[orderNo={}]更新状态成功", checkOrder.getOrderNo()); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | log.info("盘点单[orderNo={}]更新状态失败", checkOrder.getOrderNo()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|