| | |
| | | package com.ycl.task; |
| | | |
| | | import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; |
| | | import com.ycl.platform.domain.entity.WorkOrder; |
| | | import com.ycl.platform.domain.query.DistributeWorkOrderQuery; |
| | | import com.ycl.platform.domain.vo.WorkOrderVO; |
| | | import com.ycl.platform.domain.vo.YwPointJobVO; |
| | | import com.ycl.platform.mapper.WorkOrderMapper; |
| | | import com.ycl.platform.service.WorkOrderService; |
| | | import com.ycl.system.domain.SysConfig; |
| | | import com.ycl.system.mapper.SysConfigMapper; |
| | | import com.ycl.utils.DateUtils; |
| | |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.util.StringUtils; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | |
| | | @Component("workOrderTask") |
| | | public class WorkOrderTask { |
| | | |
| | | private final WorkOrderService workOrderService; |
| | | private final WorkOrderMapper workOrderMapper; |
| | | private final SysConfigMapper configMapper; |
| | | |
| | |
| | | workOrderMapper.updateById(wo); |
| | | } |
| | | } |
| | | |
| | | public static List<String> errType = new ArrayList<>(List.of("图像异常","OSD异常","设备离线")); |
| | | //工单下发定时任务, 工单因为更新导致 状态变为待下发,根据错误类型将需要直接下发工单 |
| | | //离线,图像异常,osd错误 |
| | | public void workOrderDistribute(){ |
| | | //查询今日待下发工单 |
| | | Date now = new Date(); |
| | | Date startDate = DateUtils.getDayStart(now); |
| | | Date endDate = DateUtils.getDayEnd(now); |
| | | //获得今日工单 |
| | | //不仅获得今日工单 而是获得所有工单 |
| | | List<WorkOrderVO> list = workOrderService.distributeList(); |
| | | log.error("获得工单:{}",list); |
| | | List<String> workOrderNos = new ArrayList<>(); |
| | | for (WorkOrderVO workOrderVO : list){ |
| | | List<String> errTypeArray = Arrays.stream(workOrderVO.getErrorType().split("、")).toList(); |
| | | for (String errType : errTypeArray) { |
| | | if (WorkOrderTask.errType.contains(errType)) { |
| | | //判断工单是否包含errType中的错误类型 |
| | | workOrderNos.add(workOrderVO.getWorkOrderNo()); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | } |
| | | log.error("工单打印{}",workOrderNos); |
| | | DistributeWorkOrderQuery distributeWorkOrderQuery = new DistributeWorkOrderQuery(); |
| | | distributeWorkOrderQuery.setWorkOrderNOList(workOrderNos); |
| | | //下发接口 |
| | | if(!CollectionUtils.isEmpty(workOrderNos)){ |
| | | workOrderService.selectedIdsDistribute(distributeWorkOrderQuery); |
| | | } |
| | | } |
| | | } |