zxl
2025-05-06 1c247583c3f23b877a2daeb456260298c8efd670
订单下发接口更新
2个文件已修改
25 ■■■■■ 已修改文件
ycl-server/src/main/java/com/ycl/task/WorkOrderTask.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/task/WorkOrderTask.java
@@ -82,9 +82,9 @@
        }
    }
    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();
@@ -92,16 +92,20 @@
        Date endDate = DateUtils.getDayEnd(now);
        //获得今日工单
        List<WorkOrderVO> list = workOrderService.distributeList(startDate,endDate);
        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);
        //下发接口
ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
@@ -162,7 +162,7 @@
        p.yw_person_name
        ORDER BY wo.work_order_no DESC
    </select>
    <select id="distributeList" resultMap="com.ycl.platform.domain.vo.WorkOrderVO">
    <select id="distributeList" resultType="com.ycl.platform.domain.vo.WorkOrderVO">
        SELECT
            wo.id,wo.status, wo.work_order_no,wo.create_time, wo.unit_id, wo.yw_people_id, wo.yw_handle_time, wo.yw_result,
            wo.yw_check_result, wo.overtime, wo.deduct,
@@ -188,6 +188,7 @@
        WHERE
            wo.deleted = 0
          AND wo.create_time BETWEEN #{startDate} AND #{endDate}
          AND wo.status = 'WAIT_DISTRIBUTE'
        GROUP BY
            wo.id, wo.status, wo.work_order_no,wo.create_time, wo.unit_id, wo.yw_people_id, tm.name, wo.yw_handle_time,
            wo.yw_result, wo.yw_check_result, wo.overtime, wo.deduct,