From 6191c039af91c3e833813617ba4ce4bef73331b5 Mon Sep 17 00:00:00 2001
From: JR <3573153686@qq.com>
Date: Tue, 29 Jul 2025 17:09:44 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E6=8E=92=E4=BA=A7=E8=AE=A1=E5=88=92?=
=?UTF-8?q?=E4=B8=BB=E8=A1=A8=E5=8A=A0=E4=BA=86=E4=B8=80=E4=BA=9B=E5=AD=97?=
=?UTF-8?q?=E6=AE=B5=E5=B1=95=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
klp-ui/src/views/wms/schedulePlan/index.vue | 69 +++++++++++++++----
.../java/com/klp/domain/WmsSchedulePlan.java | 9 +++
.../com/klp/domain/bo/WmsSchedulePlanBo.java | 8 +++
.../java/com/klp/domain/vo/PlanTimeAgg.java | 15 ++++
.../com/klp/domain/vo/WmsSchedulePlanVo.java | 37 ++++++++++
.../mapper/WmsSchedulePlanDetailMapper.java | 5 ++
.../impl/WmsSchedulePlanServiceImpl.java | 27 ++++++++
.../klp/WmsSchedulePlanDetailMapper.xml | 15 ++++
8 files changed, 170 insertions(+), 15 deletions(-)
create mode 100644 klp-wms/src/main/java/com/klp/domain/vo/PlanTimeAgg.java
diff --git a/klp-ui/src/views/wms/schedulePlan/index.vue b/klp-ui/src/views/wms/schedulePlan/index.vue
index 7d3b82be..b7cdd6bb 100644
--- a/klp-ui/src/views/wms/schedulePlan/index.vue
+++ b/klp-ui/src/views/wms/schedulePlan/index.vue
@@ -22,7 +22,7 @@
重置
-
+
新增
@@ -42,7 +42,7 @@
size="mini"
:disabled="single"
@click="handleUpdate"
-
+
>修改
@@ -53,7 +53,7 @@
size="mini"
:disabled="multiple"
@click="handleDelete"
-
+
>删除
@@ -63,17 +63,33 @@
icon="el-icon-download"
size="mini"
@click="handleExport"
-
+
>导出
-
+
-
+
+
+
+
+ {{ scope.row.startDate ? scope.row.startDate.substr(0, 10) : '' }}
+
+
+
+
+ {{ scope.row.endDate ? scope.row.endDate.substr(0, 10) : '' }}
+
+
+
+
+
+
+
@@ -82,6 +98,12 @@
+
+
+ {{ parseTime(scope.row.createTime) }}
+
+
+
修改
删除
-
+
-
+
@@ -130,6 +152,19 @@
+
+
+
+
+
+
+
+
@@ -141,13 +176,14 @@
-
+
-
\ No newline at end of file
diff --git a/klp-wms/src/main/java/com/klp/domain/WmsSchedulePlan.java b/klp-wms/src/main/java/com/klp/domain/WmsSchedulePlan.java
index 78545880..b9342380 100644
--- a/klp-wms/src/main/java/com/klp/domain/WmsSchedulePlan.java
+++ b/klp-wms/src/main/java/com/klp/domain/WmsSchedulePlan.java
@@ -51,4 +51,13 @@ public class WmsSchedulePlan extends BaseEntity {
@TableLogic
private Integer delFlag;
+ /**
+ * 优先级(0=低,1=中,2=高,3=vip ....)
+ */
+ private Long priority;
+
+ /**
+ * 工艺路线
+ */
+ private String processRoute;
}
diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsSchedulePlanBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsSchedulePlanBo.java
index d5387dc5..fce29896 100644
--- a/klp-wms/src/main/java/com/klp/domain/bo/WmsSchedulePlanBo.java
+++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsSchedulePlanBo.java
@@ -47,5 +47,13 @@ public class WmsSchedulePlanBo extends BaseEntity {
*/
private String remark;
+ /**
+ * 优先级(0=低,1=中,2=高,3=vip ....)
+ */
+ private Long priority;
+ /**
+ * 工艺路线
+ */
+ private String processRoute;
}
diff --git a/klp-wms/src/main/java/com/klp/domain/vo/PlanTimeAgg.java b/klp-wms/src/main/java/com/klp/domain/vo/PlanTimeAgg.java
new file mode 100644
index 00000000..8635e89d
--- /dev/null
+++ b/klp-wms/src/main/java/com/klp/domain/vo/PlanTimeAgg.java
@@ -0,0 +1,15 @@
+package com.klp.domain.vo;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 用于计算排产计划开始结束时间的聚合类
+ */
+@Data
+public class PlanTimeAgg {
+ private Long planId;
+ private Date startDate;
+ private Date endDate;
+}
diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsSchedulePlanVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsSchedulePlanVo.java
index a074fca3..afd1ea36 100644
--- a/klp-wms/src/main/java/com/klp/domain/vo/WmsSchedulePlanVo.java
+++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsSchedulePlanVo.java
@@ -2,10 +2,14 @@ package com.klp.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.klp.common.annotation.ExcelDictFormat;
import com.klp.common.convert.ExcelDictConvert;
import lombok.Data;
+import java.util.Date;
+
/**
* 排产计划视图对象 wms_schedule_plan
@@ -50,5 +54,38 @@ public class WmsSchedulePlanVo {
@ExcelProperty(value = "备注")
private String remark;
+ /**
+ * 创建者
+ */
+ @ExcelProperty(value = "创建者")
+ private String createBy;
+ /**
+ * 创建时间
+ */
+ @ExcelProperty(value = "创建时间")
+ private Date createTime;
+
+ /**
+ * 优先级(0=低,1=中,2=高,3=vip ....)
+ */
+ @ExcelProperty(value = "优先级")
+ private Long priority;
+
+ /**
+ * 工艺路线
+ */
+ @ExcelProperty(value = "工艺路线")
+ private String processRoute;
+
+ /**
+ * 计划开始日期
+ */
+ @ExcelProperty(value = "计划开始日期")
+ private Date startDate;
+ /**
+ * 计划结束日期
+ */
+ @ExcelProperty(value = "计划结束日期")
+ private Date endDate;
}
diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsSchedulePlanDetailMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsSchedulePlanDetailMapper.java
index 15fa4d91..a85c10ac 100644
--- a/klp-wms/src/main/java/com/klp/mapper/WmsSchedulePlanDetailMapper.java
+++ b/klp-wms/src/main/java/com/klp/mapper/WmsSchedulePlanDetailMapper.java
@@ -1,8 +1,12 @@
package com.klp.mapper;
import com.klp.domain.WmsSchedulePlanDetail;
+import com.klp.domain.vo.PlanTimeAgg;
import com.klp.domain.vo.WmsSchedulePlanDetailVo;
import com.klp.common.core.mapper.BaseMapperPlus;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
* 排产计划明细Mapper接口
@@ -12,4 +16,5 @@ import com.klp.common.core.mapper.BaseMapperPlus;
*/
public interface WmsSchedulePlanDetailMapper extends BaseMapperPlus {
+ List selectPlanTimeAgg(@Param("planIds") List planIds);
}
diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsSchedulePlanServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsSchedulePlanServiceImpl.java
index 53542794..9a07ebb3 100644
--- a/klp-wms/src/main/java/com/klp/service/impl/WmsSchedulePlanServiceImpl.java
+++ b/klp-wms/src/main/java/com/klp/service/impl/WmsSchedulePlanServiceImpl.java
@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.klp.common.utils.StringUtils;
+import com.klp.domain.vo.PlanTimeAgg;
+import com.klp.mapper.WmsSchedulePlanDetailMapper;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.klp.domain.bo.WmsSchedulePlanBo;
@@ -15,9 +17,12 @@ import com.klp.domain.WmsSchedulePlan;
import com.klp.mapper.WmsSchedulePlanMapper;
import com.klp.service.IWmsSchedulePlanService;
+import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.Collection;
+import java.util.function.Function;
+import java.util.stream.Collectors;
/**
* 排产计划Service业务层处理
@@ -31,6 +36,9 @@ public class WmsSchedulePlanServiceImpl implements IWmsSchedulePlanService {
private final WmsSchedulePlanMapper baseMapper;
+ @Resource
+ private WmsSchedulePlanDetailMapper wmsSchedulePlanDetailMapper;
+
/**
* 查询排产计划
*/
@@ -46,6 +54,25 @@ public class WmsSchedulePlanServiceImpl implements IWmsSchedulePlanService {
public TableDataInfo queryPageList(WmsSchedulePlanBo bo, PageQuery pageQuery) {
LambdaQueryWrapper lqw = buildQueryWrapper(bo);
Page result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+ // 查排产计划总的开始结束时间
+ // 获取所有planId
+ List planIds = result.getRecords().stream()
+ .map(WmsSchedulePlanVo::getPlanId)
+ .collect(Collectors.toList());
+ if (!planIds.isEmpty()) {
+ // 查询详情表的最早/最晚时间
+ List aggList = wmsSchedulePlanDetailMapper.selectPlanTimeAgg(planIds);
+ Map aggMap = aggList.stream()
+ .collect(Collectors.toMap(PlanTimeAgg::getPlanId, Function.identity()));
+ // 填充到VO
+ for (WmsSchedulePlanVo vo : result.getRecords()) {
+ PlanTimeAgg agg = aggMap.get(vo.getPlanId());
+ if (agg != null) {
+ vo.setStartDate(agg.getStartDate());
+ vo.setEndDate(agg.getEndDate());
+ }
+ }
+ }
return TableDataInfo.build(result);
}
diff --git a/klp-wms/src/main/resources/mapper/klp/WmsSchedulePlanDetailMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsSchedulePlanDetailMapper.xml
index bbfd77d7..c3cdff32 100644
--- a/klp-wms/src/main/resources/mapper/klp/WmsSchedulePlanDetailMapper.xml
+++ b/klp-wms/src/main/resources/mapper/klp/WmsSchedulePlanDetailMapper.xml
@@ -20,5 +20,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+