feat(wms): 生产任务列表增加联查功能

- 在 WmsProductionTaskMapper 中添加 selectVoPagePlus 方法,实现联查查询
- 更新 WmsProductionTaskBo 和 WmsProductionTaskVo,增加联查相关字段
- 修改 WmsProductionTaskServiceImpl 中的 queryPageList 方法,使用新的联查查询
- 更新 WmsStockMapper.xml 中的查询语句,优化库存查询
This commit is contained in:
2025-08-26 16:18:58 +08:00
parent 4c748a537a
commit 0c746478a0
6 changed files with 143 additions and 4 deletions

View File

@@ -35,12 +35,12 @@ public class WmsProductionTaskBo extends BaseEntity {
/**
* 订单ID
*/
private Long orderId;
private Long orderId; //联查订单号
/**
* 订单明细ID
*/
private Long orderItemId;
private Long orderItemId; //产品联查
/**
* 计划名称

View File

@@ -4,6 +4,8 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.klp.common.annotation.ExcelDictFormat;
import com.klp.common.convert.ExcelDictConvert;
import com.klp.domain.vo.WmsManufacturingSpecVo;
import com.klp.domain.vo.WmsProductSpecGroupVo;
import lombok.Data;
@@ -74,5 +76,29 @@ public class WmsProductionTaskVo {
@ExcelProperty(value = "备注")
private String remark;
// 联查字段
/**
* 订单编号
*/
@ExcelProperty(value = "订单编号")
private String orderCode;
/**
* 产品ID
*/
@ExcelProperty(value = "产品ID")
private Long productId;
/**
* 制造规范完整对象
*/
@ExcelProperty(value = "制造规范")
private WmsManufacturingSpecVo manufacturingSpec;
/**
* 产品规范组完整对象
*/
@ExcelProperty(value = "产品规范组")
private WmsProductSpecGroupVo productSpecGroup;
}

View File

@@ -1,8 +1,11 @@
package com.klp.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.klp.domain.WmsProductionTask;
import com.klp.domain.vo.WmsProductionTaskVo;
import com.klp.common.core.mapper.BaseMapperPlus;
import org.apache.ibatis.annotations.Param;
/**
* 生产任务Mapper接口
@@ -12,4 +15,5 @@ import com.klp.common.core.mapper.BaseMapperPlus;
*/
public interface WmsProductionTaskMapper extends BaseMapperPlus<WmsProductionTaskMapper, WmsProductionTask, WmsProductionTaskVo> {
Page<WmsProductionTaskVo> selectVoPagePlus(Page<Object> build,@Param("ew") QueryWrapper<WmsProductionTask> lqw);
}

View File

@@ -1,6 +1,7 @@
package com.klp.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -44,11 +45,27 @@ public class WmsProductionTaskServiceImpl implements IWmsProductionTaskService {
*/
@Override
public TableDataInfo<WmsProductionTaskVo> queryPageList(WmsProductionTaskBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<WmsProductionTask> lqw = buildQueryWrapper(bo);
Page<WmsProductionTaskVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
QueryWrapper<WmsProductionTask> lqw = buildQueryWrapperPlus(bo);
Page<WmsProductionTaskVo> result = baseMapper.selectVoPagePlus(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
private QueryWrapper<WmsProductionTask> buildQueryWrapperPlus(WmsProductionTaskBo bo) {
QueryWrapper<WmsProductionTask> lqw = Wrappers.query();
lqw.eq(bo.getProductSpecGroupId() != null, "t.product_spec_group_id", bo.getProductSpecGroupId());
lqw.eq(bo.getManufacturingSpecId() != null, "t.manufacturing_spec_id", bo.getManufacturingSpecId());
lqw.eq(bo.getOrderId() != null, "t.order_id", bo.getOrderId());
lqw.eq(bo.getOrderItemId() != null, "t.order_item_id", bo.getOrderItemId());
lqw.like(StringUtils.isNotBlank(bo.getPlanName()), "t.plan_name", bo.getPlanName());
lqw.eq(StringUtils.isNotBlank(bo.getPlanCode()), "t.plan_code", bo.getPlanCode());
lqw.eq(bo.getStatus() != null, "t.status", bo.getStatus());
//逻辑删除
lqw.eq("t.del_flag", 0);
//按照创建时间倒序
lqw.orderByDesc("t.create_time");
return lqw;
}
/**
* 查询生产任务列表
*/