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; package cn.code.nl.module.lms.controller.admin.dailyplan.vo;
import cn.code.nl.framework.common.pojo.PageParam; 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 io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.AssertTrue;
import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
/** /**
@@ -12,6 +15,7 @@ import lombok.Data;
public class DailyPlanWorkPageReqVO extends PageParam { public class DailyPlanWorkPageReqVO extends PageParam {
@Schema(description = "订单状态,由服务层或控制层限定为 1进行中或 3已取消") @Schema(description = "订单状态,由服务层或控制层限定为 1进行中或 3已取消")
@NotNull(message = "订单状态不能为空")
private Integer orderStatus; private Integer orderStatus;
@Schema(description = "日计划编码或订单号") @Schema(description = "日计划编码或订单号")
@@ -19,4 +23,10 @@ public class DailyPlanWorkPageReqVO extends PageParam {
@Schema(description = "物料编码、名称或规格关键词") @Schema(description = "物料编码、名称或规格关键词")
private String materialKeyword; 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'; import { requestClient } from '#/api/request';
export type ApiId = number | string;
export namespace LmsDailyPlanApi { export namespace LmsDailyPlanApi {
export interface DailyPlan { export interface DailyPlan {
appendQty: number; appendQty: number;
createTime: string; createTime: number;
creator: string; creator: string;
dailyPlanId: number; dailyPlanId: ApiId;
erpOrderCode?: string; erpOrderCode?: string;
manualOrderCode?: string; manualOrderCode?: string;
materialCode: string; materialCode: string;
materialId: number; materialId: ApiId;
materialName: string; materialName: string;
materialSpec?: string; materialSpec?: string;
orderEndTime?: string; orderEndTime?: number;
orderStartTime?: string; orderStartTime?: number;
orderStatus: number; orderStatus: number;
packingInfo?: string; packingInfo?: string;
planCode: string; planCode: string;
@@ -25,17 +27,17 @@ export namespace LmsDailyPlanApi {
previousSleevingStatus?: number; previousSleevingStatus?: number;
previousStockingStatus?: number; previousStockingStatus?: number;
sleevedQty: number; sleevedQty: number;
sleevingCompleteTime?: string; sleevingCompleteTime?: number;
sleevingStartTime?: string; sleevingStartTime?: number;
sleevingStatus: number; sleevingStatus: number;
sortSeq: number; sortSeq: number;
sourceType: number; sourceType: number;
stockedQty: number; stockedQty: number;
stockingCompleteTime?: string; stockingCompleteTime?: number;
stockingStartTime?: string; stockingStartTime?: number;
stockingStatus: number; stockingStatus: number;
totalQty: number; totalQty: number;
updateTime?: string; updateTime?: number;
updater?: string; updater?: string;
updaterName?: string; updaterName?: string;
version: number; version: number;
@@ -53,14 +55,14 @@ export namespace LmsDailyPlanApi {
export interface WorkPageReq extends PageParam { export interface WorkPageReq extends PageParam {
materialKeyword?: string; materialKeyword?: string;
orderStatus?: number; orderStatus: number;
planOrOrderCode?: string; planOrOrderCode?: string;
} }
export interface CreateReq { export interface CreateReq {
manualOrderCode?: string; manualOrderCode?: string;
materialCode: string; materialCode: string;
materialId: number; materialId: ApiId;
materialName: string; materialName: string;
materialSpec?: string; materialSpec?: string;
packingInfo?: string; packingInfo?: string;
@@ -76,7 +78,7 @@ export namespace LmsDailyPlanApi {
} }
export interface VersionReq { export interface VersionReq {
id: number; id: ApiId;
version: number; version: number;
} }
@@ -94,7 +96,7 @@ export namespace LmsDailyPlanApi {
export interface SortUpdateReq { export interface SortUpdateReq {
items: Array<{ items: Array<{
id: number; id: ApiId;
sortSeq: number; sortSeq: number;
version: number; version: number;
}>; }>;
@@ -114,21 +116,21 @@ export namespace LmsDailyPlanApi {
afterValue?: string; afterValue?: string;
beforeValue?: string; beforeValue?: string;
changeQty?: number; changeQty?: number;
dailyPlanId: number; dailyPlanId: ApiId;
operationLogId: number; operationLogId: ApiId;
operationReason?: string; operationReason?: string;
operationTarget: string; operationTarget: string;
operationTime: string; operationTime: number;
operationType: string; operationType: string;
operator: string; operator: string;
} }
export interface Strategy { export interface Strategy {
cursorDailyPlanId?: number; cursorDailyPlanId?: ApiId;
strategyId: number; strategyId: ApiId;
strategyMode: number; strategyMode: number;
strategyType: number; strategyType: number;
updateTime?: string; updateTime?: number;
updater?: string; updater?: string;
updaterName?: string; updaterName?: string;
version: number; 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', { return requestClient.get<LmsDailyPlanApi.DailyPlan>('/lms/daily-plan/get', {
params: { id }, params: { id },
}); });
} }
export function getDailyPlanOperationLogList(id: number) { export function getDailyPlanOperationLogList(id: ApiId) {
return requestClient.get<LmsDailyPlanApi.OperationLog[]>( return requestClient.get<LmsDailyPlanApi.OperationLog[]>(
'/lms/daily-plan/operationLogList', '/lms/daily-plan/operationLogList',
{ params: { id } }, { params: { id } },
@@ -169,65 +171,65 @@ export function getDailyPlanStrategies() {
} }
export function createDailyPlan(data: LmsDailyPlanApi.CreateReq) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { export function updateDailyPlanStrategy(data: LmsDailyPlanApi.StrategyUpdateReq) {
return requestClient.put('/lms/daily-plan/updateStrategy', data); return requestClient.put<boolean>('/lms/daily-plan/updateStrategy', data);
} }