ERPTurbo_Server/erp-turbo-business/erp-turbo-biz/src/main/resources/mapper/OrderRebateMapper.xml
shenyifei 3824c80899 feat(order): 添加发货单类型字段并优化相关实体和映射
- 新增 OrderShipTypeEnum 枚举定义发货单类型:采购发货、调货发货、改签发货、退货发货
- 在 OrderShip、OrderShipVO、OrderShipPageQry 等 DTO 中添加 type 字段
- 将 OrderShipItem 的 itemId 字段重命名为 orderShipItemId 并更新相关映射
- 修改 OrderShipDO 实体将 orderVehicleDO 替换为 orderDO 并更新映射关系
- 更新 OrderShipAssembler 和 OrderShipConvert 中的映射配置
- 修复 OrderGatewayImpl 中的发货单编号前缀从 SO 改为 FH
- 修正 OrderShipItemDO 的主键字段名称和相关查询逻辑
- 更新数据库表名 order 为 `order` 以避免关键字冲突
- 修改 OrderShipMapper.xml 和 OrderShipItemMapper.xml 中的字段映射
- 优化 OrderShipGatewayImpl 中的分页查询逻辑,使用订单信息替代车辆信息
2025-12-24 11:34:55 +08:00

60 lines
2.1 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace="com.xunhong.erp.turbo.biz.infrastructure.mapper.OrderRebateMapper">
<resultMap id="BaseResultMap"
type="com.xunhong.erp.turbo.biz.infrastructure.entity.OrderRebateDO">
<result property="orderRebateId" column="order_rebate_id"/>
<result property="orderId" column="order_id"/>
<result property="dealerId" column="dealer_id"/>
<result property="name" column="name"/>
<result property="calcMethod" column="calc_method"/>
<result property="netWeight" column="net_weight"/>
<result property="unitPrice" column="unit_price"/>
<result property="amount" column="amount"/>
<result property="isPaid" column="is_paid"/>
<result property="poState" column="po_state"/>
<result property="createdAt" column="created_at"/>
<result property="createdAt" column="created_at"/>
<result property="updatedAt" column="updated_at"/>
<result property="isDelete" column="is_delete"/>
<result property="version" column="version"/>
</resultMap>
<select id="selectPage"
resultType="com.xunhong.erp.turbo.biz.infrastructure.entity.OrderRebateDO"
resultMap="BaseResultMap">
SELECT
ore.*,
po.state as po_state
FROM order_rebate ore
LEFT JOIN order_vehicle ov ON ore.order_id = ov.order_id AND ov.is_delete = 0
LEFT JOIN `order` po ON ore.order_id = po.order_id AND po.is_delete = 0
<where>
ore.is_delete = 0
<if test="query.createdBy != null">
AND po.created_by = #{query.createdBy}
</if>
<if test="query.orderId != null">
AND po.order_id = #{query.orderId}
</if>
<if test="query.poType != null">
AND po.type = #{query.poType}
</if>
<if test="query.poStates != null and query.poStates.size() > 0">
AND po.state IN
<foreach collection="query.poStates" item="state" open="(" separator="," close=")">
#{state.type}
</foreach>
</if>
<if test="ew != null">
<if test="ew.nonEmptyOfWhere">
AND
</if>
${ew.sqlSegment}
</if>
</where>
</select>
</mapper>