IInvLotLocIdService.java 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. package com.ruoyi.ams.inv.service;
  2. import java.util.List;
  3. import com.ruoyi.ams.config.domain.dto.LotattDTO;
  4. import com.ruoyi.ams.inv.domain.InvLotAtt;
  5. import com.ruoyi.ams.inv.domain.InvLotLocId;
  6. import com.ruoyi.ams.inv.domain.form.InvLocIdSearchFrom;
  7. import com.ruoyi.ams.inv.domain.form.InvLotLocIdAdjForm;
  8. import com.ruoyi.ams.inv.domain.form.InvLotLocIdForm;
  9. import com.ruoyi.ams.inv.domain.form.InvLotLocIdMoveForm;
  10. import com.ruoyi.ams.inv.domain.vo.InvLotLocIdLotattVO;
  11. import com.ruoyi.base.domain.BaseLocationInfo;
  12. import com.ruoyi.base.domain.vo.BaseLocationLotattVO;
  13. import com.ruoyi.common.core.domain.AjaxResult;
  14. import org.apache.ibatis.annotations.Param;
  15. /**
  16. * 库位库存信息Service接口
  17. *
  18. * @author andy
  19. * @date 2022-03-03
  20. */
  21. public interface IInvLotLocIdService {
  22. /**
  23. * 查询库位库存信息
  24. *
  25. * @param lotnum 库位库存信息主键
  26. * @return 库位库存信息
  27. */
  28. InvLotLocId selectInvLotLocIdByLotnum(String lotnum);
  29. /**
  30. * 根据主键查询
  31. *
  32. * @param locationId
  33. * @param customerId
  34. * @param sku
  35. * @param lotnum
  36. * @return
  37. */
  38. InvLotLocId selectInvLotLocIdById(String locationId, String customerId, String sku, String lotnum);
  39. /**
  40. * 查询库位库存信息列表
  41. *
  42. * @param locationId
  43. * @return
  44. */
  45. List<InvLotLocId> selectInvLotLocIdList(Long locationId);
  46. /**
  47. * 查询库位库存信息列表
  48. *
  49. * @param invLotLocId 库位库存信息
  50. * @return 库位库存信息集合
  51. */
  52. List<InvLotLocId> selectInvLotLocIdList(InvLotLocId invLotLocId);
  53. /**
  54. * 查询物料批次信息列表
  55. *
  56. * @param invLocIdSearchFrom
  57. * @return
  58. */
  59. List<InvLotLocIdLotattVO> selectInvLocIdLotattList(InvLocIdSearchFrom invLocIdSearchFrom);
  60. /**
  61. * 查询库位库存信息
  62. *
  63. * @param invLotLocId 库位库存信息
  64. * @return 库位库存信息集合
  65. */
  66. InvLotLocId selectInvLotLocIdByModel(InvLotLocId invLotLocId);
  67. /**
  68. * 库存调整
  69. *
  70. * @return
  71. */
  72. AjaxResult adj(InvLotLocIdAdjForm invLotLocIdAdjForm);
  73. /**
  74. * 库存移动
  75. *
  76. * @return
  77. */
  78. AjaxResult move(InvLotLocIdMoveForm invLotLocIdMoveForm);
  79. /**
  80. * 库存移动(直接转移库存)
  81. *
  82. * @param invLotLocIdMoveForm
  83. * @return
  84. */
  85. AjaxResult moveDirect(InvLotLocIdMoveForm invLotLocIdMoveForm);
  86. /**
  87. * 库存清理
  88. *
  89. * @return
  90. */
  91. AjaxResult clear(String locationId, Long warehouseId, String updateBy);
  92. /**
  93. * 库位任务状态调整
  94. *
  95. * @return
  96. */
  97. AjaxResult adjLocationStockStatus(String locationId, Long warehouseId, String updateBy);
  98. /**
  99. * 库存是否有货状态调整
  100. *
  101. * @return
  102. */
  103. AjaxResult adjLocationIsEmpty(String locationId, Long warehouseId, String updateBy);
  104. /**
  105. * 新增库位库存信息
  106. *
  107. * @param invLotLocId 库位库存信息
  108. * @return 结果
  109. */
  110. int insertInvLotLocId(InvLotLocId invLotLocId);
  111. /**
  112. * 修改库位库存信息
  113. *
  114. * @param invLotLocId 库位库存信息
  115. * @return 结果
  116. */
  117. int updateInvLotLocId(InvLotLocId invLotLocId);
  118. /**
  119. * 批量删除库位库存信息
  120. *
  121. * @param lotnums 需要删除的库位库存信息主键集合
  122. * @return 结果
  123. */
  124. int deleteInvLotLocIdByLotnums(String[] lotnums);
  125. /**
  126. * 删除库位库存信息信息
  127. *
  128. * @param lotnum 库位库存信息主键
  129. * @return 结果
  130. */
  131. int deleteInvLotLocIdByLotnum(String lotnum);
  132. /**
  133. * 初始化库存
  134. *
  135. * @param
  136. */
  137. void initInv(String locationFrom, String sku, String customerId, Double qty, LotattDTO lotattDTO);
  138. /**
  139. * 根据库位id查询库位库存包含批次属性
  140. *
  141. * @param locationId
  142. * @return
  143. */
  144. List<InvLotLocIdLotattVO> selectInvLocIdLotattByLocationId(Long locationId);
  145. /**
  146. * 库存转移
  147. *
  148. * @param locationFrom 起始点位
  149. * @param locationTo 目标点位
  150. * @return
  151. */
  152. int stockTransfer(Long locationFrom, Long locationTo);
  153. /**
  154. * 根据物料编号和批次属性查询库存数量
  155. *
  156. * @param sku
  157. * @param lotattDTO
  158. * @return
  159. */
  160. Double queryInvBySku(String sku, LotattDTO lotattDTO, List<String> zoneIdList);
  161. /**
  162. * 根据出库单明细查询库存
  163. *
  164. * @param lotnum
  165. * @param sku
  166. * @param location
  167. * @param customerId
  168. * @return
  169. */
  170. List<InvLotLocId> queryInvOrderBy(String lotnum, String sku, String location, String customerId);
  171. /**
  172. * 根据托盘号查询库存
  173. *
  174. * @param invLotAtt
  175. * @return
  176. */
  177. List<InvLotLocId> queryInvByInvLotatt(InvLotAtt invLotAtt, String boxNo);
  178. /**
  179. * 查询已备货的满托库存
  180. *
  181. * @param orderNo
  182. * @param sku
  183. * @return
  184. */
  185. List<InvLotLocId> queryInvByFull(String orderNo, String sku);
  186. /**
  187. * 根据托盘解绑库存
  188. *
  189. * @param palletNo
  190. * @return
  191. */
  192. AjaxResult unLockInvByPalletNo(String palletNo, String sn);
  193. }