Helius
2021-01-11 854d9d55a86b7076abc4f526e90001bd806d324c
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
package com.matrix.system.app.action;
 
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.pojo.PaginationVO;
import com.matrix.core.tools.WebUtil;
import com.matrix.system.app.dto.StoreInOutListDto;
import com.matrix.system.app.dto.StoreListDto;
import com.matrix.system.app.mapper.SysStoreInfoMapper;
import com.matrix.system.app.vo.StoreInOutListVo;
import com.matrix.system.app.vo.StoreListVo;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.tools.DataAuthUtil;
import com.matrix.system.hive.bean.SysStoreInfo;
import com.matrix.system.hive.dao.SysStoreInfoDao;
import com.matrix.system.hive.pojo.StoreInOutRecordVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
 
import java.util.List;
 
/**
 * @author wzy
 * @date 2020-12-27
 **/
@Api(value = "ApiStoreAction", tags = "库存管理接口类")
@RestController
@RequestMapping(value = "/api/store")
public class ApiStoreAction {
 
    @Autowired
    private SysStoreInfoDao sysStoreInfoDao;
 
    @ApiOperation(value = "获取库存列表", notes = "获取库存列表")
    @ApiResponses({
            @ApiResponse(code = 200, message = "ok", response = StoreListVo.class)
    })
    @PostMapping(value = "/findStoreList")
    public AjaxResult findStoreList(@RequestBody @Validated StoreListDto storeListDto) {
        SysStoreInfo sysStoreInfo = new SysStoreInfo();
 
        if (!DataAuthUtil.hasAllShopAuth()) {
            SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
            sysStoreInfo.setShopId(users.getShopId());
            sysStoreInfo.setCompanyId(users.getCompanyId());
        }
        sysStoreInfo.setQueryKey(storeListDto.getQueryKey());
        PaginationVO pageVo = new PaginationVO();
        pageVo.setOffset((storeListDto.getPageNum() - 1) * storeListDto.getPageSize());
        pageVo.setLimit(storeListDto.getPageSize());
        pageVo.setSort("c.goods_no");
        pageVo.setOrder("asc");
 
        List<SysStoreInfo> dataList = sysStoreInfoDao.selectCountInPage(sysStoreInfo, pageVo);
        List<StoreListVo> resultList = SysStoreInfoMapper.INSTANCE.entitiesToStoreVos(dataList);
 
        return new AjaxResult(AjaxResult.STATUS_SUCCESS,  resultList, sysStoreInfoDao.selectCountTotalRecord(sysStoreInfo));
    }
 
    @ApiOperation(value = "获取商品出入库列表", notes = "获取商品出入库列表")
    @ApiResponses({
            @ApiResponse(code = 200, message = "ok", response = StoreInOutListVo.class)
    })
    @PostMapping(value = "/findGoodsInOutInfo")
    public AjaxResult findGoodsInOutInfo(@RequestBody @Validated StoreInOutListDto storeInOutListDto) {
        StoreInOutRecordVO inOutRecordVO = new StoreInOutRecordVO();
        inOutRecordVO.setBeginTime(storeInOutListDto.getStartTime());
        inOutRecordVO.setEndTime(storeInOutListDto.getEndTime());
        inOutRecordVO.setName(storeInOutListDto.getCode());
 
        PaginationVO pageVo = new PaginationVO();
        pageVo.setOffset((storeInOutListDto.getPageNum() - 1) * storeInOutListDto.getPageSize());
        pageVo.setLimit(storeInOutListDto.getPageSize());
        List<StoreInOutRecordVO> dataList =sysStoreInfoDao.findStoreInOutRecord(inOutRecordVO,pageVo);
        List<StoreInOutListVo> list = SysStoreInfoMapper.INSTANCE.recordVosToInOutListVos(dataList);
        return AjaxResult.buildSuccessInstance(list,sysStoreInfoDao.findStoreInOutTotal(inOutRecordVO));
    }
 
}