#
vincentlu
2025-12-15 3a50a0eb7ef239c80c4b7870e2ae589866ad66b6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package com.zy.acs.manager.manager.controller.result;
 
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zy.acs.framework.common.SpringUtils;
import com.zy.acs.manager.common.domain.AreaShapeDto;
import com.zy.acs.manager.common.domain.MapPointDto;
import com.zy.acs.manager.core.service.AreaGovernService;
import com.zy.acs.manager.manager.entity.Area;
import com.zy.acs.manager.manager.entity.AreaAgv;
import com.zy.acs.manager.manager.service.AreaAgvService;
import lombok.Data;
 
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
 
@Data
public class MapAreaResult {
 
    private Long id;
 
    private String name;
 
    private MapPointDto start;
 
    private MapPointDto end;
 
    private String color;
 
    private String code;
 
    private String type;
 
    private Integer maxCount;
 
    private String speedLimit;
 
    private Integer priority;
 
    private String memo;
 
    private List<String> codeList = new ArrayList<>();
 
    private List<Long> agvList = new ArrayList<>();
 
    public MapAreaResult sync(Area area) {
        this.setId(area.getId());
        this.setName(area.getName());
 
        AreaShapeDto shapeDto = JSON.parseObject(area.getShapeData(), AreaShapeDto.class);
        this.setStart(shapeDto.getStart());
        this.setEnd(shapeDto.getEnd());
 
        this.setColor(color);
        this.setCode(area.getCode());
        this.setType(area.getType());
        this.setMaxCount(area.getMaxCount());
        this.setSpeedLimit(area.getSpeedLimit());
        this.setPriority(area.getPriority());
        this.setMemo(area.getMemo());
 
        this.setCodeList(AreaGovernService.AREA_CODE.get(area.getId()));
 
        AreaAgvService areaAgvService = SpringUtils.getBean(AreaAgvService.class);
        List<AreaAgv> areaAgvList = areaAgvService.list(new LambdaQueryWrapper<AreaAgv>().eq(AreaAgv::getAreaId, area.getId()));
        this.setAgvList(areaAgvList.stream().map(AreaAgv::getAgvId).distinct().collect(Collectors.toList()));
 
        return this;
    }
 
}