111
k94314517
2023-08-18 3d75411e392b483d9b2ab322e2dd0005027e28d2
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
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
package doumeemes.service.ext.impl;
 
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.model.WOutboundDetail;
import doumeemes.dao.ext.WOutboundDetailExtMapper;
import doumeemes.dao.ext.bean.FinishedInBillBean;
import doumeemes.dao.ext.beanDto.QueryWOutBoundDto;
import doumeemes.dao.ext.beanDto.QueryWSOutBoundDto;
import doumeemes.dao.ext.dto.QueryNoticesExtDTO;
import doumeemes.dao.ext.dto.QueryWOutboundExtDTO;
import doumeemes.dao.ext.vo.NoticeExtListCountVO;
import doumeemes.dao.ext.vo.WOutboundExtListVO;
import doumeemes.dao.ext.vo.WOutboundListCountVO;
import doumeemes.dao.ext.vo.WorkOrderOutboundExtListVO;
import doumeemes.service.ext.WOutboundExtService;
import doumeemes.dao.ext.WOutboundExtMapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Param;
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:57
 */
@Service
public class WOutboundExtServiceImpl implements WOutboundExtService {
 
    @Autowired
    private WOutboundExtMapper wOutboundExtMapper;
 
    @Autowired
    private WOutboundDetailExtMapper wOutboundDetailExtMapper;
 
    @Override
    public PageData<WOutboundExtListVO> findPage(PageWrap<QueryWOutboundExtDTO> pageWrap) {
        PageHelper.startPage(pageWrap.getPage(), pageWrap.getCapacity());
        List<WOutboundExtListVO> result = wOutboundExtMapper.selectList(pageWrap.getModel());
        return PageData.from(new PageInfo<>(result));
    }
 
 
    @Override
    public PageData<WOutboundExtListVO> findListPage(PageWrap<QueryWOutBoundDto> 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<WOutboundExtListVO> result = wOutboundExtMapper.selectAdminList(pageWrap.getModel());
        result.forEach(i->{
            //判断当前状态,根据状态获取明细记录 若是已取消业务,查询 0
            Integer status = i.getStatus();
            if(i.getStatus()==2){
                status = 0 ;
            }
            i.setWOutboundDetails(wOutboundDetailExtMapper.wOutboundDetailListById(i.getId(),status));
        });
        return PageData.from(new PageInfo<>(result));
    }
 
 
    @Override
    public List<WOutboundExtListVO> listForExcel(QueryWOutBoundDto queryWOutBoundDto) {
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        if(!Constants.equalsInteger(user.getType(),Constants.USERTYPE.COM)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "对不起,您无权限进行该操作!");
        }
        //只能查看当前根组织的数据
        queryWOutBoundDto.setRootDepartId(user.getRootDepartment().getId());
        queryWOutBoundDto.setDepartId(user.getCurComDepartment().getId());
        //数据权限
        List<Integer> dataPermission = user.getDepartPermissionList();
        if(dataPermission!=null){
            queryWOutBoundDto.setCreateUser(user.getId());
            if(dataPermission.size() == 0){
                //只能看自己的(生产人员信息)
                queryWOutBoundDto.setProUserId(user.getId());
            }else{
                //否则走数据权限
                queryWOutBoundDto.setDepartIds(dataPermission);
            }
        }
        List<WOutboundExtListVO> result = wOutboundExtMapper.selectAdminList(queryWOutBoundDto);
        return result;
    }
 
 
    @Override
    public WOutboundListCountVO pageCount(QueryWOutBoundDto 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);
            }
        }
        WOutboundListCountVO result = new WOutboundListCountVO();
        //全部数量
        result.setAllNum(wOutboundExtMapper.selectCount(param));
        //未完成数量
        param.setStatus(Constants.ZERO);
        result.setStartNum(wOutboundExtMapper.selectCount(param));
        //已完成数量
        param.setStatus(Constants.ONE);
        result.setEndNum(wOutboundExtMapper.selectCount(param));
        //已取消数量
        param.setStatus(Constants.TWO);
        result.setCancelNum(wOutboundExtMapper.selectCount(param));
        return result;
    }
 
 
    /**
     * 完工入库使用 根据入库货位筛选 13 件小时内,设备对应货位的转库单入库后产生的入库单记录
     * @param inLocationIds
     * @return
     */
    @Override
    public  List<FinishedInBillBean> finishedInBill(String inLocationIds,String inIds){
        return wOutboundExtMapper.finishedInBill(inLocationIds,inIds);
    }
 
 
 
    @Override
    public PageData<WorkOrderOutboundExtListVO> workOrderOutList(PageWrap<QueryWSOutBoundDto> 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());
        PageHelper.startPage(pageWrap.getPage(), pageWrap.getCapacity());
        List<WorkOrderOutboundExtListVO> result = wOutboundExtMapper.workOrderOutList(pageWrap.getModel());
        return PageData.from(new PageInfo<>(result));
    }
 
 
    @Override
    public List<WorkOrderOutboundExtListVO> workOrderOutListForExcel(QueryWSOutBoundDto queryWSOutBoundDto) {
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        if(!Constants.equalsInteger(user.getType(),Constants.USERTYPE.COM)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "对不起,您无权限进行该操作!");
        }
        //只能查看当前根组织的数据
        queryWSOutBoundDto.setRootDepartId(user.getRootDepartment().getId());
        queryWSOutBoundDto.setDepartId(user.getCurComDepartment().getId());
        List<WorkOrderOutboundExtListVO> result = wOutboundExtMapper.workOrderOutList(queryWSOutBoundDto);
        return result;
    }
 
 
}