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" - + >导出 - + - + + + + + + + + + + + + + + + - + - \ 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" +