ReleaseNoticeController.java
3.86 KB
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
package com.huaheng.api.wcs.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.huaheng.api.wcs.domain.ReleasedCons;
import com.huaheng.common.constant.QuantityConstant;
import com.huaheng.common.utils.StringUtils;
import com.huaheng.framework.aspectj.lang.annotation.ApiLogger;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.pc.config.station.domain.Station;
import com.huaheng.pc.config.station.service.StationService;
import com.huaheng.pc.config.zone.domain.Zone;
import com.huaheng.pc.config.zone.service.ZoneService;
import com.huaheng.pc.task.taskHeader.domain.TaskHeader;
import com.huaheng.pc.task.taskHeader.service.TaskHeaderService;
import io.swagger.annotations.ApiOperation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
* 铜箔仓 二楼出库时不能有入库任务堵
* 放行通知
*/
@RestController
@RequestMapping("/API/WMS/v2")
public class ReleaseNoticeController {
@Resource
private TaskHeaderService taskHeaderService;
@Resource
private ZoneService zoneService;
@Resource
private StationService stationService;
@PostMapping("/releasedNotice")
@ApiOperation("放行通知")
@ApiLogger(apiName = "放行通知", from="WCS")
@Transactional(rollbackFor = Exception.class)
@ResponseBody
public AjaxResult releasedNotice(@RequestBody Map<String,String> map) {
AjaxResult result = AjaxResult.toAjax(false).setData(ReleasedCons.RELEASED_ERR);
String area = map.get("area");
String port = map.get("port");
if(StringUtils.isEmpty(port)){
return result.setMsg("站台编码不能为空!!");
}
if(StringUtils.isEmpty(area)){
return result.setMsg("库区编号不能为空!!");
}
if(!"P5043".equals(port)){
return result.setMsg("站台编码错误!!");
}
Zone zone = zoneService.getZoneByArea(area);
if(zone == null){
return result.setMsg("库区编号错误或不存在!!");
}
String zoneCode = zone.getCode();
LambdaQueryWrapper<TaskHeader> query = Wrappers.lambdaQuery();
query.eq(TaskHeader::getTaskType, QuantityConstant.TASK_TYPE_EMPTYRECEIPT)
.lt(TaskHeader::getStatus,QuantityConstant.TASK_STATUS_COMPLETED)
.eq(TaskHeader::getZoneCode, zoneCode)
.eq(TaskHeader::getPort, "P5043")
.last("LIMIT 1");
TaskHeader taskHeader = taskHeaderService.getOne(query);
if(taskHeader != null){
return result.setMsg("请求失败目标站台存在空托盘入库任务:["+taskHeader.getId()+"]");
}
return AjaxResult.toAjax(true).setData(ReleasedCons.RELEASED_SUC);
}
/**
* 解锁站台 通知下发 assignTask
* @param map
* @return
*/
@PostMapping("/noticeAssign")
@ApiOperation("通知下发")
@ApiLogger(apiName = "通知下发", from="WCS")
@Transactional(rollbackFor = Exception.class)
@ResponseBody
public AjaxResult noticeAssign(@RequestBody Map<String,String> map) {
String taskId = map.get("TaskNo");
TaskHeader taskHeader = taskHeaderService.getById(taskId);
if(taskHeader==null){
return AjaxResult.error("任务号不存在");
}
if(taskHeader.getStatus() >= 100){
return AjaxResult.error("任务已完成");
}
Station station = stationService.getByTaskNo(taskHeader);
if(station==null){
return AjaxResult.error("任务错误没有找到站台");
}
station.setTaskNo(null);
stationService.updateById(station);
return AjaxResult.success();
}
}