IInvLotAttService.java 3.9 KB

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