fix: 完善日计划接口类型契约

This commit is contained in:
zhouz
2026-08-14 15:15:48 +08:00
parent 961219ecf6
commit 45bcf8a6a2
2 changed files with 50 additions and 38 deletions

View File

@@ -1,7 +1,10 @@
package cn.code.nl.module.lms.controller.admin.dailyplan.vo;
import cn.code.nl.framework.common.pojo.PageParam;
import cn.code.nl.module.lms.enums.DailyPlanOrderStatusEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.AssertTrue;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
@@ -12,6 +15,7 @@ import lombok.Data;
public class DailyPlanWorkPageReqVO extends PageParam {
@Schema(description = "订单状态,由服务层或控制层限定为 1进行中或 3已取消")
@NotNull(message = "订单状态不能为空")
private Integer orderStatus;
@Schema(description = "日计划编码或订单号")
@@ -19,4 +23,10 @@ public class DailyPlanWorkPageReqVO extends PageParam {
@Schema(description = "物料编码、名称或规格关键词")
private String materialKeyword;
@AssertTrue(message = "订单状态只能是进行中或已取消")
public boolean isOrderStatusValid() {
return orderStatus == null || DailyPlanOrderStatusEnum.IN_PROGRESS.getCode().equals(orderStatus)
|| DailyPlanOrderStatusEnum.CANCELED.getCode().equals(orderStatus);
}
}

View File

@@ -2,20 +2,22 @@ import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request';
export type ApiId = number | string;
export namespace LmsDailyPlanApi {
export interface DailyPlan {
appendQty: number;
createTime: string;
createTime: number;
creator: string;
dailyPlanId: number;
dailyPlanId: ApiId;
erpOrderCode?: string;
manualOrderCode?: string;
materialCode: string;
materialId: number;
materialId: ApiId;
materialName: string;
materialSpec?: string;
orderEndTime?: string;
orderStartTime?: string;
orderEndTime?: number;
orderStartTime?: number;
orderStatus: number;
packingInfo?: string;
planCode: string;
@@ -25,17 +27,17 @@ export namespace LmsDailyPlanApi {
previousSleevingStatus?: number;
previousStockingStatus?: number;
sleevedQty: number;
sleevingCompleteTime?: string;
sleevingStartTime?: string;
sleevingCompleteTime?: number;
sleevingStartTime?: number;
sleevingStatus: number;
sortSeq: number;
sourceType: number;
stockedQty: number;
stockingCompleteTime?: string;
stockingStartTime?: string;
stockingCompleteTime?: number;
stockingStartTime?: number;
stockingStatus: number;
totalQty: number;
updateTime?: string;
updateTime?: number;
updater?: string;
updaterName?: string;
version: number;
@@ -53,14 +55,14 @@ export namespace LmsDailyPlanApi {
export interface WorkPageReq extends PageParam {
materialKeyword?: string;
orderStatus?: number;
orderStatus: number;
planOrOrderCode?: string;
}
export interface CreateReq {
manualOrderCode?: string;
materialCode: string;
materialId: number;
materialId: ApiId;
materialName: string;
materialSpec?: string;
packingInfo?: string;
@@ -76,7 +78,7 @@ export namespace LmsDailyPlanApi {
}
export interface VersionReq {
id: number;
id: ApiId;
version: number;
}
@@ -94,7 +96,7 @@ export namespace LmsDailyPlanApi {
export interface SortUpdateReq {
items: Array<{
id: number;
id: ApiId;
sortSeq: number;
version: number;
}>;
@@ -114,21 +116,21 @@ export namespace LmsDailyPlanApi {
afterValue?: string;
beforeValue?: string;
changeQty?: number;
dailyPlanId: number;
operationLogId: number;
dailyPlanId: ApiId;
operationLogId: ApiId;
operationReason?: string;
operationTarget: string;
operationTime: string;
operationTime: number;
operationType: string;
operator: string;
}
export interface Strategy {
cursorDailyPlanId?: number;
strategyId: number;
cursorDailyPlanId?: ApiId;
strategyId: ApiId;
strategyMode: number;
strategyType: number;
updateTime?: string;
updateTime?: number;
updater?: string;
updaterName?: string;
version: number;
@@ -149,13 +151,13 @@ export function getDailyPlanWorkPage(params: LmsDailyPlanApi.WorkPageReq) {
);
}
export function getDailyPlan(id: number) {
export function getDailyPlan(id: ApiId) {
return requestClient.get<LmsDailyPlanApi.DailyPlan>('/lms/daily-plan/get', {
params: { id },
});
}
export function getDailyPlanOperationLogList(id: number) {
export function getDailyPlanOperationLogList(id: ApiId) {
return requestClient.get<LmsDailyPlanApi.OperationLog[]>(
'/lms/daily-plan/operationLogList',
{ params: { id } },
@@ -169,65 +171,65 @@ export function getDailyPlanStrategies() {
}
export function createDailyPlan(data: LmsDailyPlanApi.CreateReq) {
return requestClient.post<number>('/lms/daily-plan/create', data);
return requestClient.post<ApiId>('/lms/daily-plan/create', data);
}
export function updateDailyPlan(data: LmsDailyPlanApi.UpdateReq) {
return requestClient.put('/lms/daily-plan/update', data);
return requestClient.put<boolean>('/lms/daily-plan/update', data);
}
export function startDailyPlanOrder(data: LmsDailyPlanApi.StartReq) {
return requestClient.put('/lms/daily-plan/startOrder', data);
return requestClient.put<boolean>('/lms/daily-plan/startOrder', data);
}
export function appendDailyPlanQuantity(data: LmsDailyPlanApi.AppendReq) {
return requestClient.put('/lms/daily-plan/appendQuantity', data);
return requestClient.put<boolean>('/lms/daily-plan/appendQuantity', data);
}
export function startDailyPlanStocking(data: LmsDailyPlanApi.VersionReq) {
return requestClient.put('/lms/daily-plan/startStocking', data);
return requestClient.put<boolean>('/lms/daily-plan/startStocking', data);
}
export function cancelDailyPlanStocking(data: LmsDailyPlanApi.ReasonReq) {
return requestClient.put('/lms/daily-plan/cancelStocking', data);
return requestClient.put<boolean>('/lms/daily-plan/cancelStocking', data);
}
export function restoreDailyPlanStocking(data: LmsDailyPlanApi.ReasonReq) {
return requestClient.put('/lms/daily-plan/restoreStocking', data);
return requestClient.put<boolean>('/lms/daily-plan/restoreStocking', data);
}
export function startDailyPlanSleeving(data: LmsDailyPlanApi.VersionReq) {
return requestClient.put('/lms/daily-plan/startSleeving', data);
return requestClient.put<boolean>('/lms/daily-plan/startSleeving', data);
}
export function cancelDailyPlanSleeving(data: LmsDailyPlanApi.ReasonReq) {
return requestClient.put('/lms/daily-plan/cancelSleeving', data);
return requestClient.put<boolean>('/lms/daily-plan/cancelSleeving', data);
}
export function restoreDailyPlanSleeving(data: LmsDailyPlanApi.ReasonReq) {
return requestClient.put('/lms/daily-plan/restoreSleeving', data);
return requestClient.put<boolean>('/lms/daily-plan/restoreSleeving', data);
}
export function cancelDailyPlanOrder(data: LmsDailyPlanApi.ReasonReq) {
return requestClient.put('/lms/daily-plan/cancelOrder', data);
return requestClient.put<boolean>('/lms/daily-plan/cancelOrder', data);
}
export function restoreDailyPlanOrder(data: LmsDailyPlanApi.ReasonReq) {
return requestClient.put('/lms/daily-plan/restoreOrder', data);
return requestClient.put<boolean>('/lms/daily-plan/restoreOrder', data);
}
export function finishDailyPlanOrder(data: LmsDailyPlanApi.VersionReq) {
return requestClient.put('/lms/daily-plan/finishOrder', data);
return requestClient.put<boolean>('/lms/daily-plan/finishOrder', data);
}
export function updateDailyPlanSort(data: LmsDailyPlanApi.SortUpdateReq) {
return requestClient.put('/lms/daily-plan/updateSort', data);
return requestClient.put<boolean>('/lms/daily-plan/updateSort', data);
}
export function updateDailyPlanWeight(data: LmsDailyPlanApi.WeightUpdateReq) {
return requestClient.put('/lms/daily-plan/updateWeight', data);
return requestClient.put<boolean>('/lms/daily-plan/updateWeight', data);
}
export function updateDailyPlanStrategy(data: LmsDailyPlanApi.StrategyUpdateReq) {
return requestClient.put('/lms/daily-plan/updateStrategy', data);
return requestClient.put<boolean>('/lms/daily-plan/updateStrategy', data);
}