222 lines
13 KiB
XML
222 lines
13 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.ruoyi.sip.mapper.OrderDeliveryMapper">
|
||
|
||
<resultMap type="OrderDelivery" id="OrderDeliveryResult">
|
||
<result property="id" column="id" />
|
||
<result property="orderId" column="order_id" />
|
||
<result property="deliveryCode" column="delivery_code" />
|
||
<result property="deliveryDate" column="delivery_date" />
|
||
<result property="deliveryType" column="delivery_type" />
|
||
<result property="logisticsCompany" column="logistics_company" />
|
||
<result property="logisticsCode" column="logistics_code" />
|
||
<result property="receiverName" column="receiver_name" />
|
||
<result property="receiverPhone" column="receiver_phone" />
|
||
<result property="receiverAddress" column="receiver_address" />
|
||
<result property="deliveryStatus" column="delivery_status" />
|
||
<result property="signTime" column="sign_time" />
|
||
<result property="remark" column="remark" />
|
||
<result property="createdAt" column="created_at" />
|
||
<result property="updatedAt" column="updated_at" />
|
||
<result property="deletedAt" column="deleted_at" />
|
||
</resultMap>
|
||
|
||
<sql id="selectOrderDeliveryVo">
|
||
select id, order_id, delivery_code, delivery_date, delivery_type, logistics_company, logistics_code, receiver_name, receiver_phone, receiver_address, delivery_status, sign_time, remark, created_at, updated_at, deleted_at from order_delivery
|
||
</sql>
|
||
|
||
<select id="selectOrderDeliveryList" parameterType="OrderDelivery" resultMap="OrderDeliveryResult">
|
||
select t1.id, t1.order_id, t1.delivery_code, t1.delivery_date, t1.delivery_type, t1.logistics_company, t1.logistics_code, t1.receiver_name, t1.receiver_phone, t1.receiver_address, t1.delivery_status, t1.sign_time, t1.remark, t1.created_at, t1.updated_at, t1.deleted_at,
|
||
t2.order_code,t2.order_name,t1.create_by,t1.update_by,t3.total,t4.user_name as create_by_name
|
||
|
||
from order_delivery t1
|
||
left join order_info t2 on t1.order_id = t2.id
|
||
left join (select count(1) as total,delivery_id from delivery_list group by delivery_id) t3 on t1.id = t3.delivery_id
|
||
left join sys_user t4 on t1.create_by=t4.user_id
|
||
<where>
|
||
t1.status=0
|
||
<if test="orderId != null "> and t1.order_id = #{orderId}</if>
|
||
<if test="deliveryCode != null and deliveryCode != ''"> and t1.delivery_code like concat('%', #{deliveryCode}, '%')</if>
|
||
<if test="deliveryDate != null "> and t1.delivery_date = #{deliveryDate}</if>
|
||
<if test="deliveryType != null and deliveryType != ''"> and t1.delivery_type = #{deliveryType}</if>
|
||
<if test="logisticsCompany != null and logisticsCompany != ''"> and t1.logistics_company = #{logisticsCompany}</if>
|
||
<if test="logisticsCode != null and logisticsCode != ''"> and t1.logistics_code = #{logisticsCode}</if>
|
||
<if test="deliveryStatus != null and deliveryStatus != ''"> and t1.delivery_status = #{deliveryStatus}</if>
|
||
<if test="orderName != null and orderName != ''"> and t2.order_name like concat('%', #{orderName},'%')</if>
|
||
<if test="ids != null and ids != ''">
|
||
and t1.id in
|
||
<foreach collection="ids.split(',')" item="id" open="(" separator="," close=")">
|
||
#{id}
|
||
</foreach>
|
||
</if>
|
||
</where>
|
||
order by t1.order_id,t1.delivery_date
|
||
</select>
|
||
|
||
<select id="selectOrderDeliveryById" parameterType="Long" resultMap="OrderDeliveryResult">
|
||
select t1.id, t1.order_id, t1.delivery_code, t1.delivery_date, t1.delivery_type, t1.logistics_company, t1.logistics_code, t1.receiver_name, t1.receiver_phone, t1.receiver_address, t1.delivery_status, t1.sign_time, t1.remark, t1.created_at, t1.updated_at, t1.deleted_at,
|
||
t2.order_code,t2.order_name,t1.create_by,t1.update_by
|
||
|
||
from order_delivery t1
|
||
left join order_info t2 on t1.order_id = t2.id
|
||
where t1.id = #{id}
|
||
</select>
|
||
<select id="count" resultType="java.lang.Integer">
|
||
select count(1) from order_delivery
|
||
<where>
|
||
<if test="status != null "> and tatus = #{status}</if>
|
||
<if test="orderId != null "> and order_id = #{orderId}</if>
|
||
<if test="deliveryCode != null and deliveryCode != ''"> and delivery_code like concat('%', #{deliveryCode}, '%')</if>
|
||
<if test="deliveryDate != null "> and delivery_date = #{deliveryDate}</if>
|
||
<if test="deliveryType != null and deliveryType != ''"> and delivery_type = #{deliveryType}</if>
|
||
<if test="logisticsCompany != null and logisticsCompany != ''"> and logistics_company = #{logisticsCompany}</if>
|
||
<if test="deliveryStatus != null and deliveryStatus != ''"> and delivery_status = #{deliveryStatus}</if>
|
||
<if test="createdAt != null "> and created_at between date_format(#{createdAt}, '%Y-%m-%d 00:00:00') and date_format(#{createdAt}, '%Y-%m-%d 23:59:59')</if>
|
||
|
||
</where>
|
||
</select>
|
||
|
||
<insert id="insertOrderDelivery" parameterType="OrderDelivery" useGeneratedKeys="true" keyProperty="id">
|
||
insert into order_delivery
|
||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||
<if test="orderId != null">order_id,</if>
|
||
<if test="deliveryCode != null and deliveryCode != ''">delivery_code,</if>
|
||
<if test="deliveryDate != null">delivery_date,</if>
|
||
<if test="deliveryType != null and deliveryType != ''">delivery_type,</if>
|
||
<if test="logisticsCompany != null">logistics_company,</if>
|
||
<if test="logisticsCode != null">logistics_code,</if>
|
||
<if test="receiverName != null and receiverName != ''">receiver_name,</if>
|
||
<if test="receiverPhone != null and receiverPhone != ''">receiver_phone,</if>
|
||
<if test="receiverAddress != null and receiverAddress != ''">receiver_address,</if>
|
||
<if test="deliveryStatus != null and deliveryStatus != ''">delivery_status,</if>
|
||
<if test="signTime != null">sign_time,</if>
|
||
<if test="remark != null">remark,</if>
|
||
<if test="createdAt != null">created_at,</if>
|
||
<if test="updatedAt != null">updated_at,</if>
|
||
<if test="deletedAt != null">deleted_at,</if>
|
||
<if test="createBy != null and createBy!=''">create_by,</if>
|
||
</trim>
|
||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||
<if test="orderId != null">#{orderId},</if>
|
||
<if test="deliveryCode != null and deliveryCode != ''">#{deliveryCode},</if>
|
||
<if test="deliveryDate != null">#{deliveryDate},</if>
|
||
<if test="deliveryType != null and deliveryType != ''">#{deliveryType},</if>
|
||
<if test="logisticsCompany != null">#{logisticsCompany},</if>
|
||
<if test="logisticsCode != null">#{logisticsCode},</if>
|
||
<if test="receiverName != null and receiverName != ''">#{receiverName},</if>
|
||
<if test="receiverPhone != null and receiverPhone != ''">#{receiverPhone},</if>
|
||
<if test="receiverAddress != null and receiverAddress != ''">#{receiverAddress},</if>
|
||
<if test="deliveryStatus != null and deliveryStatus != ''">#{deliveryStatus},</if>
|
||
<if test="signTime != null">#{signTime},</if>
|
||
<if test="remark != null">#{remark},</if>
|
||
<if test="createdAt != null">#{createdAt},</if>
|
||
<if test="updatedAt != null">#{updatedAt},</if>
|
||
<if test="deletedAt != null">#{deletedAt},</if>
|
||
<if test="createBy != null and createBy!=''">#{createBy},</if>
|
||
</trim>
|
||
</insert>
|
||
|
||
<update id="updateOrderDelivery" parameterType="OrderDelivery">
|
||
update order_delivery
|
||
<trim prefix="SET" suffixOverrides=",">
|
||
<if test="orderId != null">order_id = #{orderId},</if>
|
||
<if test="deliveryCode != null and deliveryCode != ''">delivery_code = #{deliveryCode},</if>
|
||
<if test="deliveryDate != null">delivery_date = #{deliveryDate},</if>
|
||
<if test="deliveryType != null and deliveryType != ''">delivery_type = #{deliveryType},</if>
|
||
<if test="logisticsCompany != null">logistics_company = #{logisticsCompany},</if>
|
||
<if test="logisticsCode != null">logistics_code = #{logisticsCode},</if>
|
||
<if test="receiverName != null and receiverName != ''">receiver_name = #{receiverName},</if>
|
||
<if test="receiverPhone != null and receiverPhone != ''">receiver_phone = #{receiverPhone},</if>
|
||
<if test="receiverAddress != null and receiverAddress != ''">receiver_address = #{receiverAddress},</if>
|
||
<if test="deliveryStatus != null and deliveryStatus != ''">delivery_status = #{deliveryStatus},</if>
|
||
<if test="signTime != null">sign_time = #{signTime},</if>
|
||
<if test="remark != null">remark = #{remark},</if>
|
||
<if test="createdAt != null">created_at = #{createdAt},</if>
|
||
<if test="updatedAt != null">updated_at = #{updatedAt},</if>
|
||
<if test="deletedAt != null">deleted_at = #{deletedAt},</if>
|
||
<if test="updateBy != null and updateBy!=''">update_by = #{updateBy},</if>
|
||
</trim>
|
||
where id = #{id} and status=0
|
||
</update>
|
||
|
||
<delete id="deleteOrderDeliveryById" parameterType="Long">
|
||
update order_delivery set status =1, deleted_at=now() where id = #{id}
|
||
</delete>
|
||
|
||
<delete id="deleteOrderDeliveryByIds" parameterType="String">
|
||
update order_delivery set status =1, deleted_at=now() where id in
|
||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||
#{id}
|
||
</foreach>
|
||
</delete>
|
||
|
||
<!-- ================= MCP 只读查询(新增,仅 SELECT) ================= -->
|
||
|
||
<sql id="orderDeliveryPageFilter">
|
||
<if test="deliveryCodeList != null and deliveryCodeList.size() > 0">
|
||
and t1.delivery_code in
|
||
<foreach item="item" collection="deliveryCodeList" open="(" separator="," close=")">#{item}</foreach>
|
||
</if>
|
||
<if test="orderCodeList != null and orderCodeList.size() > 0">
|
||
and trim(t2.order_code) in
|
||
<foreach item="item" collection="orderCodeList" open="(" separator="," close=")">#{item}</foreach>
|
||
</if>
|
||
<if test="deliveryStatus != null and deliveryStatus != ''">and t1.delivery_status = #{deliveryStatus}</if>
|
||
<if test="startTime != null">and t1.delivery_date >= #{startTime}</if>
|
||
<if test="endTime != null">and t1.delivery_date < #{endTime}</if>
|
||
</sql>
|
||
|
||
<!-- warehouse_list(entity=ORDER_DELIVERY):manage 域发货单游标分页(排序键 delivery_code,id)
|
||
强制 deleted_at is null;left join order_info(trim(order_code) 对齐)补合同/客户信息 -->
|
||
<select id="listOrderDeliveryPage" resultType="java.util.LinkedHashMap">
|
||
select t1.id as id,
|
||
t1.delivery_code as deliveryCode,
|
||
t1.order_id as orderId,
|
||
t1.delivery_date as deliveryDate,
|
||
t1.delivery_type as deliveryType,
|
||
t1.logistics_company as logisticsCompany,
|
||
t1.logistics_code as logisticsCode,
|
||
t1.receiver_name as receiverName,
|
||
t1.receiver_phone as receiverPhone,
|
||
t1.receiver_address as receiverAddress,
|
||
t1.delivery_status as deliveryStatus,
|
||
t1.sign_time as signTime,
|
||
t1.remark as remark,
|
||
t1.created_at as createdAt,
|
||
t1.updated_at as updatedAt,
|
||
t4.user_name as createByName,
|
||
trim(t2.order_code) as orderCode,
|
||
t2.order_name as orderName,
|
||
t2.customer_code as customerCode,
|
||
t2.customer_name as customerName,
|
||
t2.order_agent_code as orderAgentCode,
|
||
t2.order_partner_code as orderPartnerCode
|
||
from order_delivery t1
|
||
left join order_info t2 on t1.order_id = t2.id
|
||
left join sys_user t4 on t1.create_by = t4.user_id
|
||
<where>
|
||
t1.deleted_at is null
|
||
<include refid="orderDeliveryPageFilter"/>
|
||
<if test="cursorKey != null">
|
||
and (t1.delivery_code > #{cursorKey}
|
||
or (t1.delivery_code = #{cursorKey} and t1.id > #{cursorId}))
|
||
</if>
|
||
</where>
|
||
order by t1.delivery_code, t1.id
|
||
limit #{limit}
|
||
</select>
|
||
|
||
<select id="countOrderDeliveryPage" resultType="long">
|
||
select count(1)
|
||
from order_delivery t1
|
||
left join order_info t2 on t1.order_id = t2.id
|
||
<where>
|
||
t1.deleted_at is null
|
||
<include refid="orderDeliveryPageFilter"/>
|
||
</where>
|
||
</select>
|
||
|
||
</mapper>
|