feat:出库单一键设置功能及移库单CRUD
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
package cn.code.nl.module.wms.api.moveinv;
|
||||
|
||||
import cn.code.nl.framework.common.pojo.CommonResult;
|
||||
import cn.code.nl.module.wms.api.moveinv.dto.MoveInvAutoCreateReqDTO;
|
||||
import cn.code.nl.module.wms.api.moveinv.dto.MoveInvAutoCreateRespDTO;
|
||||
import cn.code.nl.module.wms.enums.ApiConstants;
|
||||
import jakarta.validation.Valid;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
@FeignClient(name = ApiConstants.NAME)
|
||||
public interface MoveInvApi {
|
||||
|
||||
String PREFIX = ApiConstants.PREFIX + "/move-inv";
|
||||
|
||||
@PostMapping(PREFIX + "/autoCreate")
|
||||
CommonResult<MoveInvAutoCreateRespDTO> autoCreate(@Valid @RequestBody MoveInvAutoCreateReqDTO reqDTO);
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package cn.code.nl.module.wms.api.moveinv.dto;
|
||||
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 自动创建移库单请求。
|
||||
*/
|
||||
@Data
|
||||
public class MoveInvAutoCreateReqDTO {
|
||||
|
||||
@NotEmpty(message = "来源载具不能为空")
|
||||
private List<String> vehicleCodes;
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package cn.code.nl.module.wms.api.moveinv.dto;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 自动创建移库单结果。
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class MoveInvAutoCreateRespDTO {
|
||||
|
||||
private Long moveinvId;
|
||||
private String billCode;
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package cn.code.nl.module.wms.enums;
|
||||
|
||||
import cn.code.nl.framework.common.enums.RpcConstants;
|
||||
|
||||
/**
|
||||
* WMS API 常量。
|
||||
*/
|
||||
public final class ApiConstants {
|
||||
|
||||
public static final String NAME = "wms-server";
|
||||
public static final String PREFIX = RpcConstants.RPC_API_PREFIX + "/wms";
|
||||
|
||||
private ApiConstants() {
|
||||
}
|
||||
}
|
||||
@@ -19,6 +19,18 @@ public interface ErrorCodeConstants {
|
||||
ErrorCode IOSTOR_INV_NO_MATCHING_INVENTORY = new ErrorCode(6_000_6, "没有符合当前出库明细的可用库存");
|
||||
ErrorCode IOSTOR_INV_MANUAL_STATUS_INVALID = new ErrorCode(6_000_7, "只有生成或分配中的明细允许手工分配");
|
||||
ErrorCode IOSTOR_INV_UPDATE_STATUS_INVALID = new ErrorCode(6_000_8, "只有生成状态的出库单允许修改");
|
||||
ErrorCode IOSTOR_INV_NO_PENDING_ALLOCATION = new ErrorCode(6_000_9, "当前明细没有生成状态的分配记录");
|
||||
ErrorCode IOSTOR_INV_NO_MOVE_LOCATION = new ErrorCode(6_001_0, "没有可用于移库的空闲仓位");
|
||||
|
||||
// ================ 移库单相关错误码 =================
|
||||
ErrorCode MOVE_INV_NOT_EXISTS = new ErrorCode(6_002_0, "移库单不存在");
|
||||
ErrorCode MOVE_INV_STATUS_INVALID = new ErrorCode(6_002_1, "只有生成状态的移库单允许修改或删除");
|
||||
ErrorCode MOVE_INV_SOURCE_INVALID = new ErrorCode(6_002_2, "来源载具不存在、库存不可用或仓位已锁定");
|
||||
ErrorCode MOVE_INV_TARGET_INVALID = new ErrorCode(6_002_3, "目标仓位不可用或与来源仓位不在同一库区同一层");
|
||||
ErrorCode MOVE_INV_TARGET_DUPLICATE = new ErrorCode(6_002_4, "同一移库单的目标仓位不能重复");
|
||||
ErrorCode MOVE_INV_NO_TARGET_STRUCT = new ErrorCode(6_002_5, "未找到同库区同层的可用目标仓位");
|
||||
ErrorCode MOVE_INV_LOCK_FAILED = new ErrorCode(6_002_6, "移库仓位已被占用,请刷新后重试");
|
||||
ErrorCode MOVE_INV_CODE_GENERATE_FAILED = new ErrorCode(6_002_7, "移库单号生成失败");
|
||||
|
||||
ErrorCode IOSTORINV_DTL_NOT_EXISTS = new ErrorCode(5, "出入库单明细不存在");
|
||||
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package cn.code.nl.module.wms.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 出库目的点。
|
||||
*
|
||||
* TODO 配置现场实际的两个出库点位编码。
|
||||
*/
|
||||
@Getter
|
||||
public enum OutboundPointEnum {
|
||||
|
||||
OUTBOUND_POINT_1("CK01"),
|
||||
OUTBOUND_POINT_2("CK02");
|
||||
|
||||
private final String pointCode;
|
||||
|
||||
OutboundPointEnum(String pointCode) {
|
||||
this.pointCode = pointCode;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user