无关风月
2025-02-28 2f8e70ad2884d2b6b7443dfae0af11ae9cfc8b99
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
package com.jilongda.manage.service.impl;
 
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.jilongda.common.basic.PageInfo;
import com.jilongda.manage.mapper.TFrameWarehousingDetailMapper;
import com.jilongda.manage.mapper.TLensWarehousingDetailMapper;
import com.jilongda.manage.mapper.TStoreMapper;
import com.jilongda.manage.model.TFrameWarehousingDetail;
import com.jilongda.manage.model.TLensWarehousingDetail;
import com.jilongda.manage.model.TStore;
import com.jilongda.manage.model.TWarehousing;
import com.jilongda.manage.mapper.TWarehousingMapper;
import com.jilongda.manage.query.TWarehousingDetailLensQuery;
import com.jilongda.manage.query.TWarehousingDetailQuery;
import com.jilongda.manage.service.TLensWarehousingDetailService;
import com.jilongda.manage.service.TWarehousingService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jilongda.manage.vo.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
 
/**
 * <p>
 * 镜架/镜片出库入库表 服务实现类
 * </p>
 *
 * @author 无关风月
 * @since 2024-12-09
 */
@Service
public class TWarehousingServiceImpl extends ServiceImpl<TWarehousingMapper, TWarehousing> implements TWarehousingService {
 
    @Autowired
    private TStoreMapper storeMapper;
    @Autowired
    private TFrameWarehousingDetailMapper frameWarehousingDetailMapper;
    @Autowired
    private TLensWarehousingDetailMapper lensWarehousingDetailMapper;
 
    @Override
    public PageInfo<TFrameWarehousingDetailVO> detailList(TWarehousingDetailQuery query) {
        PageInfo<TFrameWarehousingDetailVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TFrameWarehousingDetailVO> list = frameWarehousingDetailMapper.pageList(query,pageInfo);
        List<Integer> storeIds = list.stream().map(TFrameWarehousingDetailVO::getStoreId).collect(Collectors.toList());
        List<TStore> stores = new ArrayList<>();
        if(CollectionUtils.isNotEmpty(storeIds)){
            stores = storeMapper.selectList(Wrappers.lambdaQuery(TStore.class)
                    .in(TStore::getId,storeIds));
        }
        for (TFrameWarehousingDetailVO tFrameWarehousingDetailVO : list) {
            if (tFrameWarehousingDetailVO.getOrderId()!=null){
                tFrameWarehousingDetailVO.setStatus(5);
            }
            if(CollectionUtils.isNotEmpty(stores)){
                TStore store = stores.stream().filter(tStore -> tStore.getId().equals(tFrameWarehousingDetailVO.getStoreId())).findFirst().orElse(null);
                if(Objects.nonNull(store)){
                    tFrameWarehousingDetailVO.setStoreName(store.getName());
                }
            }
//            tFrameWarehousingDetailVO.setStatus();
        }
        pageInfo.setRecords(list);
        return pageInfo;
    }
    @Override
    public PageInfo<TLensWarehousingDetailVO> detailListLens(TWarehousingDetailLensQuery query) {
        PageInfo<TLensWarehousingDetailVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TLensWarehousingDetailVO> list = lensWarehousingDetailMapper.pageLensList(query,pageInfo);
        List<Integer> storeIds = list.stream().map(TLensWarehousingDetailVO::getStoreId).collect(Collectors.toList());
        List<TStore> stores = new ArrayList<>();
        if(CollectionUtils.isNotEmpty(storeIds)){
            stores = storeMapper.selectList(Wrappers.lambdaQuery(TStore.class)
                    .in(TStore::getId,storeIds));
        }
        for (TLensWarehousingDetailVO tLensWarehousingDetailVO : list) {
            if(CollectionUtils.isNotEmpty(stores)){
                TStore store = stores.stream().filter(tStore -> tStore.getId().equals(tLensWarehousingDetailVO.getStoreId())).findFirst().orElse(null);
                if(Objects.nonNull(store)){
                    tLensWarehousingDetailVO.setStoreName(store.getName());
                }
            }
        }
        pageInfo.setRecords(list);
        return pageInfo;
    }
 
    @Override
    public PageInfo<TWarehousingVO> inventoryReceiptList(TWarehousingDetailQuery query) {
        PageInfo<TWarehousingVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TWarehousingVO> list = this.baseMapper.inventoryReceiptList(query,pageInfo);
        List<TStore> stores = storeMapper.selectList(Wrappers.lambdaQuery(TStore.class)
                .in(TStore::getId, list.stream().map(TWarehousingVO::getStoreId).collect(Collectors.toList())));
        for (TWarehousingVO tWarehousingVO : list) {
            List<TFrameWarehousingDetail> tFrameWarehousingDetails = frameWarehousingDetailMapper.selectList(Wrappers.lambdaQuery(TFrameWarehousingDetail.class)
                    .eq(TFrameWarehousingDetail::getWarehousingId, tWarehousingVO.getId()));
            if(CollectionUtils.isNotEmpty(tFrameWarehousingDetails)){
                tWarehousingVO.setTotalNum(tFrameWarehousingDetails.stream().mapToInt(TFrameWarehousingDetail::getTotal).sum());
            }
            stores.stream().filter(tStore -> tStore.getId().equals(tWarehousingVO.getStoreId())).findFirst().ifPresent(tStore -> {
                tWarehousingVO.setStoreName(tStore.getName());
            });
        }
        pageInfo.setRecords(list);
        return pageInfo;
    }
 
    @Override
    public PageInfo<TWarehousingLensVO> inventoryReceiptLensList(TWarehousingDetailLensQuery query) {
        PageInfo<TWarehousingLensVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TWarehousingLensVO> list = this.baseMapper.inventoryReceiptLensList(query,pageInfo);
        for (TWarehousingLensVO tWarehousingVO : list) {
            List<TLensWarehousingDetail> lensWarehousingDetails = lensWarehousingDetailMapper.selectList(Wrappers.lambdaQuery(TLensWarehousingDetail.class)
                    .eq(TLensWarehousingDetail::getWarehousingId, tWarehousingVO.getId()));
            if(CollectionUtils.isNotEmpty(lensWarehousingDetails)){
                tWarehousingVO.setTotalNum(lensWarehousingDetails.stream().mapToInt(TLensWarehousingDetail::getTotal).sum());
            }
        }
        pageInfo.setRecords(list);
        return pageInfo;
    }
 
 
}