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