陶杰
2024-08-22 ee9032d9baf5f33e376d2d2699136e0a7b26bec7
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
105
106
107
108
109
110
package com.mzl.flower.web.warehouse;
 
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mzl.flower.base.BaseController;
import com.mzl.flower.base.R;
import com.mzl.flower.base.ReturnDataDTO;
import com.mzl.flower.dto.response.warehouse.WarehouseLocationDTO;
import com.mzl.flower.entity.payment.Order;
import com.mzl.flower.entity.warehouse.Warehouse;
import com.mzl.flower.entity.warehouse.WarehouseLocation;
import com.mzl.flower.service.payment.OrderService;
import com.mzl.flower.service.warehouse.WarehouseService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
 
import javax.validation.constraints.NotNull;
import java.util.List;
 
@RestController
@RequestMapping("/api/warehouse")
@Api(value = "运营-库区/库位管理", tags = "运营-库区/库位管理")
@Validated
@Slf4j
public class WarehouseController extends BaseController {
 
 
    private final WarehouseService warehouseService;
 
    private final OrderService orderService;
 
    public WarehouseController(WarehouseService warehouseService, OrderService orderService) {
        this.warehouseService = warehouseService;
        this.orderService = orderService;
    }
 
    @PostMapping("/list/new")
    @ApiOperation(value = "新增库区", notes = "新增库区")
    public ResponseEntity<ReturnDataDTO> add(@Validated @RequestBody Warehouse dto) {
        warehouseService.addWarehouse(dto);
        return returnData(R.SUCCESS.getCode(),null);
    }
 
    @PostMapping("/list/edit")
    @ApiOperation(value = "修改库区", notes = "修改库区")
    public ResponseEntity<ReturnDataDTO> update(@Validated @RequestBody Warehouse dto) {
        warehouseService.updateWarehouse(dto);
        return returnData(R.SUCCESS.getCode(),null);
    }
 
    @GetMapping("/list/delete")
    @ApiOperation(value = "删除库区", notes = "删除库区")
    public ResponseEntity<ReturnDataDTO> delete(@NotNull(message = "id不能为空") Long id) {
        warehouseService.deleteWarehouse(id);
        return returnData(R.SUCCESS.getCode(),null);
    }
 
    @GetMapping("/list")
    @ApiOperation(value = "查询库区", notes = "查询库区")
    public ResponseEntity<ReturnDataDTO<List<Warehouse>>> queryWarehouse() {
        return returnData(R.SUCCESS.getCode(), warehouseService.queryWarehouse());
    }
 
    @PostMapping("/location/list/new")
    @ApiOperation(value = "新增库位", notes = "新增库位")
    public ResponseEntity<ReturnDataDTO> addWarehouseLocation(@Validated @RequestBody WarehouseLocation dto) {
        warehouseService.addWarehouseLocation(dto);
        return returnData(R.SUCCESS.getCode(),null);
    }
 
    @PostMapping("/location/list/edit")
    @ApiOperation(value = "修改库位", notes = "修改库位")
    public ResponseEntity<ReturnDataDTO> updateWarehouseLocation(@Validated @RequestBody WarehouseLocation dto) {
        warehouseService.updateWarehouseLocation(dto);
        return returnData(R.SUCCESS.getCode(),null);
    }
 
    @GetMapping("/location/list/delete")
    @ApiOperation(value = "删除库位", notes = "删除库位")
    public ResponseEntity<ReturnDataDTO> deleteWarehouseLocation(@NotNull(message = "id不能为空") Long id) {
        warehouseService.deleteWarehouseLocation(id);
        return returnData(R.SUCCESS.getCode(),null);
    }
 
    @GetMapping("/location/list")
    @ApiOperation(value = "查询库位", notes = "查询库位")
    public ResponseEntity<ReturnDataDTO<List<WarehouseLocationDTO>>> queryWarehouseLocation(Long warehouseId, String code) {
        return returnData(R.SUCCESS.getCode(), warehouseService.queryWarehouseLocation(warehouseId,code));
    }
 
    @GetMapping("/location/list/addOrder")
    @ApiOperation(value = "手动添加订单", notes = "手动添加订单")
    public ResponseEntity<ReturnDataDTO> addOrder(Long warehouseLocationId, String orderId) {
        orderService.addOrder(warehouseLocationId,orderId);
        return returnData(R.SUCCESS.getCode(), null);
    }
 
 
    @GetMapping("/location/list/orders")
    @ApiOperation(value = "查询未分配库位的订单列表", notes = "查询未分配库位的订单列表")
    public ResponseEntity<ReturnDataDTO<IPage<Order>>> unAllocatedWarehouseLocationOrder(String orderNo, Long partnerId, Page page) {
        return returnData(R.SUCCESS.getCode(), orderService.unAllocatedWarehouseLocationOrder(orderNo,partnerId,page));
    }
 
 
}