package com.ruoyi.basicData.service; import com.ruoyi.basicData.domain.TCorps; import com.ruoyi.basicData.domain.TWarehouseArea; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.TreeSelect; import com.ruoyi.common.core.domain.entity.TWarehouse; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.warehouseBusiness.domain.TWarehouseBills; import com.ruoyi.warehouseBusiness.domain.dto.WarehouseSubmitDTO; import com.ruoyi.warehouseBusiness.domain.vo.WarehouseInfoVO; import com.ruoyi.warehouseBusiness.request.InventoryQueryRequest; import com.ruoyi.warehouseBusiness.response.InventoryQueryResponse; import com.ruoyi.warehouseBusiness.response.InventoryQueryTwoResponse; import org.springframework.web.multipart.MultipartFile; import java.util.List; import java.util.Map; /** * 仓库Service接口 * * @author ruoyi * @date 2020-12-11 */ public interface ITWarehouseService { /** * 查询仓库 * * @param fId 仓库ID * @return 仓库 */ public WarehouseInfoVO selectTWarehouseById(Long fId); public Map selectTWarehouseById1(Long fId); /** * 查询仓库列表 * * @param tWarehouse 仓库 * @return 仓库集合 */ public List selectTWarehouseList(TWarehouse tWarehouse); public List selectTWarehouseListAll(TWarehouse tWarehouse); public List selectTWarehouseLists(TWarehouse tWarehouse); public List> appGetWarehouseList(); /** * 新增仓库 * * @param tWarehouse 仓库 * @return 结果 */ public int insertTWarehouse(TWarehouse tWarehouse); public AjaxResult insertTWarehouse1(String tWarehouse, String tWarehouseArea, LoginUser loginUser); /** * 修改仓库 * * @param tWarehouse 仓库 * @return 结果 */ public AjaxResult updateTWarehouse(TWarehouse tWarehouse); public int updateTWarehouses(TWarehouse tWarehouse); /** * 批量删除仓库 * * @param fIds 需要删除的仓库ID * @return 结果 */ public AjaxResult deleteTWarehouseByIds(Long[] fIds); /** * 删除仓库信息 * * @param fId 仓库ID * @return 结果 */ public int deleteTWarehouseById(Long fId); /** * 检验编号唯一 * * @return */ public String checkUFNoUnique(TWarehouse tWarehouse); /** * 检验编号名称 * * @return */ public String checkUFNnameUnique(TWarehouse tWarehouse); /** * 检验编号地址 * * @return */ public String checkUFAaddrUnique(TWarehouse tWarehouse); /** * 检验编号唯一 * * @return */ public String checkUFTWarehouseAreaNoUnique(TWarehouseArea tWarehouseAreas); /** * 检验编号名称 * * @return */ public String checkUTWarehouseAreaFNnameUnique(TWarehouseArea tWarehouseAreas); /** * 根据ID查询所有子部门(正常状态) * * @param fId fID * @return 子部门数 */ public int selectNormalChildrenDeptById(Long fId); /** * 构建前端所需要下拉树结构 * * @param tWarehouses 部门列表 * @return 下拉树结构列表 */ public List buildDeptTreeSelect(List tWarehouses); /** * 构建前端所需要树结构 * * @param depts 部门列表 * @return 树结构列表 */ public List buildDeptTree(List depts); /** * 检验是否可添加库区 * * @return */ public String checkUFAreUnique(TWarehouse tWarehouse); public String checkNameUnique(TWarehouse tWarehouse); /** * 是否存在部门子节点 * * @param fId 部门ID * @return 结果 */ public boolean hasChildByfId(Long fId); /** * 查询部门是否存在用户 * * @param deptId 部门ID * @return 结果 true 存在 false 不存在 */ public boolean checkDeptExistWarehouse(Long deptId); public boolean checkDeptExistWarehouseItems(Long deptId); /** * 新增仓库 * * @param tWarehouse * @return */ AjaxResult warehouseSubmit(WarehouseSubmitDTO tWarehouse); /** * 修改仓库 * * @param tWarehouse * @return */ AjaxResult edit(WarehouseSubmitDTO tWarehouse); /** * 仓库懒加载列表 * * @param tWarehouse * @return */ List lazyList(TWarehouse tWarehouse); TWarehouse selectByCode(String position); /** * 查询货物台账 */ List> queryGoodsAccountByPageV1(String warehouseCode, String ownerSocialIdentifier, String ownerCode, String ownerName, String goodsName, String specifications, String producing, String materialQuality, String level, Integer pageNo, Integer pageSize,String lockStatus); /** * 查询台账明细 */ List> queryGoodsAccountDetailByPageV1(String warehouseCode,String ownerName,String ownerCode,String ownerSocialIdentifier, String goodsName,String specifications, String producing,String materialQuality,String level, String receiptDoc,String billOfLading, String areaName,String areaCode,String slotName,String slotCode,String goodsCode,Integer pageNo,Integer pageSize,String lockStatus); /** * 获取仓库详细信息 */ TWarehouse getWareHouseInfo(String wareHouseId); /** * 获取最新的库存数据 */ Map getStorageInfo(String wareHouseId); /** * 库存吞吐趋势信息 */ List> getTimeStorageInfo(String wareHouseId, String startTime, String endTime); /** * 库存吞吐趋势信息 */ List> getTimeThroughputInfo(String wareHouseId, String startTime, String endTime); /** * 货物保管信息 */ Map getCargoInfo(String wareHouseId, String startTime, String endTime, String isPledge); /** * 货物保管信息 */ List> getGoodsList(String wareHouseId, String startTime, String endTime); /** * 仓库保管趋势 */ List> getCargoInfoTrend(String wareHouseId, String startTime, String endTime, String FTradeModeId); /** * 获取货物品类top值 */ List> getStorageTop(String wareHouseId, Integer countType, Integer topCnt); /** * 获取货物品类top值 */ List> getStorageTopS(String wareHouseId, Integer countType, Integer topCnt); /** * 获取货主仓库top值 */ List> getGoodsTop(String wareHouseId, Integer countType, Integer topCnt); /** * 过户交易信息获取 */ List> getTransferTransaction(String wareHouseId, String startTime, String endTime); /** * 最新的作业统计 */ Map getWorkInfo(String wareHouseId, String countType); /** * 作业统计趋势数据 */ List> getWorkTrend(String wareHouseId, String startTime, String endTime, String countType); /** * 获取仓库详细信息 */ List inventoryQueries(InventoryQueryRequest inventoryQueryRequest); /** * 获取仓库详细信息 */ List inventoryQueriesV2(InventoryQueryRequest inventoryQueryRequest, Integer queryAll); /** * 仓单注册指令 */ public int receiptRegister(String ownerName, String identifier, String numbers); /** * 客户检验指令 */ public TCorps verification(String name, String identifier); /** * 仓单过户指令 */ public int receiptTransfer(TWarehouseBills warehouseBills); /** * 仓单解锁指令 */ public int receiptCancel(String ownerName, String identifier, String numbers); /** * 根据用户绑定的仓库查询仓库下拉 */ List nominateTreeselect(TWarehouse tWarehouse); AjaxResult importTWarehouse(MultipartFile file,Long parentId); }