package com.chinaztt.mes.warehouse.service;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.chinaztt.mes.basic.entity.Location;
|
import com.chinaztt.mes.warehouse.dto.FeedingStockDTO;
|
import com.chinaztt.mes.warehouse.dto.IfsMoveLibraryInfoDTO;
|
import com.chinaztt.mes.warehouse.dto.MoveLibraryBoxDTO;
|
import com.chinaztt.mes.warehouse.dto.StockDTO;
|
import com.chinaztt.mes.warehouse.entity.JoinStockOrder;
|
import com.chinaztt.mes.warehouse.entity.Stock;
|
import com.chinaztt.mes.warehouse.entity.Transaction;
|
import com.chinaztt.mes.warehouse.excel.StockData;
|
import com.chinaztt.ztt.common.core.util.R;
|
|
import java.math.BigDecimal;
|
import java.util.List;
|
|
/**
|
* 库存表
|
*
|
* @author cxf
|
* @date 2020-10-22 16:37:46
|
*/
|
public interface StockService extends IService<Stock> {
|
|
/**
|
* PDA查询所有
|
*
|
* @param gen
|
* @return
|
*/
|
List<JSONObject> pdaList(QueryWrapper<FeedingStockDTO> gen);
|
|
/**
|
* 分页查询
|
*
|
* @param page
|
* @param gen
|
* @param stockDTO
|
* @return
|
*/
|
IPage<StockDTO> getStockPage(Page page, QueryWrapper<StockDTO> gen);
|
|
/**
|
* 实时库存分页查询
|
*
|
* @param page
|
* @param gen
|
* @param stockDTO
|
* @return
|
*/
|
IPage<StockDTO> getRealTimeStockPage(Page page, QueryWrapper<StockDTO> gen,StockDTO stockDTO);
|
|
/**
|
* 根据sn号获取库存明细
|
*
|
* @param partBatchNo
|
* @return
|
*/
|
List<StockDTO> getStockBySn(String partBatchNo);
|
|
|
/**
|
* 部分分页查询
|
*
|
* @param gen
|
* @return
|
*/
|
List<FeedingStockDTO> getFeedingStock(Long workstationId, QueryWrapper<FeedingStockDTO> gen);
|
|
/**
|
* 分页查询
|
*
|
* @param page
|
* @param gen
|
* @param partId
|
* @return
|
*/
|
IPage<List<StockDTO>> getStockByPartIdPage(Page page, QueryWrapper<StockDTO> gen, Long partId);
|
|
/**
|
* 根据工作站id查询线边仓 预留物料为0
|
*
|
* @param gen
|
* @return
|
*/
|
IPage<List<StockDTO>> getStockByWorkstationId(Page page, QueryWrapper<StockDTO> gen);
|
|
/**
|
* 根据工作站id查询线边仓待处理物料
|
*
|
* @param gen
|
* @return
|
*/
|
IPage<List<StockDTO>> getToDealStockByWorkstationId(Page page, QueryWrapper<StockDTO> gen);
|
|
/**
|
* 根据库位查询零件
|
*
|
* @param ids
|
* @return
|
*/
|
List<StockDTO> getStockByLocation(List<Long> ids);
|
|
/**
|
* 导入excel数据
|
*
|
* @param list
|
*/
|
void importExcel(List<StockData> list);
|
|
/**
|
* 根据库位查询零件
|
*
|
* @param stockDTOList
|
* @return
|
*/
|
Boolean moveStock(List<StockDTO> stockDTOList);
|
|
/**
|
* 根据零件、库位和批次号筛选实时库存
|
*
|
* @param stockDTO
|
* @return
|
*/
|
List<StockDTO> getStock(StockDTO stockDTO,String condition);
|
|
/**
|
* 根据零件、库位和批次号筛选实时库存数量
|
*
|
* @param stockDTO
|
* @return
|
*/
|
Integer countStock(StockDTO stockDTO,String condition);
|
|
/**
|
* 新增实时库存
|
*
|
* @param stockDTO
|
* @return
|
*/
|
boolean fullSave(StockDTO stockDTO);
|
|
/**
|
* IFS库存发放与接收
|
* @param stockList
|
* @param adjustType
|
* @param adjustMemo
|
*/
|
void inventAdjustForRfcable(List<StockDTO> stockList, String adjustType, String reasonNo);
|
|
/**
|
* IFS WDR更新
|
*/
|
void ifsImportChangeWdrStd(List<StockDTO> stockList, String wdrNo);
|
|
/**
|
* 删除实时库存的数量
|
*
|
* @param stockDTOList
|
* @return
|
*/
|
Boolean deleteStock(List<StockDTO> stockDTOList);
|
|
/**
|
* 添加实时库存的数量
|
*
|
* @param stockDTOList
|
* @return
|
*/
|
Boolean addStock(List<StockDTO> stockDTOList);
|
|
/**
|
* 根据工单所需物料获取实时库存
|
*
|
* @param page
|
* @param gen
|
* @param operationTaskId
|
* @return
|
*/
|
IPage<List<StockDTO>> getStockPageByOperation(Page page, QueryWrapper<StockDTO> gen, Long operationTaskId);
|
|
IPage<List<StockDTO>> getStockPageByOperation(Page page, QueryWrapper<StockDTO> gen,StockDTO stockDTO, Long operationTaskId);
|
|
|
/**
|
* 根据工单所需物料获取实时库存(不分页)
|
*
|
* @param gen
|
* @param operationTaskId
|
* @return
|
*/
|
List<StockDTO> getStockListByOperation(QueryWrapper<StockDTO> gen, Long operationTaskId);
|
|
List<StockDTO> getStockListByOperation(QueryWrapper<StockDTO> gen,StockDTO stock, Long operationTaskId);
|
|
/**
|
* 预留
|
*
|
* @param joinStockOrderList
|
* @return
|
*/
|
boolean reserve(List<JoinStockOrder> joinStockOrderList);
|
|
/**
|
* 取消预留
|
*
|
* @param joinStockOrderList
|
* @return
|
*/
|
R cancelReserve(List<JoinStockOrder> joinStockOrderList);
|
|
/**
|
* 获取ifs库存
|
*
|
* @param partNo
|
* @return
|
*/
|
R getIfsStock(String partNo, JSONObject jsonObject);
|
|
/**
|
* 根据SN号获取可用实时库存对象list
|
*
|
* @param sn
|
* @return
|
*/
|
R getEnableStockObjList(String sn);
|
|
/**
|
* 获取可用库位对象list
|
*
|
* @return
|
*/
|
R getEnableLocationObjList();
|
|
/**
|
* pda提交移库请求
|
*
|
* @param moveLibraryBoxDTOList
|
* @return
|
*/
|
R pdaMoveStockSubmit(List<MoveLibraryBoxDTO> moveLibraryBoxDTOList);
|
|
/**
|
* 查找成品库位
|
* @return
|
*/
|
List<Location> getFinishProductLocation();
|
|
/**
|
* 根据SN号和零件号获取非不合格库位库存
|
* @param sn
|
* @param partNo
|
* @return
|
*/
|
List<StockDTO> getFinishProductStock(String sn, String partNo);
|
/*
|
* 根据库存no和SN号获取库存
|
*
|
* @param locationNo
|
* @param sn
|
*/
|
R getStockByLocNoAndSn(String locationNo,String sn);
|
|
|
/**
|
* 分页查询出库位尾号为001的
|
*
|
* @param page
|
* @param gen
|
* @return
|
*/
|
IPage<List<StockDTO>> getStockPageByLocNo(Page page, QueryWrapper<StockDTO> gen);
|
|
/**
|
* 库存件接收校验
|
* @param stockDTOList
|
* @return
|
*/
|
R checkWdr(List<StockDTO> stockDTOList);
|
|
/**
|
* 通过SN号查到其入库前的库位
|
* @param sn
|
* @return
|
*/
|
Transaction getTransactionBySn(String sn);
|
|
/**
|
* pda退库
|
* @param sn
|
* @param quantity
|
* @return
|
*/
|
R returnStockBySn(String sn, BigDecimal quantity);
|
|
/**
|
* ifs库存件移库
|
* @param ifsMoveLibraryInfoDTOList
|
*/
|
void ifsMoveLibrary(List<IfsMoveLibraryInfoDTO> ifsMoveLibraryInfoDTOList);
|
|
List<StockDTO> getERPStockListByOperation(String partNo,String batchNo);
|
|
R lockStore(StockDTO stockDTO);
|
R getERPStockListPageByOperation(Page page,String partNo, Integer pageIndex, Integer pageSize);
|
|
}
|