yangys
2024-04-04 ed4a5236bab800094be4a8378f5098eebe3de6ac
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
package com.qianwen.smartman.modules.cps.controller;
 
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import java.lang.invoke.SerializedLambda;
import java.util.List;
import java.util.Map;
import javax.validation.Valid;
import com.qianwen.smartman.common.cache.RegionCache;
import com.qianwen.core.boot.ctrl.BladeController;
import com.qianwen.core.mp.support.Condition;
import com.qianwen.core.mp.support.Query;
import com.qianwen.core.scanner.modular.annotation.DeleteResource;
import com.qianwen.core.scanner.modular.annotation.GetResource;
import com.qianwen.core.scanner.modular.annotation.PostResource;
import com.qianwen.core.scanner.modular.annotation.PutResource;
import com.qianwen.core.scanner.modular.stereotype.ApiResource;
import com.qianwen.core.secure.annotation.PreAuth;
import com.qianwen.core.tool.api.R;
import com.qianwen.core.tool.node.ForestNodeMerger;
import com.qianwen.core.tool.utils.Func;
import com.qianwen.smartman.modules.cps.convert.WarehouseAreaConvert;
import com.qianwen.smartman.modules.cps.entity.WarehouseArea;
import com.qianwen.smartman.modules.cps.entity.WarehouseStation;
import com.qianwen.smartman.modules.cps.service.IWarehouseAreaService;
import com.qianwen.smartman.modules.cps.service.IWarehouseStationService;
import com.qianwen.smartman.modules.cps.vo.WarehouseAreaSubmitVO;
import com.qianwen.smartman.modules.cps.vo.WarehouseAreaUpdateVO;
import com.qianwen.smartman.modules.cps.vo.WarehouseAreaVO;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
 
@Api(value = "库区管理", tags = {"库区管理"})
@ApiResource({"blade-cps/warehouse-area"})
@RestController
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/cps/controller/WarehouseAreaController.class */
public class WarehouseAreaController extends BladeController {
    private final IWarehouseStationService warehouseStationService;
    private IWarehouseAreaService warehouseAreaService;
 
    public WarehouseAreaController(final IWarehouseStationService warehouseStationService, final IWarehouseAreaService warehouseAreaService) {
        this.warehouseStationService = warehouseStationService;
        this.warehouseAreaService = warehouseAreaService;
    }
 
    @ApiOperationSupport(order = 1)
    @GetResource({"/get/{id}"})
    @ApiOperation(value = "库区详情", notes = "传入warehouseArea")
    public R<WarehouseAreaVO> detail(@PathVariable String id) {
        WarehouseArea warehouseArea = (WarehouseArea) this.warehouseAreaService.getById(id);
        return R.data(WarehouseAreaConvert.INSTANCE.convert(warehouseArea));
    }
 
    @ApiOperationSupport(order = 2)
    @GetResource({"/list"})
    @ApiOperation(value = "库区列表", notes = "传入map")
    public R<List<WarehouseAreaVO>> list(@RequestParam @ApiIgnore Map<String, Object> params) {
        List<WarehouseArea> list = this.warehouseAreaService.list(Condition.getQueryWrapper(params, WarehouseArea.class));
        return R.data(WarehouseAreaConvert.INSTANCE.convert(list));
    }
 
    @ApiOperationSupport(order = 3)
    @GetResource({"/count"})
    @ApiOperation(value = "库区统计值", notes = "传入map")
    public R<Integer> count(@RequestParam @ApiIgnore Map<String, Object> params) {
        int count = Long.valueOf(this.warehouseAreaService.count(Condition.getQueryWrapper(params, WarehouseArea.class))).intValue();
        return R.data(Integer.valueOf(count));
    }
 
    /* JADX WARN: Multi-variable type inference failed */
    @ApiOperationSupport(order = 4)
    @GetResource({"/page"})
    @ApiOperation(value = "库区分页", notes = "传入map")
    @PreAuth
    public R<IPage<WarehouseAreaVO>> page(@RequestParam @ApiIgnore Map<String, Object> params, Query query) {
        IPage<WarehouseArea> pages;
        if (Func.isNotEmpty(query.getSize()) && query.getSize().equals(-1)) {
            pages = this.warehouseAreaService.page(Condition.getPage(query), Wrappers.<WarehouseArea>lambdaQuery()
                      .ne(WarehouseArea::getId, Long.valueOf(1L)));
        } else {
            pages = this.warehouseAreaService.page(Condition.getPage(query), Condition.getQueryWrapper(params, WarehouseArea.class));
        }
        return R.data(WarehouseAreaConvert.INSTANCE.convert(pages));
    }
 
    @ApiOperationSupport(order = RegionCache.VILLAGE_LEVEL)
    @PostResource({"/insert"})
    @ApiOperation(value = "库区新增", notes = "传入warehouseAreaVO")
    @PreAuth
    public R<WarehouseAreaVO> insert(@Valid @RequestBody WarehouseAreaSubmitVO warehouseAreaSubmitVO) {
        return R.data(this.warehouseAreaService.insert(warehouseAreaSubmitVO));
    }
 
    @ApiOperationSupport(order = 6)
    @PutResource({"/update"})
    @ApiOperation(value = "库区修改", notes = "传入warehouseAreaVO")
    @PreAuth
    public R<WarehouseAreaVO> update(@Valid @RequestBody WarehouseAreaUpdateVO warehouseAreaUpdateVO) {
        return R.data(this.warehouseAreaService.edit(warehouseAreaUpdateVO));
    }
 
    @ApiOperationSupport(order = 7)
    @ApiOperation(value = "库区删除", notes = "传入ids")
    @PreAuth
    @DeleteResource({"/remove"})
    public R remove(@ApiParam(value = "主键", required = true) @RequestBody List<String> ids) {
        if (ids.isEmpty()) {
            return R.status(false);
        }
        return R.status(this.warehouseAreaService.removeWithRelation(Func.toLongList(ids)).booleanValue());
    }
 
    @ApiOperationSupport(order = 8)
    @GetResource({"/tree"})
    @ApiOperation(value = "树形结构", notes = "树形结构")
    @PreAuth
    public R<List<WarehouseAreaVO>> tree() {
        List<WarehouseArea> list = this.warehouseAreaService.list(Wrappers.<WarehouseArea>lambdaQuery()
                .orderByAsc(WarehouseArea::getId));
        List<WarehouseAreaVO> vos = WarehouseAreaConvert.INSTANCE.convert(list);
        return R.data(ForestNodeMerger.merge(vos));
    }
 
    @ApiOperationSupport(order = 9)
    @GetResource({"station-count"})
    @ApiOperation("获取库区下的库位数量")
    public R<Long> getStationCount(@RequestParam("id") String id) {
        return R.data(Long.valueOf(this.warehouseStationService.count(Wrappers.<WarehouseStation>lambdaQuery().eq(WarehouseStation::getAreaId, id))));
        /*
        return R.data(Long.valueOf(this.warehouseStationService.count((Wrapper) Wrappers.lambdaQuery().eq((v0) -> {
            return v0.getAreaId();
        }, id))));*/
    }
}