feat(wms): 生产任务列表增加联查功能
- 在 WmsProductionTaskMapper 中添加 selectVoPagePlus 方法,实现联查查询 - 更新 WmsProductionTaskBo 和 WmsProductionTaskVo,增加联查相关字段 - 修改 WmsProductionTaskServiceImpl 中的 queryPageList 方法,使用新的联查查询 - 更新 WmsStockMapper.xml 中的查询语句,优化库存查询
This commit is contained in:
6
klp-admin/src/main/resources/db/migration/V7__newSql.sql
Normal file
6
klp-admin/src/main/resources/db/migration/V7__newSql.sql
Normal file
@@ -0,0 +1,6 @@
|
||||
alter table wms_production_task
|
||||
modify order_id bigint null comment '订单ID';
|
||||
|
||||
alter table wms_production_task
|
||||
modify order_item_id bigint null comment '订单明细ID';
|
||||
|
||||
@@ -35,12 +35,12 @@ public class WmsProductionTaskBo extends BaseEntity {
|
||||
/**
|
||||
* 订单ID
|
||||
*/
|
||||
private Long orderId;
|
||||
private Long orderId; //联查订单号
|
||||
|
||||
/**
|
||||
* 订单明细ID
|
||||
*/
|
||||
private Long orderItemId;
|
||||
private Long orderItemId; //产品联查
|
||||
|
||||
/**
|
||||
* 计划名称
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询生产任务列表
|
||||
*/
|
||||
|
||||
@@ -21,5 +21,91 @@
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="com.klp.domain.vo.WmsProductionTaskVo" id="WmsProductionTaskVoResult">
|
||||
<result property="taskId" column="task_id"/>
|
||||
<result property="productSpecGroupId" column="product_spec_group_id"/>
|
||||
<result property="manufacturingSpecId" column="manufacturing_spec_id"/>
|
||||
<result property="orderId" column="order_id"/>
|
||||
<result property="orderItemId" column="order_item_id"/>
|
||||
<result property="planName" column="plan_name"/>
|
||||
<result property="planCode" column="plan_code"/>
|
||||
<result property="status" column="status"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="orderCode" column="order_code"/>
|
||||
<result property="productId" column="product_id"/>
|
||||
|
||||
<!-- 制造规范对象映射 -->
|
||||
<association property="manufacturingSpec" javaType="com.klp.domain.vo.WmsManufacturingSpecVo">
|
||||
<result property="specId" column="ms_spec_id"/>
|
||||
<result property="specCode" column="ms_spec_code"/>
|
||||
<result property="specName" column="ms_spec_name"/>
|
||||
<result property="businessUnit" column="ms_business_unit"/>
|
||||
<result property="projectTeam" column="ms_project_team"/>
|
||||
<result property="productModule" column="ms_product_module"/>
|
||||
<result property="identifier" column="ms_identifier"/>
|
||||
<result property="material" column="ms_material"/>
|
||||
<result property="specification" column="ms_specification"/>
|
||||
<result property="processRoute" column="ms_process_route"/>
|
||||
<result property="processParams" column="ms_process_params"/>
|
||||
<result property="scope" column="ms_scope"/>
|
||||
<result property="inspectionStandard" column="ms_inspection_standard"/>
|
||||
</association>
|
||||
|
||||
<!-- 产品规范组对象映射 -->
|
||||
<association property="productSpecGroup" javaType="com.klp.domain.vo.WmsProductSpecGroupVo">
|
||||
<result property="groupId" column="psg_group_id"/>
|
||||
<result property="groupCode" column="psg_group_code"/>
|
||||
<result property="productId" column="psg_product_id"/>
|
||||
<result property="groupName" column="psg_group_name"/>
|
||||
<result property="status" column="psg_status"/>
|
||||
<result property="remark" column="psg_remark"/>
|
||||
</association>
|
||||
</resultMap>
|
||||
|
||||
<select id="selectVoPagePlus" resultMap="WmsProductionTaskVoResult">
|
||||
select
|
||||
t.task_id,
|
||||
t.product_spec_group_id,
|
||||
t.manufacturing_spec_id,
|
||||
t.order_id,
|
||||
t.order_item_id,
|
||||
t.plan_name,
|
||||
t.plan_code,
|
||||
t.status,
|
||||
t.remark,
|
||||
o.order_code,
|
||||
od.product_id,
|
||||
|
||||
-- 制造规范字段(添加ms_前缀)
|
||||
ms.spec_id as ms_spec_id,
|
||||
ms.spec_code as ms_spec_code,
|
||||
ms.spec_name as ms_spec_name,
|
||||
ms.business_unit as ms_business_unit,
|
||||
ms.project_team as ms_project_team,
|
||||
ms.product_module as ms_product_module,
|
||||
ms.identifier as ms_identifier,
|
||||
ms.material as ms_material,
|
||||
ms.specification as ms_specification,
|
||||
ms.process_route as ms_process_route,
|
||||
ms.process_params as ms_process_params,
|
||||
ms.scope as ms_scope,
|
||||
ms.inspection_standard as ms_inspection_standard,
|
||||
|
||||
-- 产品规范组字段(添加psg_前缀)
|
||||
psg.group_id as psg_group_id,
|
||||
psg.group_code as psg_group_code,
|
||||
psg.product_id as psg_product_id,
|
||||
psg.group_name as psg_group_name,
|
||||
psg.status as psg_status,
|
||||
psg.remark as psg_remark
|
||||
from
|
||||
wms_production_task t
|
||||
left join wms_order o on t.order_id = o.order_id
|
||||
left join wms_order_detail od on t.order_item_id = od.detail_id
|
||||
left join wms_manufacturing_spec ms on t.manufacturing_spec_id = ms.spec_id and ms.del_flag = 0
|
||||
left join wms_product_spec_group psg on t.product_spec_group_id = psg.group_id and psg.del_flag = 0
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user