# 十一、任务
# (一)任务集合[TaskSet]
任务集合是相同类型任务要素的集合。
任务集合的常用属性如下:
属性名 | 值类型 | 属性描述 |
---|---|---|
name | String | 任务集合名称 |
remark | String | 备注 |
常用方法如下(get/set方法略): |createTask|void|创建任务| |updateTask|void|更新任务| |deleteTask|void|删除任务|
# 1、获取任务集合
初始化成功后,可直接从Cellsys的organization对象中获取到组织下所有的任务集合。
List<TaskSet> taskSets = Cellsys.organization.getTaskSets();//可能为null
if(taskSets != null && taskSets.size() > 0){
TaskSet taskSet = taskSets.get(0);
String name = taskSet.getName();
String remark = taskSet.getRemark();
}
1
2
3
4
5
6
2
3
4
5
6
# 2、新增任务集合
任务集合通过组织[Organization]对象创建。具体操作见代码示例
Cellsys.organization.createTaskSet("集合名称", "备注", new CsCallback<TaskSet>() {
@Override
public void onSuccess(TaskSet object) {
/*成功*/
}
@Override
public void onFailure(ErrorMessage errorMessage) {
/*失败*/
int code = errorMessage.getCode();//错误码
String errMsg = errorMessage.getMessage();//错误信息
}
});
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# 3、修改任务集合
任务集合通过组织[Organization]对象来修改。具体操作见代码示例
taskSet.setName("修改名称");
taskSet.setRemark("修改备注");
Cellsys.organization.updateTaskSet(taskSet, new CsCallback() {
@Override
public void onSuccess(Object object) {
/*成功*/
}
@Override
public void onFailure(ErrorMessage errorMessage) {
/*失败*/
int code = errorMessage.getCode();//错误码
String errMsg = errorMessage.getMessage();//错误信息
}
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 4、删除任务集合
任务集合通过组织[Organization]对象来删除。具体操作见代码示例
Cellsys.organization.deleteTaskSet(taskSet, new CsCallback() {
@Override
public void onSuccess(Object object) {
/*成功*/
}
@Override
public void onFailure(ErrorMessage errorMessage) {
/*失败*/
int code = errorMessage.getCode();//错误码
String errMsg = errorMessage.getMessage();//错误信息
}
});
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# (二)任务要素[TaskFeature]
任务要素的常用属性如下:
属性名 | 值类型 | 属性描述 |
---|---|---|
name | String | 任务要素名称 |
remark | String | 备注 |
startTime | DateTime | 任务开始时间 |
endTime | DateTime | 任务截止时间 |
finishTime | DateTime | 任务完成时间 |
excuteState | String | 任务执行状态 |
常用方法如下:(get/set方法略)
方法名 | 返回类型 | 方法描述 |
---|---|---|
queryExecutors | void | 查询执行人信息 |
queryTaskGraphs | void | 查询任务图形 |
# 1、获取任务要素
任务集合[TaskSet]提供了query方法来查询自身集合中的任务要素。具体操作见代码示例
taskSet.queryTask(new CsCallback<QueryResult<TaskFeature>>() {
@Override
public void onSuccess(QueryResult<TaskFeature> object) {
/*分页信息-查询方法特有*/
PageInfo pageInfo = object.pageInfo;//查询接口特有的分页信息
int totalCount = pageInfo.totalCount;//数据总数
int totalPage = pageInfo.totalPage;//总页数
int pageNo = pageInfo.pageNo;//当前页码(从1开始)
int pageSize = pageInfo.pageSize;//每页查询数量(注意!不一定和当前查询的数据总量匹配)
/*获取查询结果*/
List<TaskFeature> taskFeatures = object.data;
if (taskFeatures != null && taskFeatures.size() > 0) {//查询结果可能为null
TaskFeature taskFeature = taskFeatures.get(0);
}
}
@Override
public void onFailure(ErrorMessage errorMessage) {
/*失败*/
int code = errorMessage.getCode();//错误码
String errMsg = errorMessage.getMessage();//错误信息
}
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 2、新增任务
任务要素[TaskFeature]通过任务集合[TaskSet]对象创建。具体操作见代码示例
taskSet.createTask({
"name": "任务名称",
"remark": "备注信息"
})
.then((taskFeature) => {
let newTaskFeature = taskFeature; //创建成功后返回新创建的任务要素对象
let name = newTaskFeature.name; //获取新任务名称
let remark = newTaskFeature.remark; //获取新任务的备注信息
})
.catch(error => {
console.log(error.code)
console.log(error.message)
})
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# 3、修改任务
任务要素[TaskFeature]通过任务集合[TaskSet]对象修改。具体操作见代码示例
long startTimeStamp = 1656322973126l;
long endTimeStamp = 1656409364954l;
long finishTimeStamp = 1656409361120l;
DateTime startTime = new DateTime(startTimeStamp);
DateTime endTime = new DateTime(endTimeStamp);
DateTime finishTime = new DateTime(finishTimeStamp);
taskFeature.setStartTime(startTime);//修改开始时间
taskFeature.setEndTime(endTime);//修改结束时间
taskFeature.setFinishTime(finishTime);//设置结束时间
taskFeature.setExcuteState(TaskExecuteState.Finish);//将任务状态改为完成
taskSet.updateTask(taskFeature, new CsCallback() {
@Override
public void onSuccess(Object object) {
/*成功*/
}
@Override
public void onFailure(ErrorMessage errorMessage) {
/*失败*/
int errorCode = errorMessage.getCode();//错误码
String errorMsg = errorMessage.getMessage();//错误信息
}
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 4、删除任务
任务要素[TaskFeature]通过任务集合[TaskSet]对象删除。具体操作见代码示例
taskSet.deleteTask(taskFeature, new CsCallback() {
@Override
public void onSuccess(Object object) {
/*成功*/
}
@Override
public void onFailure(ErrorMessage errorMessage) {
/*失败*/
int errorCode = errorMessage.getCode();//错误码
String errorMsg = errorMessage.getMessage();//错误信息
}
});
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# 5、任务基础信息
/*基础信息*/
String name = taskFeature.getName();//名称
String remark = taskFeature.getRemark();//备注/描述
/*任务执行人*/
taskFeature.queryExecutors(new CsCallback<QueryResult<MemberFeature>>() {
@Override
public void onSuccess(QueryResult<MemberFeature> object) {
List<MemberFeature> memberFeatures = object.data;
}
@Override
public void onFailure(ErrorMessage errorMessage) {
int errorCode = errorMessage.getCode();//错误码
String errorMsg = errorMessage.getMessage();//错误信息
}
});
/*任务期限*/
DateTime startTime = taskFeature.getStartTime();//开始时间
DateTime endTime = taskFeature.getEndTime();//结束时间
DateTime finishTime = taskFeature.getFinishTime();//实际完成时间
/*任务状态*/
TaskExecuteState taskExecuteState = taskFeature.getExcuteState();//枚举类:等待、执行中、完成、取消
/*涉及的任务图形(点线面)*/
taskFeature.queryTaskGraph(new CsCallback<QueryResult<TaskGraph>>() {
@Override
public void onSuccess(QueryResult<TaskGraph> object) {
List<TaskGraph> taskGraphs = object.data;
}
@Override
public void onFailure(ErrorMessage errorMessage) {
int errorCode = errorMessage.getCode();//错误码
String errorMsg = errorMessage.getMessage();//错误信息
}
});
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
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
# (三)任务图形
任务图形与地图要素类似,都是由点线面三种元素构成。门户系统中,任务图形可直接选择地图要素导入,或自定义生成。
String name = taskGraph.getName();//名称
String remark = taskGraph.getRemark();//备注/描述
Icon icon = taskGraph.getIcon();//图标
MapSymbol mapSymbol = taskGraph.symbol;//地图样式
if (mapSymbol instanceof PointSymbol) {
PointSymbol pointSymbol = (PointSymbol) mapSymbol;
} else if (mapSymbol instanceof PolylineSymbol) {
PolylineSymbol polylineSymbol = (PolylineSymbol) mapSymbol;
} else if (mapSymbol instanceof PolygonSymbol) {
PolygonSymbol polygonSymbol = (PolygonSymbol) mapSymbol;
}
Geometry geometry = taskGraph.geometry;//图形坐标
if (geometry instanceof MapPoint) {
MapPoint mapPoint = (MapPoint) geometry;
} else if (geometry instanceof Polyline) {
Polyline polyline = (Polyline) geometry;
} else if (geometry instanceof Polygon) {
Polygon polygon = (Polygon) geometry;
}
FenceInfo fenceInfo = taskGraph.fenceInfo;//围栏信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20