Blame view

src/main/java/com/huaheng/api/erp/controller/ErpController.java 6.13 KB
1
2
3
4
5
package com.huaheng.api.erp.controller;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
6
7
import com.alibaba.fastjson.JSON;
import com.huaheng.api.acs.domain.AcsStatus;
8
9
import com.huaheng.api.erp.domain.*;
import com.huaheng.api.erp.service.IErpService;
10
11
import com.huaheng.common.constant.QuantityConstant;
import com.huaheng.common.utils.http.OkHttpUtils;
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import com.huaheng.framework.aspectj.lang.annotation.ApiLogger;
import com.huaheng.framework.web.controller.BaseController;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.framework.web.domain.ResultErp;
import org.springframework.web.bind.annotation.*;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

/**
 * @author 游杰
 */
@RestController
@RequestMapping("/api/erp")
@Api(tags = "ERP接口")
public class ErpController extends BaseController{

    @Resource
    private IErpService erpService;
32
33
34
35
36
37
    @PostMapping("/addMaterial")
    @ResponseBody
    @ApiOperation("增加物料")
    @ApiLogger(apiName = "增加物料", from = "ERP")
    public ResultErp addMaterial(@RequestBody ErpMaterial erpMaterial) {
38
39
40
41
42
43
44
45
        ResultErp ajaxResult = handleMultiProcessErp("receipt", new BaseController.MultiProcessListenerErp() {
            @Override
            public ResultErp doProcess() {
                return erpService.addMaterial(erpMaterial);
            }
        });
        return ajaxResult;
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
    }

    @PostMapping("/receipt")
    @ResponseBody
    @ApiOperation("入库单下发")
    @ApiLogger(apiName = "入库单下发", from = "ERP")
    public ResultErp receipt(@RequestBody ErpReceipt erpReceipt) {
        ResultErp ajaxResult = handleMultiProcessErp("receipt", new BaseController.MultiProcessListenerErp() {
            @Override
            public ResultErp doProcess() {
                ResultErp ajaxResult =  erpService.receipt(erpReceipt);
                return ajaxResult;
            }
        });
        return ajaxResult;
    }

    @PostMapping("/receiptCancel")
    @ResponseBody
    @ApiOperation("取消入库单")
    @ApiLogger(apiName = "取消入库单", from = "ERP")
67
    public ResultErp cancelReceipt(@RequestBody ErpCancel erpCancel) {
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
        String referCode = erpCancel.getReferCode();
        String warehouseCode = erpCancel.getWarehouseCode();
        ResultErp ajaxResult = handleMultiProcessErp("cancelReceipt", new BaseController.MultiProcessListenerErp() {
            @Override
            public ResultErp doProcess() {
                ResultErp ajaxResult =  erpService.cancelReceipt(referCode, warehouseCode);
                return ajaxResult;
            }
        });
        return ajaxResult;
    }

    @PostMapping("/shipment")
    @ResponseBody
    @ApiOperation("出库单下发")
    @ApiLogger(apiName = "出库单下发", from = "ERP")
    public ResultErp shipment(@RequestBody ErpShipment erpShipment) {
        ResultErp ajaxResult = handleMultiProcessErp("shipment", new BaseController.MultiProcessListenerErp() {
            @Override
            public ResultErp doProcess() {
                return erpService.shipment(erpShipment);
            }
        });
        return ajaxResult;
    }

    @PostMapping("/shipmentCancel")
    @ResponseBody
    @ApiOperation("取消出库单")
    @ApiLogger(apiName = "取消出库单", from = "ERP")
98
    public ResultErp cancelShipment(@RequestBody ErpCancel erpCancel) {
99
100
101
102
103
104
105
106
107
108
109
110
111
112
        String referCode = erpCancel.getReferCode();
        String warehouseCode = erpCancel.getWarehouseCode();
        ResultErp ajaxResult = handleMultiProcessErp("cancelShipment", new BaseController.MultiProcessListenerErp() {
            @Override
            public ResultErp doProcess() {
                return erpService.cancelShipment(referCode, warehouseCode);
            }
        });
        return ajaxResult;

    }

    @PostMapping("/transferInventory")
    @ResponseBody
113
114
    @ApiOperation("调拨单下发")
    @ApiLogger(apiName = "调拨单下发", from = "ERP")
115
    public ResultErp transferInventory(@RequestBody ErpTransfer erpTransfer) {
116
        ResultErp ajaxResult = handleMultiProcessErp("transferInventory", new BaseController.MultiProcessListenerErp() {
117
118
119
120
121
122
123
124
125
126
127
            @Override
            public ResultErp doProcess() {
                return erpService.transfer(erpTransfer);
            }
        });
        return ajaxResult;

    }

    @PostMapping("/transferInventoryCancel")
    @ResponseBody
128
129
    @ApiOperation("取消调拨单下发")
    @ApiLogger(apiName = "取消调拨单下发", from = "ERP")
130
    public ResultErp cancelTransferInventory(@RequestBody ErpCancel erpCancel) {
131
132
        String referCode = erpCancel.getReferCode();
        String warehouseCode = erpCancel.getWarehouseCode();
133
        ResultErp ajaxResult = handleMultiProcessErp("cancelTransferInventory", new BaseController.MultiProcessListenerErp() {
134
135
            @Override
            public ResultErp doProcess() {
136
                return erpService.cancelTransfer(referCode, warehouseCode);
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
            }
        });
        return ajaxResult;

    }

    @PostMapping("/searchInventory")
    @ResponseBody
    @ApiOperation("查询库存")
    @ApiLogger(apiName = "查询库存", from = "ERP")
    public ResultErp searchInventory(@RequestBody InventoryQueryParam inventoryQueryParam, HttpServletRequest req) {
        ResultErp result = erpService.searchInventory(inventoryQueryParam);
        return result;
    }
    @PostMapping("/supplier")
    @ResponseBody
    @ApiOperation("增加供应商")
    @ApiLogger(apiName = "增加供应商", from = "ERP")
    public ResultErp supplier(@RequestBody ErpSupplier erpSupplier) {
        return erpService.supplier(erpSupplier);
    }
    @PostMapping("/customer")
    @ResponseBody
    @ApiOperation("增加客户")
    @ApiLogger(apiName = "增加客户", from = "ERP")
    public ResultErp customer(@RequestBody ErpSupplier erpSupplier) {
        return erpService.customer(erpSupplier);
    }
165
166
167
168
169
170
171
172

    @PostMapping("/uWarehosue")
    @ResponseBody
    @ApiOperation("增加客户")
    @ApiLogger(apiName = "增加客户", from = "ERP")
    public ResultErp uWarehosue(@RequestBody ErpUWarehosue erpUWarehosue) {
        return erpService.getUWarehosue(erpUWarehosue);
    }
173
}