111
k94314517
2023-09-13 6252abae2d37cbf7ae4e2eb6411170f440657e12
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
package doumeemes.service.ext.impl;
 
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import doumeemes.core.constants.ResponseStatus;
import doumeemes.core.exception.BusinessException;
import doumeemes.core.model.LoginUserInfo;
import doumeemes.core.model.PageData;
import doumeemes.core.model.PageWrap;
import doumeemes.core.utils.Constants;
import doumeemes.dao.business.WTransferDetailMapper;
import doumeemes.dao.ext.WTransferDetailExtMapper;
import doumeemes.dao.ext.WTransferExtMapper;
import doumeemes.dao.ext.beanDto.QueryWTransferDto;
import doumeemes.dao.ext.dto.QueryWTransferExtDTO;
import doumeemes.dao.ext.vo.WTransferExtListVO;
import doumeemes.dao.ext.vo.WTransferListCountVO;
import doumeemes.service.ext.WTransferExtService;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.util.List;
 
/**
 * 换库单信息Service实现
 * @author 江蹄蹄
 * @date 2022/04/20 10:56
 */
@Service
public class WTransferExtServiceImpl implements WTransferExtService {
 
    @Autowired
    private WTransferExtMapper wTransferExtMapper;
 
    @Autowired
    private WTransferDetailMapper wTransferDetailMapper;
 
    @Autowired
    private WTransferDetailExtMapper wTransferDetailExtMapper;
 
    @Override
    public PageData<WTransferExtListVO> findPage(PageWrap<QueryWTransferExtDTO> pageWrap) {
        PageHelper.startPage(pageWrap.getPage(), pageWrap.getCapacity());
        List<WTransferExtListVO> result = wTransferExtMapper.selectList(pageWrap.getModel());
        return PageData.from(new PageInfo<>(result));
    }
 
    @Override
    public PageData<WTransferExtListVO> findListPage(PageWrap<QueryWTransferDto> pageWrap) {
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        if(!Constants.equalsInteger(user.getType(),Constants.USERTYPE.COM)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "对不起,您无权限进行该操作!");
        }
        //只能查看当前根组织的数据
        pageWrap.getModel().setRootDepartId(user.getRootDepartment().getId());
        pageWrap.getModel().setDepartId(user.getCurComDepartment().getId());
        //数据权限
        List<Integer> dataPermission = user.getDepartPermissionList();
        if(dataPermission!=null){
            pageWrap.getModel().setCreateUser(user.getId());
            if(dataPermission.size() == 0){
                //只能看自己的(生产人员信息)
                pageWrap.getModel().setProUserId(user.getId());
            }else{
                //否则走数据权限
                pageWrap.getModel().setDepartIds(dataPermission);
            }
        }
        PageHelper.startPage(pageWrap.getPage(), pageWrap.getCapacity());
        List<WTransferExtListVO> result = wTransferExtMapper.selectAdminList(pageWrap.getModel());
        //存入物料信息
        result.forEach(i->{
            i.setWTransferDetailList(wTransferDetailExtMapper.wTransferDetailListById(i.getId()));
        });
        return PageData.from(new PageInfo<>(result));
    }
 
    @Override
    public WTransferListCountVO pageCount(QueryWTransferDto param){
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        if(!Constants.equalsInteger(user.getType(),Constants.USERTYPE.COM)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "对不起,您无权限进行该操作!");
        }
        //只能查看当前根组织的数据
        param.setRootDepartId(user.getRootDepartment().getId());
        param.setDepartId(user.getCurComDepartment().getId());
        //数据权限
        List<Integer> dataPermission = user.getDepartPermissionList();
        if(dataPermission!=null){
            if(dataPermission.size() == 0){
                //只能看自己的(生产人员信息)
                param.setProUserId(user.getId());
            }else{
                //否则走数据权限
                param.setDepartIds(dataPermission);
            }
        }
        WTransferListCountVO result = new WTransferListCountVO();
        //全部数量
        result.setAllNum(wTransferExtMapper.selectCount(param));
        //未完成数量
        param.setStatus(Constants.ZERO);
        result.setStartNum(wTransferExtMapper.selectCount(param));
        //已转出数量
        param.setStatus(Constants.ONE);
        result.setOutNum(wTransferExtMapper.selectCount(param));
        //已转入数量
        param.setStatus(Constants.TWO);
        result.setInNum(wTransferExtMapper.selectCount(param));
        //已取消数量
        param.setStatus(3);
        result.setCancelNum(wTransferExtMapper.selectCount(param));
        return result;
    }
}