ycl-server/src/main/java/com/ycl/task/WorkOrderTask.java
@@ -15,6 +15,7 @@
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;
@@ -82,29 +83,36 @@
        }
    }
    public static List<String> errType = new ArrayList<>(List.of("OSD","ABNORMALPIC","DEVICEOFFLINE"));
    public static List<String> errType = new ArrayList<>(List.of("图像异常","OSD异常","设备离线"));
    //工单下发定时任务, 工单因为更新导致 状态变为待下发,根据错误类型将需要直接下发工单
    //离线,图形异常,osd错误
    //离线,图像异常,osd错误
    public void workOrderDistribute(){
        //查询今日待下发工单
        Date now = new Date();
        Date startDate = DateUtils.getDayStart(now);
        Date endDate = DateUtils.getDayEnd(now);
        //获得今日工单
        List<WorkOrderVO> list = workOrderService.distributeList(startDate,endDate);
        //不仅获得今日工单 而是获得所有工单
        List<WorkOrderVO> list = workOrderService.distributeList();
        log.error("获得工单:{}",list);
        List<String> workOrderNos = new ArrayList<>();
        for (WorkOrderVO workOrderVO : list){
           for (String errType : workOrderVO.getErrorTypeList()){
               if (WorkOrderTask.errType.contains(errType)){
                   //判断工单是否包含errType中的错误类型
                   workOrderNos.add(workOrderVO.getWorkOrderNo());
                   break;
               }
           }
            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);
        //下发接口
        workOrderService.selectedIdsDistribute(distributeWorkOrderQuery);
        if(!CollectionUtils.isEmpty(workOrderNos)){
            workOrderService.selectedIdsDistribute(distributeWorkOrderQuery);
        }
    }
}