123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463 |
- package com.ruoyi.ams.inv.service;
- import java.math.BigDecimal;
- import java.util.List;
- import com.ruoyi.ams.asn.vo.StockingListVO;
- import com.ruoyi.ams.config.domain.dto.AgvCallDTO;
- import com.ruoyi.ams.config.domain.dto.LotattDTO;
- import com.ruoyi.ams.inv.domain.InvLotAtt;
- import com.ruoyi.ams.inv.domain.InvLotLocId;
- import com.ruoyi.ams.inv.domain.form.InvLocIdSearchFrom;
- import com.ruoyi.ams.inv.domain.form.InvLotLocIdAdjForm;
- import com.ruoyi.ams.inv.domain.form.InvLotLocIdForm;
- import com.ruoyi.ams.inv.domain.form.InvLotLocIdMoveForm;
- import com.ruoyi.ams.inv.domain.vo.InvLotLocIdLotattVO;
- import com.ruoyi.ams.inv.dto.InvLotLocIdSurplusQtyDTO;
- import com.ruoyi.ams.order.form.LineReleaseFrom;
- import com.ruoyi.base.domain.BaseLocationInfo;
- import com.ruoyi.base.domain.form.BasLocationForm;
- import com.ruoyi.base.domain.vo.BaseLocationLotattVO;
- import com.ruoyi.common.core.domain.AjaxResult;
- import org.apache.ibatis.annotations.Param;
- /**
- * 库位库存信息Service接口
- *
- * @author andy
- * @date 2022-03-03
- */
- public interface IInvLotLocIdService {
- /**
- * 查询库位库存信息
- *
- * @param lotnum 库位库存信息主键
- * @return 库位库存信息
- */
- List<InvLotLocId> selectInvLotLocIdByLotnum(String lotnum);
- /**
- * 根据主键查询
- *
- * @param locationId
- * @param customerId
- * @param sku
- * @param lotnum
- * @return
- */
- InvLotLocId selectInvLotLocIdById(String locationId, String customerId, String sku, String lotnum);
- /**
- * 查询库位库存信息列表
- *
- * @param locationId
- * @return
- */
- List<InvLotLocId> selectInvLotLocIdList(Long locationId);
- /**
- * 查询库位库存信息列表
- *
- * @param invLotLocId 库位库存信息
- * @return 库位库存信息集合
- */
- List<InvLotLocId> selectInvLotLocIdList(InvLotLocId invLotLocId);
- /**
- * 查询物料批次信息列表
- *
- * @param invLocIdSearchFrom
- * @return
- */
- List<InvLotLocIdLotattVO> selectInvLocIdLotattList(InvLocIdSearchFrom invLocIdSearchFrom);
- /**
- * 查询库位库存信息
- *
- * @param invLotLocId 库位库存信息
- * @return 库位库存信息集合
- */
- InvLotLocId selectInvLotLocIdByModel(InvLotLocId invLotLocId);
- /**
- * 库存调整
- *
- * @return
- */
- AjaxResult adj(InvLotLocIdAdjForm invLotLocIdAdjForm);
- /**
- * 库存移动
- *
- * @return
- */
- AjaxResult move(InvLotLocIdMoveForm invLotLocIdMoveForm);
- /**
- * 库存移动(直接转移库存)
- *
- * @param invLotLocIdMoveForm
- * @return
- */
- AjaxResult moveDirect(InvLotLocIdMoveForm invLotLocIdMoveForm);
- /**
- * 库存移动(根据托盘
- *
- * @param palletNo
- * @param locationTo
- * @param isCallCar
- * @param reason
- * @param warehouseId
- * @param updateBy
- * @return
- */
- AjaxResult movePalletTo(String palletNo, String locationTo, String isCallCar, String reason
- , Long warehouseId, String updateBy);
- /**
- * 库存清理
- *
- * @return
- */
- AjaxResult clear(String locationId, Long warehouseId, String updateBy);
- /**
- * 库存清理
- *
- * @param locationId
- * @param palletNo
- * @param warehouseId
- * @param updateBy
- * @return
- */
- AjaxResult clear(Long locationId,String palletNo,Long warehouseId, String updateBy);
- /**
- * 清除0库存
- *
- * @param locationId
- * @return
- */
- AjaxResult clearZeroInventory(String locationId, String customerId, String sku, String lotnum);
- /**
- * 库位任务状态调整
- *
- * @return
- */
- AjaxResult adjLocationStockStatus(String locationId, Long warehouseId, String updateBy);
- /**
- * 库存是否有货状态调整
- *
- * @return
- */
- AjaxResult adjLocationIsEmpty(String locationId, Long warehouseId, String updateBy);
- /**
- * 新增库位库存信息
- *
- * @param invLotLocId 库位库存信息
- * @return 结果
- */
- int insertInvLotLocId(InvLotLocId invLotLocId);
- /**
- * 修改库位库存信息
- *
- * @param invLotLocId 库位库存信息
- * @return 结果
- */
- int updateInvLotLocId(InvLotLocId invLotLocId);
- /**
- * 修改库位库存信息的某个字段为空
- *
- * @param
- * @return
- */
- int updateInvLotLocIdLotatt14IsNull(String lotnum);
- /**
- * 修改库位库存信息的某个字段为空
- *
- * @return
- */
- int updateInvLotLocIdLotatt15IsNull(String lotnum);
- /**
- * 批量删除库位库存信息
- *
- * @param lotnums 需要删除的库位库存信息主键集合
- * @return 结果
- */
- int deleteInvLotLocIdByLotnums(String[] lotnums);
- /**
- * 删除库位库存信息信息
- *
- * @param lotnum 库位库存信息主键
- * @return 结果
- */
- int deleteInvLotLocIdByLotnum(String lotnum);
- /**
- * 删除库位库存信息信息
- *
- * @param locId 库位库存信息主键
- * @return 结果
- */
- int deleteInvLotLocIdById(long locId);
- /**
- * 删除库位库存信息信息
- *
- * @param
- * @return
- */
- int deleteInvLotLocIdById(String locationId, String customerId, String sku, String lotnum);
- /**
- * 初始化库存
- *
- * @param locationFrom 库存所在库位
- * @param sku 物料编号
- * @param customerId 所属货主(未使用)
- * @param qty 数量
- * @param lotattDTO 批次属性
- * @param qtyallocated 指定已分配数量
- * @return 生成的lotnum
- */
- String initInv(String locationFrom, String sku, String customerId, Double qty, LotattDTO lotattDTO, BigDecimal qtyallocated);
- /**
- * 初始化库存 完全分配
- *
- * @param locationFrom
- * @param sku
- * @param customerId
- * @param qty
- * @param lotattDTO
- * @return
- */
- String initInvAllAct(String locationFrom, String sku, String customerId, Double qty, LotattDTO lotattDTO);
- /**
- * 初始化库存
- *
- * @param locationId
- * @param agvCallDTO
- * @return
- */
- String initInv(String locationId, AgvCallDTO agvCallDTO);
- /**
- * 根据库位id查询库位库存包含批次属性
- *
- * @param locationId
- * @return
- */
- List<InvLotLocIdLotattVO> selectInvLocIdLotattByLocationId(Long locationId);
- /**
- * 库存转移
- *
- * @param locationFrom 起始点位
- * @param palletNo 托盘编号
- * @param locationTo 目标点位
- * @return
- */
- int stockTransfer(Long locationFrom, String palletNo, Long locationTo);
- /**
- * 库存按数量转移(根据托盘编号)
- *
- * @param palletNoTo 目标托盘
- * @param qty 需要拣出的数量
- * @param fromQtyAtt 起始库位库存的批次属性
- * @return
- */
- AjaxResult invTransferPick(LotattDTO fromQtyAtt, BigDecimal qty, String palletNoTo);
- /**
- * 根据物料编号和批次属性查询库存数量
- *
- * @param sku
- * @param lotattDTO
- * @return
- */
- Double queryInvBySku(String sku, LotattDTO lotattDTO, List<String> zoneIdList);
- /**
- * 根据出库单明细查询库存
- *
- * @param lotnum
- * @param sku
- * @param location
- * @param customerId
- * @return
- */
- List<InvLotLocIdForm> queryInvOrderBy(String lotnum, String sku, String location, String customerId, LotattDTO lotattDTO);
- /**
- * 根据托盘号查询库存
- *
- * @param invLotAtt
- * @return
- */
- List<InvLotLocId> queryInvByInvLotatt(InvLotAtt invLotAtt);
- /**
- * 查询已备货的满托库存
- *
- * @param orderNo
- * @param sku
- * @return
- */
- List<InvLotLocId> queryInvByFull(String orderNo, String sku);
- /**
- * 根据托盘解绑库存
- *
- * @param palletNo
- * @return
- */
- AjaxResult unLockInvByPalletNo(String palletNo, String sn);
- /**
- * 库存转移部分
- *
- * @param locationFrom
- * @param locationTo
- * @param lotnum
- * @param qty
- * @param boxNo
- * @return
- */
- AjaxResult stockTransferPick(Long locationFrom, Long locationTo, String lotnum, BigDecimal qty, String boxNo);
- /**
- * 保存或者更新
- *
- * @param invLotLocId
- * @return
- */
- AjaxResult saveOrUpdate(InvLotLocId invLotLocId);
- /**
- * PDA库位移动到分拣区
- * 1,释放的是出库位,移动出库位库存至分拣缓存位
- */
- AjaxResult releaseLocation(String locationFrom,Long locationTo, Long warehouseId, String updateBy);
- /**
- * PDA出库位置释放
- *
- * @param basLocationForm
- * @return
- */
- AjaxResult locationRelease(BasLocationForm basLocationForm);
- /**
- * PDA线边库位置释放
- *
- * @param lineReleaseFrom
- * @return
- */
- AjaxResult locationReleaseLine(LineReleaseFrom lineReleaseFrom);
- /**
- * 备货组盘的时候,一个托盘只能备货一个出库单
- *
- * @param palletNoTo
- * @param orderNo
- * @return false代表托盘上已经备货了出库单
- */
- AjaxResult checkPalletIsOnlyOrderNo(String palletNoTo,String orderNo);
- /**
- * 清空库存lotatt15(分配出库单号)根据托盘号
- *
- * @param palletNo
- * @return
- */
- AjaxResult clearInvActOrderNoByPalletNo(String palletNo);
- /**
- * 根据库位将对应库存批次lotatt15改为出库单号
- *
- * @param locationId
- * @param orderNo
- * @return
- */
- AjaxResult updateLotatt15ByLocationId(String locationId,String orderNo);
- /**
- * 根据lotnum将对应库存批次lotatt15改为出库单号
- *
- * @param lotnum
- * @param orderNo
- * @return
- */
- AjaxResult updateLotatt15ByLotnum(String lotnum,String orderNo);
- /**
- * 根据多sku获取库位库存信息,并获取每个库位剩余库存
- * @param skuList
- * @return
- */
- List<InvLotLocIdSurplusQtyDTO> buildInvLotLocIdSurplusQtyDTOList(List<String> skuList);
- /**
- * 根据批次lotnum查询对应库存库位信息
- * @param lotnumList
- * @return
- */
- List<InvLotLocId> queryInvLotLocIdByLotnum(List<String> lotnumList);
- /**
- * 修改库位库存信息
- * @param lotNum
- * @param qtyAllocated
- * @param sku
- * @return
- */
- Boolean updateInvLotLocId(String lotNum, BigDecimal qtyAllocated, String sku);
- /**
- * 修改库位库存信息
- * @param lotNum
- * @param lotNumTo
- * @param qty
- * @param sku
- * @param locationId
- * @return
- */
- Boolean updateInvLotLocId(String lotNum, String lotNumTo, BigDecimal qty, String sku, String locationId);
- /**
- * 修改库位库存主键以及库位id
- * @param lotNum
- * @param lotNumTo
- * @param locationId
- * @param qtyAllocated
- * @return
- */
- Boolean updateInvLotLocIdLotNum(String lotNum, String lotNumTo, String locationId, BigDecimal qtyAllocated);
- /**
- * 修改库位库存信息
- * @param lotNum
- * @param lotNumTo
- * @param qty
- * @param qtyAllocated
- * @param sku
- * @param locationId
- * @return
- */
- Boolean updateInvLotLocId(String lotNum, String lotNumTo, BigDecimal qty, BigDecimal qtyAllocated, String sku, String locationId);
- }
|