2024-09-23 15:24:09 +08:00
|
|
|
|
<?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">
|
2024-09-25 19:53:01 +08:00
|
|
|
|
<mapper namespace="cn.iocoder.yudao.module.order.mapper.RepairOrderInfoMapper">
|
2024-09-23 15:24:09 +08:00
|
|
|
|
|
|
|
|
|
|
<!--
|
|
|
|
|
|
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
|
|
|
|
|
|
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
|
|
|
|
|
|
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
|
|
|
|
|
|
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
|
|
|
|
|
-->
|
|
|
|
|
|
|
2024-09-23 21:26:18 +08:00
|
|
|
|
<select id="queryListPage" resultType="cn.iocoder.yudao.module.order.vo.RepairOrderInfoRespVO">
|
2024-09-23 15:24:09 +08:00
|
|
|
|
SELECT
|
|
|
|
|
|
roi.*
|
|
|
|
|
|
FROM
|
|
|
|
|
|
repair_order_info roi
|
|
|
|
|
|
<where>
|
|
|
|
|
|
roi.deleted = 0
|
|
|
|
|
|
<if test="entity.orderNo != null and entity.orderNo != ''">
|
|
|
|
|
|
and roi.order_no like concat('%', #{entity.orderNo}, '%')
|
|
|
|
|
|
</if>
|
|
|
|
|
|
<if test="entity.goodsTitle != null and entity.goodsTitle != ''">
|
2024-09-24 15:12:38 +08:00
|
|
|
|
and roi.goods_title like concat('%', #{entity.goodsTitle}, '%')
|
2024-09-23 15:24:09 +08:00
|
|
|
|
</if>
|
|
|
|
|
|
<if test="entity.goodsType != null and entity.goodsType != ''">
|
|
|
|
|
|
and roi.goods_type = #{entity.goodsType}
|
|
|
|
|
|
</if>
|
|
|
|
|
|
<if test="entity.cusName != null and entity.cusName != ''">
|
|
|
|
|
|
and roi.cus_name like concat('%', #{entity.cusName}, '%')
|
|
|
|
|
|
</if>
|
|
|
|
|
|
<if test="entity.orderStatus != null and entity.orderStatus != ''">
|
|
|
|
|
|
and roi.order_status = #{entity.orderStatus}
|
|
|
|
|
|
</if>
|
2024-09-24 15:12:38 +08:00
|
|
|
|
<if test="entity.payType != null and entity.payType != ''">
|
|
|
|
|
|
and roi.pay_type = #{entity.payType}
|
|
|
|
|
|
</if>
|
2024-09-23 15:24:09 +08:00
|
|
|
|
</where>
|
2024-09-24 15:12:38 +08:00
|
|
|
|
order by roi.create_time desc
|
2024-09-23 15:24:09 +08:00
|
|
|
|
</select>
|
2024-09-23 18:21:48 +08:00
|
|
|
|
|
2024-09-23 21:26:18 +08:00
|
|
|
|
<select id="getOrderPageByStatus" resultType="cn.iocoder.yudao.module.order.vo.RepairOrderInfoRespVO">
|
2024-10-21 17:44:44 +08:00
|
|
|
|
select roi.*,drt.tickets_work_status as status,drt.tickets_status as mainStatus
|
|
|
|
|
|
from repair_order_info roi
|
|
|
|
|
|
left join dl_repair_tickets drt on
|
2024-09-23 18:21:48 +08:00
|
|
|
|
roi.goods_id = drt.id
|
|
|
|
|
|
where roi.deleted = '0'
|
|
|
|
|
|
<if test="map.userId != null and map.userId != ''">
|
|
|
|
|
|
and roi.user_id = #{map.userId}
|
|
|
|
|
|
</if>
|
2024-09-25 22:42:43 +08:00
|
|
|
|
<if test="map.creator != null and map.creator != ''">
|
|
|
|
|
|
and roi.creator = #{map.creator}
|
|
|
|
|
|
</if>
|
|
|
|
|
|
<if test="map.orderStatus != null and map.orderStatus != ''">
|
|
|
|
|
|
and roi.order_status = #{map.orderStatus}
|
|
|
|
|
|
</if>
|
2024-10-21 17:44:44 +08:00
|
|
|
|
<if test="map.selectType != null and map.selectType != ''">
|
|
|
|
|
|
<choose>
|
|
|
|
|
|
<when test="map.selectType == 'working'">
|
|
|
|
|
|
-- 维修中的订单 --
|
2024-10-24 18:17:26 +08:00
|
|
|
|
and (drt.tickets_status = '04' OR drt.tickets_status = '05' OR drt.tickets_status = '05' OR drt.tickets_status ='01')
|
2024-10-21 17:44:44 +08:00
|
|
|
|
</when>
|
|
|
|
|
|
<when test="map.selectType == 'waitingPay'">
|
|
|
|
|
|
-- 待支付的订单 --
|
|
|
|
|
|
and (roi.pay_type is not null AND roi.order_status='0' )
|
|
|
|
|
|
</when>
|
|
|
|
|
|
<when test="map.selectType == 'waitingComment'">
|
|
|
|
|
|
-- 待评价的订单 --
|
|
|
|
|
|
and (roi.comment_star is null AND roi.order_status='1' )
|
|
|
|
|
|
</when>
|
|
|
|
|
|
</choose>
|
|
|
|
|
|
</if>
|
2024-09-23 18:21:48 +08:00
|
|
|
|
<if test="map.status != null and map.status != ''">
|
|
|
|
|
|
<choose>
|
|
|
|
|
|
<when test="map.status != '00'">
|
2024-09-24 20:54:24 +08:00
|
|
|
|
and drt.tickets_work_status = #{map.status}
|
2024-09-23 18:21:48 +08:00
|
|
|
|
</when>
|
|
|
|
|
|
<when test="map.status == '00'">
|
2024-09-24 20:54:24 +08:00
|
|
|
|
and roi.comment_time is null and roi.order_status = '1'
|
2024-09-23 18:21:48 +08:00
|
|
|
|
</when>
|
|
|
|
|
|
</choose>
|
|
|
|
|
|
</if>
|
|
|
|
|
|
order by roi.create_time desc
|
|
|
|
|
|
</select>
|
2024-09-25 19:39:08 +08:00
|
|
|
|
<select id="census" resultType="cn.iocoder.yudao.module.order.vo.RepairOrderCensusVO">
|
|
|
|
|
|
SELECT
|
|
|
|
|
|
-- 统计已入账和未入账的数量
|
|
|
|
|
|
SUM(CASE WHEN order_status = '1' THEN pay_money ELSE 0 END) AS credited,
|
|
|
|
|
|
SUM(CASE WHEN order_status = '0' THEN goods_price ELSE 0 END) AS notCredited,
|
|
|
|
|
|
-- 统计已入账的细分情况
|
|
|
|
|
|
SUM(CASE WHEN order_status = '1' AND pay_type = '01' THEN pay_money ELSE 0 END) AS onlinePay,
|
|
|
|
|
|
SUM(CASE WHEN order_status = '1' AND pay_type = '02' THEN pay_money ELSE 0 END) AS cashPay,
|
|
|
|
|
|
SUM(CASE WHEN order_status = '1' AND pay_type = '03' THEN pay_money ELSE 0 END) AS signedPay
|
|
|
|
|
|
FROM repair_order_info;
|
|
|
|
|
|
</select>
|
2024-09-23 15:24:09 +08:00
|
|
|
|
</mapper>
|