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