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;
|
}
|
}
|