BaseLocationInfoMapper.java 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286
  1. package com.ruoyi.base.mapper;
  2. import com.ruoyi.base.domain.BaseLocationInfo;
  3. import com.ruoyi.base.domain.dto.BaseLocationGuiDTO;
  4. import com.ruoyi.base.domain.dto.BaseLocationInfoSameColDTO;
  5. import com.ruoyi.base.domain.vo.BaseLocationLotattVO;
  6. import com.ruoyi.base.domain.vo.LotattVO;
  7. import org.apache.ibatis.annotations.Param;
  8. import java.math.BigDecimal;
  9. import java.util.List;
  10. import java.util.Map;
  11. /**
  12. * 库位信息Mapper接口
  13. *
  14. * @author andy
  15. * @date 2022-02-18
  16. */
  17. public interface BaseLocationInfoMapper {
  18. /**
  19. * 查询库位信息
  20. *
  21. * @param id 库位信息主键
  22. * @return 库位信息
  23. */
  24. BaseLocationInfo selectBaseLocationInfoById(Long id);
  25. /**
  26. * 根据库位编号查询库位信息
  27. *
  28. * @param locationNo
  29. * @param wrehouseId
  30. * @return
  31. */
  32. BaseLocationInfo selectBaseLocationInfoByLocationNo(@Param("locationNo") String locationNo, @Param("warehouseId") Long wrehouseId);
  33. /**
  34. * 查询库位信息列表
  35. *
  36. * @param baseLocationInfo 库位信息
  37. * @return 库位信息集合
  38. */
  39. List<BaseLocationInfo> selectBaseLocationInfoList(BaseLocationInfo baseLocationInfo);
  40. /**
  41. * 新增库位信息
  42. *
  43. * @param baseLocationInfo 库位信息
  44. * @return 结果
  45. */
  46. int insertBaseLocationInfo(BaseLocationInfo baseLocationInfo);
  47. /**
  48. * 修改库位信息
  49. *
  50. * @param baseLocationInfo 库位信息
  51. * @return 结果
  52. */
  53. int updateBaseLocationInfo(BaseLocationInfo baseLocationInfo);
  54. /**
  55. * 删除库位信息
  56. *
  57. * @param id 库位信息主键
  58. * @return 结果
  59. */
  60. int deleteBaseLocationInfoById(Long id);
  61. /**
  62. * 批量删除库位信息
  63. *
  64. * @param ids 需要删除的数据主键集合
  65. * @return 结果
  66. */
  67. int deleteBaseLocationInfoByIds(Long[] ids);
  68. /**
  69. * 根据zoneId查询库位信息
  70. * 返回结果会根据排列层进行排序
  71. *
  72. * @param baseLocationInfo
  73. * @return
  74. */
  75. List<BaseLocationInfo> selectSortedLocationListByZoneId(BaseLocationInfo baseLocationInfo);
  76. /**
  77. * 根据zoneId查询库位信息带批次属性
  78. *
  79. * @param baseLocationInfo
  80. * @return
  81. */
  82. List<BaseLocationLotattVO> selectSortedLocationLotattListByZoneId(BaseLocationInfo baseLocationInfo);
  83. /**
  84. * 根据zoneId和批次属性查询库位信息带批次属性
  85. *
  86. * @param zoneId
  87. * @param lotatt
  88. * @return
  89. */
  90. List<BaseLocationLotattVO> selectSortedLocationLotattListByZoneIdList(@Param("zoneId") List<Long> zoneId, @Param("warehouseId") Long warehouseId, @Param("lotatt") Map<String, String> lotatt);
  91. List<BaseLocationInfo> selectSortedLocationLotattListByZoneIdListOrderBy(@Param("zoneId") List<String> zoneId, @Param("warehouseId") Long warehouseId
  92. , @Param("lotatt") Map<String, String> lotatt,@Param("sku") String sku,@Param("orderByClause") String orderBy);
  93. /**
  94. * 根据条件分配库位
  95. *
  96. * @param zoneId
  97. * @param warehouseId
  98. * @param bindSku
  99. * @param orderBy
  100. * @return
  101. */
  102. List<BaseLocationLotattVO> selectAllocatingLocationAccordingConditionsOrderBy(@Param("zoneId") List<String> zoneId, @Param("warehouseId") Long warehouseId
  103. ,@Param("bindSku") String bindSku,@Param("orderByClause") String orderBy);
  104. /**
  105. * 根据条件分配库存
  106. *
  107. * @param zoneId
  108. * @param warehouseId
  109. * @param lotatt
  110. * @param sku
  111. * @param orderBy
  112. * @return
  113. */
  114. List<BaseLocationLotattVO> selectAllocatingInventoryAccordingConditionsOrderBy(@Param("zoneId") List<String> zoneId, @Param("warehouseId") Long warehouseId
  115. , @Param("lotatt") Map<String, String> lotatt,@Param("sku") String sku,@Param("orderByClause") String orderBy);
  116. /**
  117. * 根据库位返回同库区同列目标占用的库位list
  118. * 同列是否已经存在任务
  119. *
  120. * @param baseLocationInfo
  121. * @return
  122. */
  123. List<BaseLocationInfo> queryByListOccupyByLoc(BaseLocationInfo baseLocationInfo);
  124. /**
  125. * 根据库位返回同库区同列目标有货的库位list
  126. * 同列前方是否有阻挡
  127. *
  128. * @param baseLocationInfo
  129. * @return
  130. */
  131. List<BaseLocationInfo> queryByListInStockByLoc(BaseLocationInfo baseLocationInfo);
  132. /**
  133. * 根据库位返回同库区同列的库位list
  134. *
  135. *
  136. * @param baseLocationInfo
  137. * @return
  138. */
  139. List<BaseLocationLotattVO> queryByListInUserdeFine1(BaseLocationInfo baseLocationInfo);
  140. List<BaseLocationLotattVO> selectSortedLocationLotattListByLocationIdList(@Param("locationId") List<Long> locationId, @Param("warehouseId") Long warehouseId, @Param("lotatt") Map<String, String> lotatt, @Param("sku") String sku);
  141. /**
  142. * 根据id查询库位库存信息
  143. *
  144. * @param id
  145. * @return
  146. */
  147. LotattVO selectInvLotattById(@Param("id") Long id);
  148. /**
  149. * 更新库位状态
  150. *
  151. * @param id
  152. * @param status
  153. * @return
  154. */
  155. int updateLocationStockStatus(@Param("id") Long id, @Param("status") String status);
  156. /**
  157. * 查询重复的库位(库位编号、列号)
  158. *
  159. * @param baseLocationInfo
  160. * @return
  161. */
  162. List<BaseLocationInfo> checkIsRepeat(BaseLocationInfo baseLocationInfo);
  163. /**
  164. * 查询已经绑定sku分类的库位
  165. *
  166. * @param skuType
  167. * @return
  168. */
  169. List<BaseLocationInfo> selectLocationBindSku(String skuType);
  170. /**
  171. * 查询存放相同物料的列
  172. *
  173. * @param sku
  174. * @param zoneId
  175. * @return
  176. */
  177. List<String> selectSameSkuColNo(@Param("sku") String sku, @Param("zoneId") Long zoneId, @Param("lotatt") Map<String, String> lotatt);
  178. /**
  179. * 存放相同物料类型的列
  180. *
  181. * @param skuType
  182. * @param zoneId
  183. * @return
  184. */
  185. List<String> selectSameSkuTypeColNo(@Param("skuType") String skuType, @Param("zoneId") Long zoneId);
  186. /**
  187. * 查询所有存储区的列
  188. *
  189. * @return
  190. */
  191. List<BaseLocationInfo> selectAllColNo();
  192. /**
  193. * 查询列下面所有库位
  194. *
  195. * @param colNo
  196. * @return
  197. */
  198. List<BaseLocationInfo> selectLocationByColNo(String colNo);
  199. /**
  200. * 查询列下面所有库位
  201. *
  202. * @param colNos
  203. * @return
  204. */
  205. List<BaseLocationInfo> selectLocationByColNos(@Param("colNos") List<String> colNos);
  206. /**
  207. * 查询库位是否在任务重
  208. *
  209. * @param locationType
  210. * @param locationId
  211. * @return
  212. */
  213. int selectLocationIsTasking(@Param("locationType") String locationType, @Param("locationId") Long locationId);
  214. /**
  215. * 查询库位之前
  216. *
  217. * @param colNo
  218. * @param colIndex
  219. * @return
  220. */
  221. List<BaseLocationInfo> selectBeforeLocationByColNo(@Param("colNo") String colNo, @Param("colIndex") Long colIndex);
  222. /**
  223. * 查询同列可用库位
  224. *
  225. * @param colNo
  226. * @param colIndex
  227. * @return
  228. */
  229. List<BaseLocationInfoSameColDTO> selectSameColCanToLoc(@Param("colNo") String colNo, @Param("colIndex") Long colIndex);
  230. /**
  231. * 检测是否有同列的任务
  232. * @param colNo
  233. * @param laneType
  234. * @return
  235. */
  236. List<BaseLocationInfo> laneCheck(@Param("colNo") String colNo, @Param("laneType") String laneType, @Param("warehouseId")Long warehouseId);
  237. /**
  238. * 视图显示
  239. *
  240. * @param zoneId
  241. * @return
  242. */
  243. List<BaseLocationGuiDTO> queryByListAllInvLotAttView(@Param("zoneId") String zoneId, @Param("sort") String sort);
  244. /**
  245. * 查询所有库存
  246. * @param sku
  247. * @return
  248. */
  249. List<BigDecimal> checkInventory(@Param("sku") String sku);
  250. }