xiangpei
2024-08-06 a249695911e6e6b3e318dd4dd14812994e2eb3a9
工单绑定设备编号
8个文件已修改
54 ■■■■■ 已修改文件
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrder.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderForm.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderVO.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrder.java
@@ -34,9 +34,9 @@
    @TableField("error_type")
    private String errorType;
    @ApiModelProperty("点位")
    @TableField("point_id")
    private Integer pointId;
    @ApiModelProperty("设备编号")
    @TableField("serial_number")
    private String serialNumber;
    @ApiModelProperty("工单来源")
    @TableField("source")
ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderForm.java
@@ -39,8 +39,8 @@
    private String source;
    @NotNull(message = "点位不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("点位")
    private Integer pointId;
    @ApiModelProperty("设备编号")
    private Integer serialNumber;
    @NotNull(message = "故障类型不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("故障类型")
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderVO.java
@@ -34,13 +34,13 @@
    private Integer unitId;
    private String unitName;
    /** 工单来源 */
    /** 工单来源/设备名称 */
    private String source;
    /**
     * 点位
     * 设备编号
     */
    private Integer pointId;
    private String serialNumber;
    private String pointTag;
ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java
@@ -21,6 +21,14 @@
public interface WorkOrderService extends IService<WorkOrder> {
    /**
     * 系统内部的添加
     *
     * @param workOrder
     * @return
     */
    Result innerAdd(WorkOrder workOrder);
    /**
     * 添加
     * @param form
     * @return
ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java
@@ -90,11 +90,11 @@
    /**
     * 批量同步状态
     *
     * @param pointIds 点位id
     * @param serialNumberList 设备编号
     * @param recovery  状态
     * @return 数量
     */
    boolean updateRecovery(List<Integer> pointIds, int recovery);
    boolean updateRecovery(List<String> serialNumberList, int recovery);
    /**
     * 首页到期预警
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -73,6 +73,12 @@
    @Autowired
    private RedisCache redisCache;
    @Override
    public Result innerAdd(WorkOrder workOrder) {
        return null;
    }
    /**
     * 添加
     * @param form
@@ -132,7 +138,7 @@
        notifyService.save(notify);
        // 同步点位状态
        if (form.getAuditingResult() == WorkOrderStatusEnum.AUDITING_SUCCESS) {
            ywPointService.updateRecovery(Collections.singletonList(workOrder.getPointId()), 0);
            ywPointService.updateRecovery(Arrays.asList(workOrder.getSerialNumber()), 0);
        }
        return Result.ok("操作成功");
    }
@@ -299,7 +305,7 @@
        // 查询符合条件的工单
        List<WorkOrder> list = new LambdaQueryChainWrapper<>(baseMapper)
                .select(WorkOrder::getId, WorkOrder::getPointId)
                .select(WorkOrder::getSerialNumber, WorkOrder::getSerialNumber)
                .eq(WorkOrder::getStatus, WorkOrderStatusEnum.WAIT_DISTRIBUTE)
                .eq(Objects.nonNull(data.getUnitId()), WorkOrder::getUnitId, data.getUnitId())
                .eq(WorkOrder::getErrorType, data.getErrorType())
@@ -308,7 +314,7 @@
                .last("limit " + data.getFastNumLimit())
                .list();
        List<Integer> ids = list.stream().map(WorkOrder::getId).toList();
        List<Integer> pointIds = list.stream().map(WorkOrder::getPointId).toList();
        List<String> serialNumberList = list.stream().map(WorkOrder::getSerialNumber).toList();
        if (ids.isEmpty()) { return Result.error("没有符合条件的工单"); }
        if (!getDistributeLock()) { return Result.error("此刻有人下发中,为避免冲突,请稍后重试"); }
@@ -319,7 +325,7 @@
                    .update();
            addDistributeRecord(ids, WorkOrderDistributeWayEnum.FAST_DISTRIBUTE);
            // 同步点位状态
            ywPointService.updateRecovery(pointIds, 1);
            ywPointService.updateRecovery(serialNumberList, 1);
            return Result.ok("成功下发" + ids.size() + "条工单");
        } catch (Exception e) {
            return Result.error("操作失败");
@@ -352,8 +358,8 @@
                    .update();
            addDistributeRecord(query.getIds(), distributeWayEnum);
            // 同步点位状态
            List<Integer> pointIds = new LambdaQueryChainWrapper<>(baseMapper).select(WorkOrder::getPointId).in(WorkOrder::getId, query.getIds()).list().stream().map(WorkOrder::getPointId).toList();
            ywPointService.updateRecovery(pointIds, 1);
            List<String> serialNumberList = new LambdaQueryChainWrapper<>(baseMapper).select(WorkOrder::getSerialNumber).in(WorkOrder::getId, query.getIds()).list().stream().map(WorkOrder::getSerialNumber).toList();
            ywPointService.updateRecovery(serialNumberList, 1);
            return Result.ok("成功下发" + query.getIds().size() + "条工单");
        } catch (Exception e) {
            return Result.error("操作失败");
ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
@@ -209,9 +209,9 @@
    }
    @Override
    public boolean updateRecovery(List<Integer> pointIds, int recovery) {
    public boolean updateRecovery(List<String> serialNumberList, int recovery) {
        return new LambdaUpdateChainWrapper<>(baseMapper)
                .in(YwPoint::getId, pointIds)
                .in(YwPoint::getSerialNumber, serialNumberList)
                .set(YwPoint::getRecovery, recovery)
                .set(recovery == 0, YwPoint::getRecoveryTime, DateUtils.getNowDate())
                .update();
ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
@@ -54,7 +54,7 @@
            t_work_order wo
                LEFT JOIN t_yw_unit u ON wo.unit_id = u.id and u.deleted = 0
                LEFT JOIN t_yw_people p ON wo.yw_people_id = p.id and p.deleted = 0
                INNER JOIN t_yw_point yp ON yp.id = wo.point_id AND yp.deleted = 0
                INNER JOIN t_yw_point yp ON yp.serial_number = wo.serial_number AND yp.deleted = 0
                LEFT JOIN t_work_order_distribute_record odr ON odr.work_order_id = wo.id AND odr.deleted = 0
                LEFT JOIN sys_user su ON su.user_id = odr.user_id
        WHERE
@@ -75,7 +75,7 @@
             yp.point_tag
        FROM
             t_work_order wo
                INNER JOIN t_yw_point yp ON yp.id = wo.point_id AND yp.deleted = 0
                INNER JOIN t_yw_point yp ON yp.serial_number = wo.serial_number AND yp.deleted = 0
                INNER JOIN t_work_order_distribute_record wod ON wod.work_order_id = wo.id
        WHERE
             wo.status = 'DISTRIBUTED' AND wo.deleted = 0