IInvLotAttService.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. package com.ruoyi.ams.inv.service;
  2. import com.ruoyi.ams.inv.domain.InvLotAtt;
  3. import com.ruoyi.ams.inv.dto.InvLotAttDTO;
  4. import com.ruoyi.ams.inv.dto.InvLotAttPalletTotalDTO;
  5. import com.ruoyi.ams.order.dto.ReversePickInventoryMatchDTO;
  6. import com.ruoyi.framework.service.CrudService;
  7. import java.math.BigDecimal;
  8. import java.util.List;
  9. import java.util.Map;
  10. /**
  11. * 批次属性Service接口
  12. *
  13. * @author andy
  14. * @date 2022-03-09
  15. */
  16. public interface IInvLotAttService extends CrudService<InvLotAtt, InvLotAttDTO>
  17. {
  18. /**
  19. * 查询批次属性
  20. *
  21. * @param lotnum 批次属性主键
  22. * @return 批次属性
  23. */
  24. InvLotAtt selectInvLotAttByLotnum(String lotnum);
  25. /**
  26. * 查询批次属性列表
  27. *
  28. * @param invLotAtt 批次属性
  29. * @return 批次属性集合
  30. */
  31. List<InvLotAtt> selectInvLotAttList(InvLotAtt invLotAtt);
  32. /**
  33. * 查询批次属性
  34. *
  35. * @param invLotAtt 批次属性
  36. * @return 批次属性集合
  37. */
  38. InvLotAtt selectInvLotAttByModel(InvLotAtt invLotAtt);
  39. /**
  40. * 修改批次属性
  41. *
  42. * @param invLotAtt 批次属性
  43. * @return 结果
  44. */
  45. int updateInvLotAtt(InvLotAtt invLotAtt);
  46. /**
  47. * 设置批次号Lotatt14为空
  48. *
  49. * @param lotnum
  50. * @return
  51. */
  52. int updateInvLotAttLotatt14IsNull(String lotnum);
  53. /**
  54. * 批量删除批次属性
  55. *
  56. * @param lotnums 需要删除的批次属性主键集合
  57. * @return 结果
  58. */
  59. int deleteInvLotAttByLotnums(String[] lotnums);
  60. /**
  61. * 删除批次属性信息
  62. *
  63. * @param lotnum 批次属性主键
  64. * @return 结果
  65. */
  66. int deleteInvLotAttByLotnum(String lotnum);
  67. /**
  68. * 根据入库单号查询当前入库单内的成品批次列表
  69. */
  70. List<InvLotAtt> queryAttributesByAsnno(String asnNo);
  71. /**
  72. * 根据多sku获取不同sku各托盘上总数(根据库位库存信息获取所关联批次托盘)
  73. * @param skuList
  74. * @return
  75. */
  76. Map<String, List<InvLotAttPalletTotalDTO>> buildInvLotAttPalletTotalMap(List<String> skuList);
  77. /**
  78. * 根据出库单号以及sku获取不同sku各托盘上已备货总数
  79. * @param reversePickInventoryMatchDTOList
  80. * @return
  81. */
  82. Map<String, List<InvLotAttPalletTotalDTO>> buildReversePickInvLotAttPalletTotalMap(List<ReversePickInventoryMatchDTO> reversePickInventoryMatchDTOList);
  83. /**
  84. * 获取托盘产品数量
  85. * @param palletNo
  86. * @param locationId
  87. * @return
  88. */
  89. BigDecimal queryPalletTotal(String palletNo, String locationId);
  90. /**
  91. * 新增批次属性
  92. *
  93. * @param invLotAtt 批次属性
  94. * @return 结果
  95. */
  96. int insertInvLotAtt(InvLotAtt invLotAtt);
  97. List<InvLotAtt> queryInvLotAtt(String palletNo);
  98. /**
  99. * 根据sn获取批次信息
  100. * @param palletNo
  101. * @param sn
  102. * @return
  103. */
  104. List<InvLotAtt> queryInvLotAtt(String palletNo, String sn);
  105. /**
  106. * 根据条码获取批次信息(退货情况下可能会有多批次信息)
  107. * @param palletNo
  108. * @param sn
  109. * @param orderNo
  110. * @return
  111. */
  112. List<InvLotAtt> queryInvLotAtt(String palletNo, String sn, String orderNo);
  113. List<InvLotAtt> queryInvLotAtt(List<String> palletNoList);
  114. List<InvLotAtt> queryInvLotAttByBarCodeList(String sn);
  115. /**
  116. * 根据出库单号查询已备货/出库批次
  117. * @param orderNoList
  118. * @return
  119. */
  120. List<InvLotAtt> queryInvLotAttByOrderNoList(List<String> orderNoList);
  121. /**
  122. * 根据出库单号及物料码查询出库单与扫描物料相同已分配数量
  123. * @param sku
  124. * @param orderNo
  125. * @return
  126. */
  127. List<InvLotAtt> queryOrderSameSkuInvLotAttList(String sku, String orderNo);
  128. /**
  129. * 根据出库单号及物料码查询出库单与扫描物料相同已分配数量
  130. */
  131. List<InvLotAtt> queryOrderSameSkuInvLotAttList(String sku, List<String> orderNoList);
  132. /**
  133. * 根据出库单号及物料码查询出库单与扫描物料相同已分配数量
  134. */
  135. List<InvLotAtt> queryOrderSameSkuInvLotAttList(List<String> skuList, String orderNo);
  136. /**
  137. * 根据出库单号及物料码查询出库单与扫描物料相同已分配数量
  138. */
  139. List<InvLotAtt> queryOrderSameSkuInvLotAttList(List<String> skuList, List<String> orderNoList);
  140. List<InvLotAtt> queryInvLotAttByLotNumList(List<String> lotNumList);
  141. }