You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
166 lines
6.7 KiB
XML
166 lines
6.7 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.system.mapper.BaseCarLifecycleMapper">
|
|
|
|
<resultMap type="CarLifecycleSummaryDTO" id="CarLifecycleSummaryResult">
|
|
<result property="carId" column="car_id"/>
|
|
<result property="carNo" column="car_no"/>
|
|
<result property="deptId" column="dept_id"/>
|
|
<result property="team" column="team"/>
|
|
<result property="line" column="line"/>
|
|
<result property="type" column="type"/>
|
|
<result property="inputMileage" column="input_mileage"/>
|
|
</resultMap>
|
|
|
|
<select id="selectLifecycleCar" parameterType="CarLifecycleQuery" resultMap="CarLifecycleSummaryResult">
|
|
select b.id as car_id,
|
|
b.car_no,
|
|
b.dept_id,
|
|
d.dept_name as team,
|
|
b.line,
|
|
b.type,
|
|
max(o.input_mileage) as input_mileage
|
|
from base_car b
|
|
left join sys_dept d on d.dept_id = b.dept_id
|
|
left join sys_user u on u.dept_id = d.dept_id
|
|
left join biz_maintenance_order o on o.plate_number = b.car_no
|
|
where b.car_no = #{carNo}
|
|
${params.dataScope}
|
|
group by b.id, b.car_no, b.dept_id, d.dept_name, b.line, b.type
|
|
</select>
|
|
|
|
<select id="selectMountedTyres" parameterType="CarLifecycleQuery" resultType="CarMountedTyreDTO">
|
|
select bt.tyre_id as tyreId,
|
|
bt.tyre_no as tyreNo,
|
|
bt.self_no as selfNo,
|
|
bt.tyre_epc as tyreEpc,
|
|
bt.tyre_brand as tyreBrand,
|
|
bt.tyre_model as tyreModel,
|
|
bt.wheel_postion as wheelPostion,
|
|
maint.pattern_depth as patternDepth
|
|
from base_tyre bt
|
|
left join (
|
|
select tyre_rfid, pattern_depth
|
|
from (
|
|
select tyre_rfid, pattern_depth,
|
|
row_number() over (partition by tyre_rfid order by create_time desc, id desc) as rn
|
|
from record_tyre_mileage
|
|
where record_type = '保养'
|
|
and pattern_depth is not null
|
|
and pattern_depth <> ''
|
|
) ranked
|
|
where rn = 1
|
|
) maint on maint.tyre_rfid = bt.tyre_epc
|
|
where bt.car_no = #{carNo}
|
|
order by bt.wheel_postion, bt.tyre_id
|
|
</select>
|
|
|
|
<select id="selectInstallList" parameterType="CarLifecycleQuery" resultType="CarTyreInstallLifecycleDTO">
|
|
select rti.id as id,
|
|
rti.tyre_rfid as tyreRfid,
|
|
rti.type as installType,
|
|
rti.mileage as mileage,
|
|
rti.create_time as createTime,
|
|
rti.wheel_postion as wheelPostion,
|
|
rti.pattern_depth as patternDepth,
|
|
bt.tyre_no as tyreNo,
|
|
bt.self_no as selfNo,
|
|
bt.tyre_brand as tyreBrand,
|
|
bt.tyre_model as tyreModel
|
|
from record_tyre_install rti
|
|
left join base_tyre bt on bt.tyre_epc = rti.tyre_rfid
|
|
where rti.car_no = #{carNo}
|
|
order by rti.create_time desc, rti.id desc
|
|
</select>
|
|
|
|
<select id="selectMaintenanceList" parameterType="CarLifecycleQuery" resultType="CarMaintenanceLifecycleDTO">
|
|
select o.order_id as orderId,
|
|
o.order_no as orderNo,
|
|
o.vehicle_id as vehicleId,
|
|
o.plate_number as plateNumber,
|
|
o.type_code as typeCode,
|
|
o.status as status,
|
|
o.input_mileage as inputMileage,
|
|
o.last_mileage as lastMileage,
|
|
o.maintain_date as maintainDate,
|
|
d.dept_name as factoryName,
|
|
o.description as description
|
|
from biz_maintenance_order o
|
|
left join sys_dept d on d.dept_id = o.factory_id
|
|
where o.plate_number = #{carNo}
|
|
order by o.maintain_date desc, o.order_id desc
|
|
</select>
|
|
|
|
<select id="selectCheckList" parameterType="CarLifecycleQuery" resultType="CarCheckLifecycleDTO">
|
|
select rc.id as id,
|
|
rc.tyre_rfid as tyreRfid,
|
|
bt.tyre_no as tyreNo,
|
|
bt.tyre_brand as tyreBrand,
|
|
bt.tyre_model as tyreModel,
|
|
rc.result as result,
|
|
rc.maintenance_type as maintenanceType,
|
|
rc.mileage as mileage,
|
|
rc.pattern_depth as patternDepth,
|
|
rc.create_time as createTime
|
|
from record_check rc
|
|
inner join (
|
|
select distinct tyre_rfid
|
|
from record_tyre_install
|
|
where car_no = #{carNo}
|
|
and tyre_rfid is not null
|
|
) car_tyre on car_tyre.tyre_rfid = rc.tyre_rfid
|
|
left join base_tyre bt on bt.tyre_epc = rc.tyre_rfid
|
|
order by rc.create_time desc, rc.id desc
|
|
</select>
|
|
|
|
<select id="selectMileageList" parameterType="CarLifecycleQuery" resultType="CarMileageLifecycleDTO">
|
|
select rtm.id as id,
|
|
rtm.tyre_rfid as tyreRfid,
|
|
bt.tyre_no as tyreNo,
|
|
bt.tyre_brand as tyreBrand,
|
|
rtm.start_time as startTime,
|
|
rtm.end_time as endTime,
|
|
rtm.mileage as mileage,
|
|
rtm.pattern_depth as patternDepth,
|
|
rtm.record_type as recordType
|
|
from record_tyre_mileage rtm
|
|
inner join (
|
|
select distinct tyre_rfid
|
|
from record_tyre_install
|
|
where car_no = #{carNo}
|
|
and tyre_rfid is not null
|
|
) car_tyre on car_tyre.tyre_rfid = rtm.tyre_rfid
|
|
left join base_tyre bt on bt.tyre_epc = rtm.tyre_rfid
|
|
order by rtm.start_time desc, rtm.id desc
|
|
</select>
|
|
|
|
<select id="countInstallRecords" parameterType="CarLifecycleQuery" resultType="int">
|
|
select count(1)
|
|
from record_tyre_install rti
|
|
where rti.car_no = #{carNo}
|
|
</select>
|
|
|
|
<select id="countMaintenanceOrders" parameterType="CarLifecycleQuery" resultType="int">
|
|
select count(1)
|
|
from biz_maintenance_order o
|
|
where o.plate_number = #{carNo}
|
|
</select>
|
|
|
|
<select id="countCheckRecords" parameterType="CarLifecycleQuery" resultType="int">
|
|
select count(distinct rc.id)
|
|
from record_check rc
|
|
inner join record_tyre_install rti on rti.tyre_rfid = rc.tyre_rfid
|
|
where rti.car_no = #{carNo}
|
|
</select>
|
|
|
|
<select id="countMileageRecords" parameterType="CarLifecycleQuery" resultType="int">
|
|
select count(distinct rtm.id)
|
|
from record_tyre_mileage rtm
|
|
inner join record_tyre_install rti on rti.tyre_rfid = rtm.tyre_rfid
|
|
where rti.car_no = #{carNo}
|
|
</select>
|
|
|
|
</mapper>
|