1
2
3
4
5
6
package com . huaheng . api . acs . controller ;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper ;
import com.baomidou.mybatisplus.core.metadata.IPage ;
import com.baomidou.mybatisplus.core.toolkit.Wrappers ;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page ;
周鸿
authored
about a year ago
7
8
import com.huaheng.api.acs.domain.AcsStatus ;
import com.huaheng.api.acs.domain.AcsWeightHeight ;
9
import com.huaheng.api.acs.domain.AgvCreateBody ;
周鸿
authored
about a year ago
10
import com.huaheng.api.acs.domain.AgvTaskCS ;
周鸿
authored
about a year ago
11
import com.huaheng.api.acs.service.AcsCSService ;
周鸿
authored
about a year ago
12
import com.huaheng.api.acs.service.AgvTaskCSService ;
13
14
15
import com.huaheng.common.constant.QuantityConstant ;
import com.huaheng.common.support.Convert ;
import com.huaheng.common.utils.StringUtils ;
周鸿
authored
about a year ago
16
import com.huaheng.common.utils.security.ShiroUtils ;
17
18
19
20
21
22
23
24
25
26
27
28
import com.huaheng.framework.aspectj.lang.annotation.ApiLogger ;
import com.huaheng.framework.aspectj.lang.annotation.Log ;
import com.huaheng.framework.aspectj.lang.constant.BusinessType ;
import com.huaheng.framework.web.controller.BaseController ;
import com.huaheng.framework.web.domain.AjaxResult ;
import com.huaheng.framework.web.page.PageDomain ;
import com.huaheng.framework.web.page.TableDataInfo ;
import com.huaheng.framework.web.page.TableSupport ;
import com.huaheng.pc.config.container.domain.Container ;
import com.huaheng.pc.config.container.service.ContainerService ;
import com.huaheng.pc.config.containerType.domain.ContainerType ;
import com.huaheng.pc.config.containerType.service.ContainerTypeService ;
周鸿
authored
about a year ago
29
30
import com.huaheng.pc.config.location.domain.Location ;
import com.huaheng.pc.config.location.service.LocationService ;
周鸿
authored
about a year ago
31
32
import com.huaheng.pc.config.station.domain.Station ;
import com.huaheng.pc.config.station.service.StationService ;
周鸿
authored
about a year ago
33
34
import com.huaheng.pc.task.taskHeader.domain.TaskHeader ;
import com.huaheng.pc.task.taskHeader.service.TaskHeaderService ;
35
36
37
38
import io.swagger.annotations.ApiOperation ;
import io.swagger.annotations.ApiParam ;
import org.apache.shiro.authz.annotation.RequiresPermissions ;
import org.springframework.stereotype.Controller ;
39
import org.springframework.transaction.annotation.Transactional ;
40
41
42
43
44
45
import org.springframework.ui.ModelMap ;
import org.springframework.web.bind.annotation.* ;
import javax.annotation.Resource ;
import javax.servlet.http.HttpServletRequest ;
import java.util.Date ;
xumiao
authored
about a year ago
46
import java.util.HashMap ;
47
48
49
50
51
52
53
54
import java.util.List ;
import java.util.Map ;
/**
* @author dell
*/
@Controller ( "AgvTaskController1" )
@RequestMapping ( "/agv" )
周鸿
authored
about a year ago
55
public class AgvTaskCSController extends BaseController {
56
57
58
59
private String prefix = "task/taskHeader" ;
@Resource
周鸿
authored
about a year ago
60
private AgvTaskCSService agvTaskService ;
61
62
63
64
@Resource
private ContainerService containerService ;
@Resource
private ContainerTypeService containerTypeService ;
周鸿
authored
about a year ago
65
66
@Resource
private TaskHeaderService taskHeaderService ;
周鸿
authored
about a year ago
67
68
69
70
@Resource
private AcsCSService acsCSService ;
@Resource
private LocationService locationService ;
周鸿
authored
about a year ago
71
72
@Resource
private StationService stationService ;
周鸿
authored
about a year ago
73
周鸿
authored
about a year ago
74
75
76
77
78
79
80
81
82
83
@RequiresPermissions ( "task:taskHeader:agvCsView" )
@GetMapping ()
public String taskHeader ( HttpServletRequest request , ModelMap mmap ) {
String InternalTaskType = request . getParameter ( "InternalTaskType" );
mmap . put ( "InternalTaskType" , InternalTaskType );
return prefix + "/agvHeader" ;
}
周鸿
authored
about a year ago
84
85
86
87
88
89
90
91
92
93
94
95
96
97
@GetMapping ( "/lookAgvTask/{taskNo}" )
public String taskDetail ( @PathVariable ( "taskNo" ) String taskNo , ModelMap mmap ) {
mmap . put ( "taskNo" , taskNo );
return prefix + "/agvHeader" ;
}
@RequiresPermissions ( "task:taskHeader:agvCsView" )
@GetMapping ( "/setPort/{taskId}" )
public String setPort ( @PathVariable ( "taskId" ) Integer taskId , ModelMap mmap ) {
TaskHeader taskHeader = taskHeaderService . getById ( taskId );
mmap . put ( "taskHeader" , taskHeader );
String containerCode = taskHeader . getContainerCode ();
List < Location > list = locationService . getLocationListByContainerCode ( taskHeader . getWarehouseCode (), containerCode , taskHeader . getToLocation ());
mmap . put ( "locationList" , list );
周鸿
authored
about a year ago
98
List < Station > stationList = stationService . getStationByContainers ( taskHeader . getContainerCode (), "3" , taskHeader . getWarehouseCode ());
周鸿
authored
about a year ago
99
mmap . put ( "stationList" , stationList );
周鸿
authored
about a year ago
100
101
102
return prefix + "/agvSetPort" ;
}
103
104
105
106
@RequiresPermissions ( "task:taskHeader:list" )
@Log ( title = "任务-上架任务" , operating = "查看任务列表" , action = BusinessType . GRANT )
@PostMapping ( "/list" )
@ResponseBody
周鸿
authored
about a year ago
107
public TableDataInfo list ( AgvTaskCS agvTask , @ApiParam ( name = "createdBegin" , value = "起止时间" ) String createdBegin ,
108
109
110
111
112
113
114
@ApiParam ( name = "createdEnd" , value = "结束时间" ) String createdEnd ,
@ApiParam ( name = "taskComplete" , value = "完成" ) String taskComplete ) {
PageDomain pageDomain = TableSupport . buildPageRequest ();
Integer pageNum = pageDomain . getPageNum ();
Integer pageSize = pageDomain . getPageSize ();
String isAsc = pageDomain . getIsAsc ();
String orderByColumn = pageDomain . getOrderByColumn ();
周鸿
authored
about a year ago
115
LambdaQueryWrapper < AgvTaskCS > lambdaQueryWrapper = new LambdaQueryWrapper <>();
周鸿
authored
about a year ago
116
lambdaQueryWrapper . eq ( AgvTaskCS: : getWarehouseCode , ShiroUtils . getWarehouseCode ())
周鸿
authored
about a year ago
117
118
. eq ( StringUtils . isNotNull ( agvTask . getId ()), AgvTaskCS: : getId , agvTask . getId ())
. eq ( StringUtils . isNotEmpty ( agvTask . getContainerCode ()), AgvTaskCS: : getContainerCode , agvTask . getContainerCode ())
周鸿
authored
about a year ago
119
. eq ( StringUtils . isNotNull ( agvTask . getTaskHeaderId ()), AgvTaskCS: : getTaskHeaderId , agvTask . getTaskHeaderId ())
周鸿
authored
about a year ago
120
121
122
123
. eq ( StringUtils . isNotEmpty ( agvTask . getFromPort ()), AgvTaskCS: : getFromPort , agvTask . getFromPort ())
. eq ( StringUtils . isNotEmpty ( agvTask . getToPort ()), AgvTaskCS: : getToPort , agvTask . getToPort ())
. eq ( StringUtils . isNotNull ( agvTask . getPriority ()), AgvTaskCS: : getPriority , agvTask . getPriority ())
. eq ( StringUtils . isNotEmpty ( agvTask . getCarNo ()), AgvTaskCS: : getCarNo , agvTask . getCarNo ())
周鸿
authored
about a year ago
124
. eq ( StringUtils . isNotNull ( agvTask . getStatus ()), AgvTaskCS: : getStatus , agvTask . getStatus ())
周鸿
authored
about a year ago
125
126
127
. ge ( StringUtils . isNotEmpty ( createdBegin ), AgvTaskCS: : getCreatedTime , createdBegin )
. le ( StringUtils . isNotEmpty ( createdEnd ), AgvTaskCS: : getCreatedTime , createdEnd )
. le ( StringUtils . isNotEmpty ( taskComplete ), AgvTaskCS: : getStatus , taskComplete )
128
129
130
131
132
133
. last (! StringUtils . isAnyEmpty ( isAsc , orderByColumn ), "order by" + " " + orderByColumn + " " + isAsc )
. last ( StringUtils . isAnyEmpty ( isAsc , orderByColumn ), "order by id desc" );
/**
* 使用分页查询
*/
if ( StringUtils . isNotNull ( pageNum ) && StringUtils . isNotNull ( pageSize )) {
周鸿
authored
about a year ago
134
135
136
Page < AgvTaskCS > page = new Page <>( pageNum , pageSize );
IPage < AgvTaskCS > iPage = agvTaskService . page ( page , lambdaQueryWrapper );
List < AgvTaskCS > iPages = iPage . getRecords ();
137
138
return getMpDataTable ( iPages , iPage . getTotal ());
} else {
周鸿
authored
about a year ago
139
List < AgvTaskCS > list = agvTaskService . list ( lambdaQueryWrapper );
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
return getDataTable ( list );
}
}
@GetMapping ( "/createAGVTask" )
public String create ( ) {
return prefix + "/agvCreate" ;
}
@ApiOperation ( value = "AGV创建任务" , httpMethod = "POST" )
@PostMapping ( "/createAGVTask" )
@ResponseBody
public AjaxResult createAGVTask ( String priority , String sourceLocation , String destinationLocation , String containerCode , String taskType ) {
AjaxResult ajaxResult = handleMultiProcess ( new MultiProcessListener () {
@Override
public AjaxResult doProcess ( ) {
周鸿
authored
about a year ago
157
AgvTaskCS agvTask = new AgvTaskCS ();
158
159
160
161
162
163
164
165
166
agvTask . setFromPort ( sourceLocation );
agvTask . setToPort ( destinationLocation );
agvTask . setContainerCode ( containerCode );
agvTask . setWarehouseCode ( "CS0001" );
return agvTaskService . createAGVTask ( agvTask );
}
});
return ajaxResult ;
}
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
@ApiOperation ( value = "AGV创建任务" , httpMethod = "POST" )
@PostMapping ( "/createAGVTaskBody" )
@ResponseBody
public AjaxResult createAGVTaskBody ( @RequestBody AgvCreateBody agvCreateBody ) {
AjaxResult ajaxResult = handleMultiProcess ( new MultiProcessListener () {
@Override
public AjaxResult doProcess ( ) {
if ( agvCreateBody == null ){
return AjaxResult . error ( "参数错误" );
}
AgvTaskCS agvTask = new AgvTaskCS ();
agvTask . setFromPort ( agvCreateBody . getFromPort ());
agvTask . setToPort ( agvCreateBody . getToPort ());
agvTask . setContainerCode ( "" );
return agvTaskService . createAGVTask ( agvTask );
}
});
return ajaxResult ;
}
186
187
188
189
190
/**
* 机加库创建任务
* @return
*/
周鸿
authored
about a year ago
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
@RequiresPermissions ( "task:agvtask:createAGVTaskJLK" )
@GetMapping ( "/createAGVTaskJLK" )
public String createAGVTaskJLK ( ) {
return prefix + "/agvCreateJLK" ;
}
@RequiresPermissions ( "task:agvtask:createAGVTaskJLK" )
@ApiOperation ( value = "AGV创建任务" , httpMethod = "POST" )
@PostMapping ( "/createAGVTaskJLK" )
@ResponseBody
public AjaxResult createAGVTaskJLK ( String sourceLocation , String destinationLocation , String containerCode ) {
AjaxResult ajaxResult = handleMultiProcess ( new MultiProcessListener () {
@Override
public AjaxResult doProcess ( ) {
AgvTaskCS agvTask = new AgvTaskCS ();
agvTask . setFromPort ( sourceLocation );
agvTask . setToPort ( destinationLocation );
agvTask . setContainerCode ( containerCode );
周鸿
authored
about a year ago
208
return agvTaskService . createAGVTaskJLK ( agvTask );
周鸿
authored
about a year ago
209
210
211
212
213
}
});
return ajaxResult ;
}
214
215
216
217
218
219
220
221
222
223
/**
* 长沙 agv 创建任务
* @return
*/
// @RequiresPermissions("task:agvtask:createAGVTaskCS")
@GetMapping ( "/createAGVTaskCS" )
public String createAGVTaskCS ( ) {
return prefix + "/createAGVTaskCS" ;
}
周鸿
authored
about a year ago
224
225
226
227
228
229
230
231
232
@Log ( title = "任务-任务管理" , operating = "下发AGV任务" , action = BusinessType . UPDATE )
@PostMapping ( "/execute" )
@ResponseBody
public AjaxResult execute ( String taskId ) {
if ( StringUtils . isEmpty ( taskId )) {
return AjaxResult . error ( "taskId不能为空" );
}
周鸿
authored
about a year ago
233
AjaxResult < AgvTaskCS > ajaxResult = agvTaskService . sendTaskToAGV ( Convert . toIntArray ( taskId ), false );
234
235
236
237
return ajaxResult ;
}
周鸿
authored
about a year ago
238
239
240
241
242
@GetMapping ( "/editagv/{id}" )
public String edit ( @PathVariable ( "id" ) Integer id , ModelMap mmap ) {
周鸿
authored
about a year ago
243
AgvTaskCS agvTask = agvTaskService . getById ( id );
244
245
246
247
248
249
250
251
mmap . put ( "agvTask" , agvTask );
return prefix + "/editagv" ;
}
@RequiresPermissions ( "task:taskHeader:edit" )
@PostMapping ( "/editagv" )
@ResponseBody
@Log ( title = "任务-任务管理" , operating = "编辑agv任务" , action = BusinessType . UPDATE )
周鸿
authored
about a year ago
252
253
public AjaxResult edit ( AgvTaskCS agvTask ) {
AgvTaskCS agvTaskResult = agvTaskService . getById ( agvTask . getId ());
254
255
256
257
258
259
260
261
262
263
264
if ( agvTaskResult . getStatus () >= QuantityConstant . TASK_STATUS_RELEASE ) {
return AjaxResult . error ( "任务已经下发了,不允许修改" );
}
agvTask . setUpdated ( new Date ());
// PointPosition pointPosition = pointPositionService.getOne(new LambdaQueryWrapper<PointPosition>().eq(PointPosition::getPositionName, agvTask.getToPort()));
// if (pointPosition == null) {
// return AjaxResult.error("目标点位不存在");
// }
// if (pointPosition != null && StringUtils.isNotEmpty(pointPosition.getContainerCode())) {
// return AjaxResult.error("目标点位有托盘,请选择其他点位");
// }
周鸿
authored
about a year ago
265
AgvTaskCS one = agvTaskService . getOne ( new LambdaQueryWrapper < AgvTaskCS >(). eq ( AgvTaskCS: : getToPort , agvTask . getToPort ()). lt ( AgvTaskCS: : getStatus , QuantityConstant . TASK_STATUS_COMPLETED ));
266
267
268
269
270
271
272
273
274
275
276
277
if ( one != null ) {
return AjaxResult . error ( "目标点位存在未完成的任务" );
}
return toAjax ( agvTaskService . updateById ( agvTask ));
}
@Log ( title = "任务-任务管理" , operating = "取消AGV任务" , action = BusinessType . DELETE )
@PostMapping ( "/cancelAGVTask" )
@ResponseBody
@RequiresPermissions ( "task:agvTask:remove" )
@ApiLogger ( apiName = "删除AGV任务" )
278
@Transactional ( rollbackFor = Exception . class )
279
280
281
282
283
284
public AjaxResult cancelAGVTask ( String ids ) {
if ( StringUtils . isEmpty ( ids )) {
return AjaxResult . error ( "taskId不能为空" );
}
Integer [] idList = Convert . toIntArray ( ids );
for ( int id : idList ) {
周鸿
authored
about a year ago
285
AgvTaskCS agvTask = agvTaskService . getById ( id );
286
if ( agvTask . getStatus (). intValue () <= QuantityConstant . TASK_STATUS_BUILD ) {
周鸿
authored
about a year ago
287
// continue;
288
}
周鸿
authored
about a year ago
289
if ( agvTask . getStatus (). intValue ()>= QuantityConstant . TASK_STATUS_RELEASE ){
周鸿
authored
about a year ago
290
// return AjaxResult.error("任务已经下发,不能删除");
周鸿
authored
about a year ago
291
292
293
294
295
296
297
}
if ( StringUtils . isNotNull ( agvTask . getPreTaskNo ())){
AgvTaskCS agvTaskPre = agvTaskService . getById ( agvTask . getPreTaskNo ());
if ( agvTaskPre != null ){
return AjaxResult . error ( "AGV前置任务还存在,不能删除" );
}
}
298
299
300
if ( agvTask . getStatus (). intValue () == QuantityConstant . TASK_STATUS_COMPLETED ) {
return AjaxResult . error ( "任务已经完成" );
}
周鸿
authored
about a year ago
301
302
303
304
//判断任务id不为空,则将taskheader表状态改成10
if ( StringUtils . isNotNull ( agvTask . getTaskHeaderId ())){
TaskHeader taskHeader = taskHeaderService . getById ( agvTask . getTaskHeaderId ());
if ( taskHeader != null ){
周鸿
authored
about a year ago
305
306
307
308
309
310
311
if ( taskHeader . getStatus (). intValue ()< QuantityConstant . TASK_STATUS_COMPLETED ){
TaskHeader taskHeader1 = new TaskHeader ();
taskHeader1 . setId ( taskHeader . getId ());
taskHeader1 . setStatus ( 10 );
taskHeaderService . updateById ( taskHeader1 );
}
周鸿
authored
about a year ago
312
}
313
}
周鸿
authored
about a year ago
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
//将agvtask任务删除
agvTaskService . removeById ( id );
// String containerCode = agvTask.getContainerCode();
// if (StringUtils.isEmpty(containerCode)) {
// return AjaxResult.error("空托盘");
// }
// Container container = containerService.getContainerByCode(
// containerCode, agvTask.getWarehouseCode());
// LambdaQueryWrapper<ContainerType> containerTypeLambdaQueryWrapper = Wrappers.lambdaQuery();
// containerTypeLambdaQueryWrapper.eq(ContainerType::getCode, container.getContainerType());
// ContainerType containerType = containerTypeService.getContainerTypeByCode(
// container.getContainerType(), container.getWarehouseCode());
// AjaxResult ajaxResult = agvTaskService.cancelTask(id,
// agvTask.getWarehouseCode(), containerType.getArea());
// if (ajaxResult.hasErr()) {
// return ajaxResult;
// }
332
}
周鸿
authored
about a year ago
333
334
return AjaxResult . success ( "取消成功" );
// return agvTaskService.cancelAGVTask(Convert.toIntArray(ids));
335
336
337
338
339
340
}
@Log ( title = "任务-任务管理" , operating = "AGV任务状态通知" , action = BusinessType . UPDATE )
@PostMapping ( "/notifyAGVTask" )
@ResponseBody
@ApiLogger ( apiName = "更新AGV任务状态" , from = "AGV" )
周鸿
authored
about a year ago
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
public AjaxResult notifyAGVTask ( @RequestBody AcsStatus acsStatus ) {
if ( acsStatus == null ) {
return AjaxResult . error ( "入库组盘信息为空" );
}
String taskNo = acsStatus . getTaskNo ();
String carNo = acsStatus . getCarNo ();
int status = acsStatus . getStatus ();
String updateBy = acsStatus . getUpdateBy ();
updateBy = "acs" ;
if ( StringUtils . isEmpty ( taskNo ) ) {
return AjaxResult . error ( "更新AGV状态,任务号为空" );
}
/* if ( StringUtils . isEmpty ( carNo )) {
return AjaxResult . error ( "更新AGV状态,车辆编号为空" );
}*/
周鸿
authored
about a year ago
356
if ( StringUtils . isEmpty ( acsStatus . getWarehouseCode ())){
周鸿
authored
about a year ago
357
// return AjaxResult.error("更新AGV状态,仓库为空");
周鸿
authored
about a year ago
358
}
周鸿
authored
about a year ago
359
360
361
362
363
364
365
366
if ( status == 0 ) {
return AjaxResult . error ( "更新AGV状态,状态信息为空" );
}
if ( StringUtils . isEmpty ( updateBy )) {
return AjaxResult . error ( "更新AGV状态,更新者信息为空" );
}
String finalUpdateBy = updateBy ;
AjaxResult ajaxResult = handleMultiProcessV1 ( "notifyAGVTask" , new BaseController . MultiProcessListener () {
367
368
@Override
public AjaxResult doProcess ( ) {
周鸿
authored
about a year ago
369
AjaxResult ajaxResult = acsCSService . notifyAGVTask ( taskNo , carNo , status , finalUpdateBy );
370
371
372
373
374
375
return ajaxResult ;
}
});
return ajaxResult ;
}
xumiao
authored
about a year ago
376
377
378
@Log ( title = "任务-任务管理" , operating = "AGV任务完成" , action = BusinessType . UPDATE )
@PostMapping ( "/completeTaskByWMS" )
@ResponseBody
周鸿
authored
about a year ago
379
@ApiLogger ( apiName = "AGV任务完成" , from = "WMSS" )
xumiao
authored
about a year ago
380
381
382
383
384
385
386
public AjaxResult completeTaskByWMS ( String taskId ) {
AjaxResult ajaxResult = handleMultiProcess ( new MultiProcessListener () {
@Override
public AjaxResult doProcess ( ) {
Map map = new HashMap ();
map . put ( "taskNo" , taskId );
map . put ( "status" , "100" );
周鸿
authored
about a year ago
387
AjaxResult ajaxResult = acsCSService . notifyAGVTask ( taskId , "" , 100 , "qq" );
xumiao
authored
about a year ago
388
389
390
391
392
393
return ajaxResult ;
}
});
return ajaxResult ;
}
周鸿
authored
about a year ago
394
@PostMapping ( "/weightAndHeightByContainer" )
周鸿
authored
about a year ago
395
@ApiOperation ( "agv请求库位" )
周鸿
authored
about a year ago
396
@ResponseBody
周鸿
authored
about a year ago
397
@ApiLogger ( apiName = "agv请求库位" , from = "acs" )
周鸿
authored
about a year ago
398
public AjaxResult weightAndHeightByContainer ( @RequestBody AcsWeightHeight acsWeightHeight ) {
xumiao
authored
about a year ago
399
周鸿
authored
about a year ago
400
401
402
403
404
405
406
407
408
AjaxResult ajaxResult = handleMultiProcessV1 ( "weightAndHeightByContainer" , new MultiProcessListener () {
@Override
public AjaxResult doProcess ( ) {
AjaxResult ajaxResult = acsCSService . weightAndHeightByContainer ( acsWeightHeight );
return ajaxResult ;
}
});
return ajaxResult ;
}
周鸿
authored
about a year ago
409
周鸿
authored
about a year ago
410
411
412
413
414
415
416
417
418
419
420
421
@ApiOperation ( value = "AGV设置站台库位" , httpMethod = "POST" )
@PostMapping ( "/setAgvPort" )
@ResponseBody
public AjaxResult setAgvPort ( TaskHeader taskHeader ) {
AjaxResult ajaxResult = handleMultiProcessV1 ( "setAgvPort" , new MultiProcessListener () {
@Override
public AjaxResult doProcess ( ) {
return agvTaskService . setAgvPort ( taskHeader );
}
});
return ajaxResult ;
}
周鸿
authored
about a year ago
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
@Log ( title = "任务-任务管理" , operating = "下发AGV任务" , action = BusinessType . UPDATE )
@PostMapping ( "/executeByContainerCode" )
@ResponseBody
public AjaxResult executeByContainerCode ( @RequestBody AcsWeightHeight acsWeightHeight ) {
if ( StringUtils . isNull ( acsWeightHeight )) {
return AjaxResult . error ( "数据不能为空" );
}
String containerCode = acsWeightHeight . getContainerCode ();
if ( StringUtils . isEmpty ( containerCode )) {
return AjaxResult . error ( "容器号不能为空" );
}
AjaxResult ajaxResult = handleMultiProcessV1 ( "executeByContainerCode" , new MultiProcessListener () {
@Override
public AjaxResult doProcess ( ) {
return agvTaskService . excuteAgvContainer ( containerCode );
}
});
return ajaxResult ;
}
443
444
}