P15GEN2\59518
2024-05-29 d4210c7c4b04abde20037ea8aa0f54ef8a2649aa
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
package foundation.state.approve;
 
import java.util.List;
 
import foundation.data.entity.Entity;
import foundation.json.IJSONProvider;
import foundation.json.IJSONWriter;
import foundation.state.DetailState;
 
public class Step implements IJSONProvider {
    
    private String id;
    private String parentId;
    private String name;
    private String roleCode;
    private String duty;
    private String boardId;
    private StepType type;
    private int indexNo;
    private StepBoard board;
    private DetailState detailState;
    public Step() {
 
    }
    
    public Step(String id, String name) {
        this.id = id;
        this.name = name;
    }
 
    public void load(Entity entity) {
        id = entity.getString("id");
        parentId = entity.getString("parent_id");
        name = entity.getString("name");
        roleCode = entity.getString("rule_code");
        boardId = entity.getString("board_id");
        indexNo = entity.getInteger("index_no", 0);
        
        type = StepType.parse(roleCode);
        
        detailState = new DetailState(id, name);
    }
 
    public void addOneUser(String userId, String writerName) {
        StepUser user = new StepUser(userId, writerName);
        
        if(board == null) {
            board = new StepBoard();
            board.setId(roleCode);
        }
        board.loadOneUser(userId, user);
    }
 
    public String getId() {
        return id;
    }
    
    public String getName() {
        return name;
    }
 
    public String getParentId() {
        return parentId;
    }
    
    public String getRoleCode() {
        return roleCode;
    }
 
    public String getBoardId() {
        return boardId;
    }
 
    public void setBoard(StepBoard board) {
        this.board = board;
    }
 
    public StepType getType() {
        return type;
    }
 
    public int getIndexNo() {
        return indexNo;
    }
    
    public List<StepUser> getUsers() {
        return board.getUserList();
    }
 
    public String getWriterNames() {
        return board.getWriterNames();
    }
 
    public DetailState getDetailState() {
        return detailState;
    }
 
    public void writeJSON(IJSONWriter writer) {
        writer.beginObject();
        
        writer.write("name", name); 
        writer.write("index_no", indexNo);
        writer.write("writer_name", board.getWriterNames());
        
        writer.endObject(); 
    }
 
}