自动化立体仓库 - WMS系统
pang.jiabao
16 小时以前 973eed10d720c7dbd0020407c3b89fe1d385944f
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
package com.zy.asrs.controller;
 
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.core.annotations.AppAuth;
import com.core.common.Cools;
import com.zy.asrs.entity.mes.*;
import com.zy.asrs.service.MesService;
import com.zy.common.web.BaseController;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
 
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
 
@RestController
@Slf4j
public class MesController extends BaseController {
 
    @Resource
    private MesService mesService;
 
    private void auth(String appkey, Object obj, HttpServletRequest request) {
        log.info("{}接口被访问;appkey:{};请求数据:{}", request.getRequestURI(), appkey, JSON.toJSONString(obj));
        request.setAttribute("cache", obj);
    }
 
    // 物料信息同步
    @PostMapping("/api/mes/synMatInfo")
    @AppAuth(memo = "物料信息同步")
    public MesReturn synMatInfo(@RequestHeader(required = false) String appkey,@RequestBody MesMatRecvForm param, HttpServletRequest request){
        auth(appkey, param, request);
        MesReturn mesReturn = new MesReturn();
        try {
            mesReturn = mesService.matInfoAndInBound(param);
        } catch (Exception e) {
            mesReturn.setSuccess("2");
            mesReturn.setMessage("物料信息同步失败");
        }
        return mesReturn;
    }
 
    @PostMapping("/api/mes/outBoundOrder")
    @AppAuth(memo = "出库申请")
    public MesReturn outBoundOrder(@RequestHeader(required = false) String appkey,@RequestBody MesOutApply param, HttpServletRequest request){
        auth(appkey, param, request);
        MesReturn mesReturn = new MesReturn();
        mesReturn.setSuccess(mesService.outBoundOrder(param) == 1 ? "1" : "2");
        return mesReturn;
    }
 
    // 入库申请
    @PostMapping("/api/mes/inBoundOrder")
    @AppAuth(memo = "入库申请")
    public MesReturn inBoundOrder(@RequestHeader(required = false) String appkey,@RequestBody MesInApply param, HttpServletRequest request){
        auth(appkey, param, request);
        MesReturn mesReturn = new MesReturn();
        mesReturn.setSuccess(mesService.inBoundOrder(param) == 1 ? "1" : "2");
        return mesReturn;
    }
 
    @PostMapping("/api/mes/allowInStation")
    @AppAuth(memo = "入站允许")
    public MesReturn allowInStation(@RequestHeader(required = false) String appkey,@RequestBody TransInOutStationAllow param, HttpServletRequest request){
        auth(appkey, param, request);
        return mesService.allowInStation(param);
    }
 
    // 离站允许,装配库、滑块库
    @PostMapping("/api/mes/allowOutStation")
    public MesReturn allowOutStation(@RequestHeader(required = false) String appkey,@RequestBody TransInOutStationAllow param, HttpServletRequest request){
        auth(appkey, param, request);
        return mesService.allowOutStation(param);
    }
 
    @PostMapping("/api/mes/submitTask")
    @AppAuth(memo = "下发运输任务")
    public JSONObject submitTask(@RequestHeader(required = false) String appkey,@RequestBody TransTask param, HttpServletRequest request){
        auth(appkey, param, request);
        return mesService.submitTask(param);
    }
 
    // 按 物料编码+oderNo
    @PostMapping("/api/mes/queryInventory")
    @AppAuth(memo = "库存查询接口")
    public MesReturn queryInventory(@RequestHeader(required = false) String appkey,@RequestBody JSONObject param, HttpServletRequest request){
        auth(appkey, param, request);
        MesReturn mesReturn = new MesReturn();
        String itemno = param.getString("itemno");
        String orderNo = param.getString("orderNo");
        if(Cools.isEmpty(itemno,orderNo)) {
            mesReturn.setSuccess("2");
            mesReturn.setMessage("参数不能为空");
            return mesReturn;
        }
 
        return mesService.queryInventory(itemno,orderNo);
    }
 
}