refactor(wms): 优化订单查询功能

- 在 WmsOrder 模型中添加 customerId 字段
- 更新 WmsOrderBo 和 WmsOrderVo 以包含 customerId
- 修改订单查询相关方法,支持按客户 ID 查询
-优化订单列表展示,使用 images 字段替代 ossIds
This commit is contained in:
JR
2025-08-12 15:19:34 +08:00
parent fedcdc1e1e
commit 3882cae28b
7 changed files with 64 additions and 15 deletions

View File

@@ -101,7 +101,7 @@
<el-table-column label="收发货详情" align="center" prop="reportDetail" />
<el-table-column label="图片概况" align="center" prop="ossIds" width="100">
<template slot-scope="scope">
<image-preview :src="scope.row.ossIds" :width="50" :height="50"/>
<image-preview :src="scope.row.images" :width="50" :height="50"/>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" />
@@ -578,7 +578,7 @@ export default {
},
/** 查看图片详情 */
handleImageDetail(row) {
this.imageList = row.ossIds;
this.imageList = row.images;
this.imageDrawer = true;
this.getImageList()
},

View File

@@ -28,6 +28,10 @@ public class WmsOrder extends BaseEntity {
* 订单编号
*/
private String orderCode;
/**
* 客户ID
*/
private Long customerId;
/**
* 客户名称
*/

View File

@@ -27,6 +27,11 @@ public class WmsOrderBo extends BaseEntity {
*/
private String orderCode;
/**
* 客户ID
*/
private Long customerId;
/**
* 客户名称
*/

View File

@@ -31,6 +31,12 @@ public class WmsOrderVo {
@ExcelProperty(value = "订单编号")
private String orderCode;
/**
* 客户ID
*/
@ExcelProperty(value = "客户ID")
private Long customerId;
/**
* 客户名称
*/

View File

@@ -1,8 +1,12 @@
package com.klp.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.klp.domain.WmsOrder;
import com.klp.domain.vo.WmsOrderVo;
import com.klp.common.core.mapper.BaseMapperPlus;
import org.apache.ibatis.annotations.Param;
/**
* 订单主Mapper接口
@@ -12,4 +16,5 @@ import com.klp.common.core.mapper.BaseMapperPlus;
*/
public interface WmsOrderMapper extends BaseMapperPlus<WmsOrderMapper, WmsOrder, WmsOrderVo> {
Page<WmsOrderVo> selectVoPlusPage(Page<?> page, @Param("ew") Wrapper<WmsOrder> wrapper);
}

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,8 +45,8 @@ public class WmsOrderServiceImpl implements IWmsOrderService {
*/
@Override
public TableDataInfo<WmsOrderVo> queryPageList(WmsOrderBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<WmsOrder> lqw = buildQueryWrapper(bo);
Page<WmsOrderVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
QueryWrapper<WmsOrder> lqw = buildQueryWrapperPlus(bo);
Page<WmsOrderVo> result = baseMapper.selectVoPlusPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
@@ -53,30 +54,40 @@ public class WmsOrderServiceImpl implements IWmsOrderService {
*/
@Override
public TableDataInfo<WmsOrderVo> queryPageListByStatus(WmsOrderBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<WmsOrder> lqw = buildQueryWrapperByStatus(bo);
Page<WmsOrderVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
QueryWrapper<WmsOrder> lqw = buildQueryWrapperByStatus(bo);
Page<WmsOrderVo> result = baseMapper.selectVoPlusPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
private LambdaQueryWrapper<WmsOrder> buildQueryWrapperByStatus(WmsOrderBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<WmsOrder> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getOrderCode()), WmsOrder::getOrderCode, bo.getOrderCode());
lqw.like(StringUtils.isNotBlank(bo.getCustomerName()), WmsOrder::getCustomerName, bo.getCustomerName());
lqw.eq(StringUtils.isNotBlank(bo.getSalesManager()), WmsOrder::getSalesManager, bo.getSalesManager());
private QueryWrapper<WmsOrder> buildQueryWrapperByStatus(WmsOrderBo bo) {
QueryWrapper<WmsOrder> lqw = Wrappers.query();
// 修改为order_status不是零就查出来
if (bo.getOrderStatus() != null) {
if (bo.getOrderStatus() == -1) {
// 当orderStatus为-1时查询所有非0状态的记录
lqw.ne(WmsOrder::getOrderStatus, 0);
lqw.ne("o.order_status", 0);
} else {
// 当orderStatus为其他值时包括0按指定状态查询
lqw.eq(WmsOrder::getOrderStatus, bo.getOrderStatus());
lqw.eq("o.order_status", bo.getOrderStatus());
}
}
lqw.eq("o.del_flag", 0);
lqw.eq(StringUtils.isNotBlank(bo.getOrderCode()), "o.order_code", bo.getOrderCode());
lqw.eq(bo.getCustomerId() != null, "o.customer_id", bo.getCustomerId());
lqw.eq(StringUtils.isNotBlank(bo.getSalesManager()), "o.sales_manager", bo.getSalesManager());
// 当orderStatus为null时不添加任何条件查询所有记录
return lqw;
}
private QueryWrapper<WmsOrder> buildQueryWrapperPlus(WmsOrderBo bo) {
QueryWrapper<WmsOrder> lqw = Wrappers.query();
lqw.eq("o.del_flag", 0);
lqw.eq(StringUtils.isNotBlank(bo.getOrderCode()), "o.order_code", bo.getOrderCode());
lqw.eq(bo.getCustomerId() != null, "o.customer_id", bo.getCustomerId());
lqw.eq(StringUtils.isNotBlank(bo.getSalesManager()), "o.sales_manager", bo.getSalesManager());
lqw.eq(bo.getOrderStatus() != null, "o.order_status", bo.getOrderStatus());
return lqw;
}
/**
* 查询订单主列表
*/
@@ -90,7 +101,7 @@ public class WmsOrderServiceImpl implements IWmsOrderService {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<WmsOrder> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getOrderCode()), WmsOrder::getOrderCode, bo.getOrderCode());
lqw.like(StringUtils.isNotBlank(bo.getCustomerName()), WmsOrder::getCustomerName, bo.getCustomerName());
lqw.eq(bo.getCustomerId() != null, WmsOrder::getCustomerId, bo.getCustomerId());
lqw.eq(StringUtils.isNotBlank(bo.getSalesManager()), WmsOrder::getSalesManager, bo.getSalesManager());
lqw.eq(bo.getOrderStatus() != null, WmsOrder::getOrderStatus, bo.getOrderStatus());
return lqw;

View File

@@ -18,5 +18,23 @@
<result property="updateBy" column="update_by"/>
</resultMap>
<select id="selectVoPlusPage" resultType="com.klp.domain.vo.WmsOrderVo">
select o.order_id,
o.order_code,
o.customer_id,
o.sales_manager,
o.order_status,
o.remark,
o.del_flag,
o.create_time,
o.create_by,
o.update_time,
o.update_by,
c.customer_name
from wms_order o
left join wms_customer c on o.customer_id = c.customer_id
${ew.customSqlSegment}
</select>
</mapper>