fix: 隐藏已完成的日计划作业

This commit is contained in:
zhouz
2026-08-14 17:23:52 +08:00
parent 63a6a44dde
commit 80f5ddf87e
4 changed files with 19 additions and 0 deletions

View File

@@ -2,6 +2,7 @@ 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 cn.code.nl.module.lms.enums.DailyPlanOrderStatusEnum;
import cn.code.nl.module.lms.enums.DailyPlanStrategyTypeEnum;
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.AssertTrue;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
@@ -18,6 +19,10 @@ public class DailyPlanWorkPageReqVO extends PageParam {
@NotNull(message = "订单状态不能为空") @NotNull(message = "订单状态不能为空")
private Integer orderStatus; private Integer orderStatus;
@Schema(description = "作业类型1-备货2-套管")
@NotNull(message = "作业类型不能为空")
private Integer workType;
@Schema(description = "日计划编码或订单号") @Schema(description = "日计划编码或订单号")
private String planOrOrderCode; private String planOrOrderCode;
@@ -29,4 +34,10 @@ public class DailyPlanWorkPageReqVO extends PageParam {
return orderStatus == null || DailyPlanOrderStatusEnum.IN_PROGRESS.getCode().equals(orderStatus) return orderStatus == null || DailyPlanOrderStatusEnum.IN_PROGRESS.getCode().equals(orderStatus)
|| DailyPlanOrderStatusEnum.CANCELED.getCode().equals(orderStatus); || DailyPlanOrderStatusEnum.CANCELED.getCode().equals(orderStatus);
} }
@AssertTrue(message = "作业类型只能是备货或套管")
public boolean isWorkTypeValid() {
return workType == null || DailyPlanStrategyTypeEnum.STOCKING.getCode().equals(workType)
|| DailyPlanStrategyTypeEnum.SLEEVING.getCode().equals(workType);
}
} }

View File

@@ -80,6 +80,10 @@
WHERE deleted = b'0' WHERE deleted = b'0'
AND order_status = #{reqVO.orderStatus} AND order_status = #{reqVO.orderStatus}
AND #{reqVO.orderStatus} IN (1, 3) AND #{reqVO.orderStatus} IN (1, 3)
AND (
(#{reqVO.workType} = 1 AND stocked_qty < plan_qty + append_qty)
OR (#{reqVO.workType} = 2 AND sleeved_qty < plan_qty + append_qty)
)
<include refid="planOrOrderCodeCondition"/> <include refid="planOrOrderCodeCondition"/>
<include refid="materialKeywordCondition"/> <include refid="materialKeywordCondition"/>
ORDER BY sort_seq ASC, daily_plan_id ASC ORDER BY sort_seq ASC, daily_plan_id ASC

View File

@@ -57,6 +57,7 @@ export namespace LmsDailyPlanApi {
materialKeyword?: string; materialKeyword?: string;
orderStatus: number; orderStatus: number;
planOrOrderCode?: string; planOrOrderCode?: string;
workType: number;
} }
export interface CreateReq { export interface CreateReq {

View File

@@ -80,6 +80,7 @@ function handleTabChange() {
function handleWorkTypeChange() { function handleWorkTypeChange() {
weightDrafts.value = {}; weightDrafts.value = {};
updateColumns(); updateColumns();
handleRefresh();
} }
function handleDetail(row: LmsDailyPlanApi.DailyPlan) { function handleDetail(row: LmsDailyPlanApi.DailyPlan) {
@@ -108,6 +109,7 @@ async function handleSort() {
orderStatus: Number(activeOrderStatus.value), orderStatus: Number(activeOrderStatus.value),
pageNo, pageNo,
pageSize, pageSize,
workType: Number(activeWorkType.value),
}); });
rows.push(...page.list); rows.push(...page.list);
if (page.list.length === 0 || rows.length >= page.total) break; if (page.list.length === 0 || rows.length >= page.total) break;
@@ -173,6 +175,7 @@ const [Grid, gridApi] = useVbenVxeGrid({
pageSize: page.pageSize, pageSize: page.pageSize,
...formValues, ...formValues,
orderStatus: Number(activeOrderStatus.value), orderStatus: Number(activeOrderStatus.value),
workType: Number(activeWorkType.value),
}), }),
}, },
}, },