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

package com.gaotao.modules.handlingunit.controller;
import com.gaotao.common.utils.R;
import com.gaotao.modules.handlingunit.entity.dto.*;
import com.gaotao.modules.handlingunit.entity.dto.HuCreateDto;
import com.gaotao.modules.handlingunit.entity.dto.HuContentsDto;
import com.gaotao.modules.handlingunit.entity.dto.HuPackingDto;
import com.gaotao.modules.handlingunit.entity.dto.HuMergingDto;
import com.gaotao.modules.handlingunit.entity.dto.HuSplittingDto;
import com.gaotao.modules.handlingunit.entity.dto.MaterialInfoDto;
import com.gaotao.modules.handlingunit.service.HandlingUnitService;
import com.gaotao.modules.sys.controller.AbstractController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RequestMapping("handlingunit")
@RestController
public class HandlingUnitController extends AbstractController {
@Autowired
private HandlingUnitService handlingUnitService;
/**
* 查询处理单元列表
*/
@PostMapping("getHandlingUnitList")
public R getHandlingUnitList(@RequestBody HandlingUnitDto dto) {
List<HandlingUnitDto> list = handlingUnitService.getHandlingUnitList(dto);
return R.ok().put("rows", list);
}
/**
* 查询处理单元详情
*/
@PostMapping("getHandlingUnitDetail")
public R getHandlingUnitDetail(@RequestBody HandlingUnitDto dto) {
HandlingUnitDto detail = handlingUnitService.getHandlingUnitDetail(dto.getSite(), dto.getUnitId());
return R.ok().put("data", detail);
}
@PostMapping("scanHandlingUnitLabelForYiKu")
public R scanHandlingUnitLabelForYiKu(@RequestBody HandlingUnitDto dto) {
HandlingUnitDto detail = handlingUnitService.scanHandlingUnitLabelForYiKu(dto.getSite(), dto.getUnitId());
return R.ok().put("data", detail);
}
/**
* 装Handling Unit(托盘/箱)
*/
@PostMapping("packHandlingUnit")
public R packHandlingUnit(@RequestBody HandlingUnitPackDto packDto) {
String containerUnitId = handlingUnitService.packHandlingUnit(packDto);
return R.ok().put("containerUnitId", containerUnitId);
}
/**
* 合并Handling Unit(托盘/箱)
*/
@PostMapping("mergeHandlingUnit")
public R mergeHandlingUnit(@RequestBody HandlingUnitMergeDto mergeDto) {
String targetUnitId = handlingUnitService.mergeHandlingUnit(mergeDto);
return R.ok().put("targetUnitId", targetUnitId);
}
/**
* 拆Handling Unit(托盘/箱)
*/
@PostMapping("unpackHandlingUnit")
public R unpackHandlingUnit(@RequestBody HandlingUnitUnpackDto unpackDto) {
handlingUnitService.unpackHandlingUnit(unpackDto);
return R.ok();
}
/**
* 立库下的合托
*/
@PostMapping("mergePallets")
public R mergePallets(@RequestBody PalletMergeDto palletMergeDto) {
List<String> palletIds = handlingUnitService.mergePallets(palletMergeDto);
return R.ok().put("palletIds", palletIds);
}
/**
* 补打印Handling Unit(托盘/箱)标签
*/
@PostMapping("reprintLabels")
public R reprintLabels(@RequestBody HandlingUnitPrintDto printDto) {
handlingUnitService.reprintLabels(printDto);
return R.ok();
}
/**
* 查看Handling Unit(托盘/箱)货物
*/
@PostMapping("viewHandlingUnitGoods")
public R viewHandlingUnitGoods(@RequestBody HandlingUnitDto dto) {
HandlingUnitDto goods = handlingUnitService.viewHandlingUnitGoods(dto.getSite(), dto.getUnitId());
return R.ok().put("data", goods);
}
/**
* 查询可装箱的单元
*/
@PostMapping("getAvailableUnitsForPacking")
public R getAvailableUnitsForPacking(@RequestBody HandlingUnitDto dto) {
List<HandlingUnitDto> list = handlingUnitService.getAvailableUnitsForPacking(
dto.getSite(), dto.getLocationId(), dto.getWarehouseId());
return R.ok().put("rows", list);
}
/**
* 查询可合并的单元
*/
@PostMapping("getAvailableUnitsForMerge")
public R getAvailableUnitsForMerge(@RequestBody HandlingUnitDto dto) {
List<HandlingUnitDto> list = handlingUnitService.getAvailableUnitsForMerge(
dto.getSite(), dto.getPartNo(), dto.getBatchNo(), dto.getLocationId());
return R.ok().put("rows", list);
}
// ==================== 新的HU管理API ====================
/**
* 创建新HU
*/
@PostMapping("createNewHu")
public R createNewHu(@RequestBody HuCreateDto createDto) {
HandlingUnitDto huInfo = handlingUnitService.createNewHu(createDto);
return R.ok().put("data", huInfo);
}
/**
* 获取HU内容(物料明细和子HU)
*/
@PostMapping("getHuContents")
public R getHuContents(@RequestBody HandlingUnitDto dto) {
HuContentsDto contents = handlingUnitService.getHuContents(dto.getSite(), dto.getUnitId());
return R.ok().put("data", contents);
}
/**
* 完成装载HU
*/
@PostMapping("completePacking")
public R completePacking(@RequestBody HuPackingDto packingDto) {
handlingUnitService.completePacking(packingDto);
return R.ok();
}
/**
* 合并多个HU到目标HU
*/
@PostMapping("mergeHandlingUnits")
public R mergeHandlingUnits(@RequestBody HuMergingDto mergingDto) {
handlingUnitService.mergeHandlingUnits(mergingDto);
return R.ok();
}
/**
* 拆分HU
*/
@PostMapping("splitHandlingUnit")
public R splitHandlingUnit(@RequestBody HuSplittingDto splittingDto) {
handlingUnitService.splitHandlingUnit(splittingDto);
return R.ok();
}
/**
* 查询物料信息
*/
@PostMapping("getMaterialInfo")
public R getMaterialInfo(@RequestBody HandlingUnitDto dto) {
try {
MaterialInfoDto materialInfo = handlingUnitService.getMaterialInfo(dto.getSite(), dto.getPartNo());
return R.ok().put("data", materialInfo);
} catch (Exception e) {
return R.error("查询物料信息失败: " + e.getMessage());
}
}
}