You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

182 lines
6.1 KiB

1 year ago
11 months ago
1 year ago
1 month ago
1 year ago
11 months ago
1 year ago
  1. package com.gaotao.modules.handlingunit.controller;
  2. import com.gaotao.common.utils.R;
  3. import com.gaotao.modules.handlingunit.entity.dto.*;
  4. import com.gaotao.modules.handlingunit.entity.dto.HuCreateDto;
  5. import com.gaotao.modules.handlingunit.entity.dto.HuContentsDto;
  6. import com.gaotao.modules.handlingunit.entity.dto.HuPackingDto;
  7. import com.gaotao.modules.handlingunit.entity.dto.HuMergingDto;
  8. import com.gaotao.modules.handlingunit.entity.dto.HuSplittingDto;
  9. import com.gaotao.modules.handlingunit.entity.dto.MaterialInfoDto;
  10. import com.gaotao.modules.handlingunit.service.HandlingUnitService;
  11. import com.gaotao.modules.sys.controller.AbstractController;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.web.bind.annotation.*;
  14. import java.util.List;
  15. @RequestMapping("handlingunit")
  16. @RestController
  17. public class HandlingUnitController extends AbstractController {
  18. @Autowired
  19. private HandlingUnitService handlingUnitService;
  20. /**
  21. * 查询处理单元列表
  22. */
  23. @PostMapping("getHandlingUnitList")
  24. public R getHandlingUnitList(@RequestBody HandlingUnitDto dto) {
  25. List<HandlingUnitDto> list = handlingUnitService.getHandlingUnitList(dto);
  26. return R.ok().put("rows", list);
  27. }
  28. /**
  29. * 查询处理单元详情
  30. */
  31. @PostMapping("getHandlingUnitDetail")
  32. public R getHandlingUnitDetail(@RequestBody HandlingUnitDto dto) {
  33. HandlingUnitDto detail = handlingUnitService.getHandlingUnitDetail(dto.getSite(), dto.getUnitId());
  34. return R.ok().put("data", detail);
  35. }
  36. @PostMapping("scanHandlingUnitLabelForYiKu")
  37. public R scanHandlingUnitLabelForYiKu(@RequestBody HandlingUnitDto dto) {
  38. HandlingUnitDto detail = handlingUnitService.scanHandlingUnitLabelForYiKu(dto.getSite(), dto.getUnitId());
  39. return R.ok().put("data", detail);
  40. }
  41. /**
  42. * 装Handling Unit托盘/
  43. */
  44. @PostMapping("packHandlingUnit")
  45. public R packHandlingUnit(@RequestBody HandlingUnitPackDto packDto) {
  46. String containerUnitId = handlingUnitService.packHandlingUnit(packDto);
  47. return R.ok().put("containerUnitId", containerUnitId);
  48. }
  49. /**
  50. * 合并Handling Unit托盘/
  51. */
  52. @PostMapping("mergeHandlingUnit")
  53. public R mergeHandlingUnit(@RequestBody HandlingUnitMergeDto mergeDto) {
  54. String targetUnitId = handlingUnitService.mergeHandlingUnit(mergeDto);
  55. return R.ok().put("targetUnitId", targetUnitId);
  56. }
  57. /**
  58. * 拆Handling Unit托盘/
  59. */
  60. @PostMapping("unpackHandlingUnit")
  61. public R unpackHandlingUnit(@RequestBody HandlingUnitUnpackDto unpackDto) {
  62. handlingUnitService.unpackHandlingUnit(unpackDto);
  63. return R.ok();
  64. }
  65. /**
  66. * 立库下的合托
  67. */
  68. @PostMapping("mergePallets")
  69. public R mergePallets(@RequestBody PalletMergeDto palletMergeDto) {
  70. List<String> palletIds = handlingUnitService.mergePallets(palletMergeDto);
  71. return R.ok().put("palletIds", palletIds);
  72. }
  73. /**
  74. * 补打印Handling Unit托盘/标签
  75. */
  76. @PostMapping("reprintLabels")
  77. public R reprintLabels(@RequestBody HandlingUnitPrintDto printDto) {
  78. handlingUnitService.reprintLabels(printDto);
  79. return R.ok();
  80. }
  81. /**
  82. * 查看Handling Unit托盘/货物
  83. */
  84. @PostMapping("viewHandlingUnitGoods")
  85. public R viewHandlingUnitGoods(@RequestBody HandlingUnitDto dto) {
  86. HandlingUnitDto goods = handlingUnitService.viewHandlingUnitGoods(dto.getSite(), dto.getUnitId());
  87. return R.ok().put("data", goods);
  88. }
  89. /**
  90. * 查询可装箱的单元
  91. */
  92. @PostMapping("getAvailableUnitsForPacking")
  93. public R getAvailableUnitsForPacking(@RequestBody HandlingUnitDto dto) {
  94. List<HandlingUnitDto> list = handlingUnitService.getAvailableUnitsForPacking(
  95. dto.getSite(), dto.getLocationId(), dto.getWarehouseId());
  96. return R.ok().put("rows", list);
  97. }
  98. /**
  99. * 查询可合并的单元
  100. */
  101. @PostMapping("getAvailableUnitsForMerge")
  102. public R getAvailableUnitsForMerge(@RequestBody HandlingUnitDto dto) {
  103. List<HandlingUnitDto> list = handlingUnitService.getAvailableUnitsForMerge(
  104. dto.getSite(), dto.getPartNo(), dto.getBatchNo(), dto.getLocationId());
  105. return R.ok().put("rows", list);
  106. }
  107. // ==================== 新的HU管理API ====================
  108. /**
  109. * 创建新HU
  110. */
  111. @PostMapping("createNewHu")
  112. public R createNewHu(@RequestBody HuCreateDto createDto) {
  113. HandlingUnitDto huInfo = handlingUnitService.createNewHu(createDto);
  114. return R.ok().put("data", huInfo);
  115. }
  116. /**
  117. * 获取HU内容物料明细和子HU
  118. */
  119. @PostMapping("getHuContents")
  120. public R getHuContents(@RequestBody HandlingUnitDto dto) {
  121. HuContentsDto contents = handlingUnitService.getHuContents(dto.getSite(), dto.getUnitId());
  122. return R.ok().put("data", contents);
  123. }
  124. /**
  125. * 完成装载HU
  126. */
  127. @PostMapping("completePacking")
  128. public R completePacking(@RequestBody HuPackingDto packingDto) {
  129. handlingUnitService.completePacking(packingDto);
  130. return R.ok();
  131. }
  132. /**
  133. * 合并多个HU到目标HU
  134. */
  135. @PostMapping("mergeHandlingUnits")
  136. public R mergeHandlingUnits(@RequestBody HuMergingDto mergingDto) {
  137. handlingUnitService.mergeHandlingUnits(mergingDto);
  138. return R.ok();
  139. }
  140. /**
  141. * 拆分HU
  142. */
  143. @PostMapping("splitHandlingUnit")
  144. public R splitHandlingUnit(@RequestBody HuSplittingDto splittingDto) {
  145. handlingUnitService.splitHandlingUnit(splittingDto);
  146. return R.ok();
  147. }
  148. /**
  149. * 查询物料信息
  150. */
  151. @PostMapping("getMaterialInfo")
  152. public R getMaterialInfo(@RequestBody HandlingUnitDto dto) {
  153. try {
  154. MaterialInfoDto materialInfo = handlingUnitService.getMaterialInfo(dto.getSite(), dto.getPartNo());
  155. return R.ok().put("data", materialInfo);
  156. } catch (Exception e) {
  157. return R.error("查询物料信息失败: " + e.getMessage());
  158. }
  159. }
  160. }