Commit 35a10c0f authored by 周健威's avatar 周健威

修改合并bug

parent af25e38e
<?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.xxfc.platform.vehicle.mapper.VehicleUpkeepLogMapper">
<resultMap id="BaseResultMap" type="com.xxfc.platform.vehicle.entity.VehicleUpkeepLog">
<!--
WARNING - @mbg.generated
-->
<id column="id" property="id" jdbcType="INTEGER"/>
<result column="vehicle_id" property="vehicleId" jdbcType="VARCHAR"/>
<result column="operator" property="operator" jdbcType="VARCHAR"/>
<result column="date" property="date" jdbcType="TIMESTAMP"/>
<result column="mileage" property="mileage" jdbcType="INTEGER"/>
<result column="amount" property="amount" jdbcType="DECIMAL"/>
<result column="approvers" property="approvers" jdbcType="VARCHAR"/>
<result column="branch_company_id" property="branchCompanyId" jdbcType="INTEGER"/>
<result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
</resultMap>
<insert id="addItems">
insert into vehicle_upkeep_log_item(log_id, item_id)
values
<trim suffixOverrides=",">
<foreach collection="upkeepItems" item="item">
(#{id}, #{item}),
</foreach>
</trim>
</insert>
<delete id="deleteItemsByLogId">
delete from vehicle_upkeep_log_item
where log_id = #{id}
</delete>
<select id="selectVoAll" resultType="com.xxfc.platform.vehicle.vo.VehicleUpkeepLogVo">
select a.*, b.number_plate, c.name as branch_company_name
from vehicle_upkeep_log a
left join vehicle b on a.vehicle_id = b.id
left join branch_company c on a.branch_company_id = c.id
<mapper namespace="com.xxfc.platform.vehicle.mapper.VehicleDepartureLogMapper" >
<select id="selectLastByVehicleId" resultType="com.xxfc.platform.vehicle.entity.VehicleDepartureLog">
select * from vehicle_departure_log
where vehicle_id = #{vehicleId}
order by create_time desc
limit 1
</select>
<select id="selectByVehicleId">
select vehicle_departure_log.*,vehicle.number_plate
from vehicle_departure_log
left join vehicle on vehicle_departure_log.vehicle_id = vehicle.id
where vehicle_id = #{vehicleId}
order by create_time desc
</select>
<select id="selectVoAll" resultType="com.xxfc.platform.vehicle.pojo.VehicleDepartureLogVo">
select vehicle_departure_log.*,vehicle.number_plate,
/* IFNULL(DATEDIFF(vehicle_departure_log.arrival_time,vehicle_departure_log.departure_time),0)*/
CONCAT(IFNULL(floor((unix_timestamp(vehicle_departure_log.arrival_time) - unix_timestamp(vehicle_departure_log.departure_time)) / 86400),0),'天',
IFNULL(floor(IF((unix_timestamp(vehicle_departure_log.arrival_time) - unix_timestamp(vehicle_departure_log.departure_time))>86400,(unix_timestamp(vehicle_departure_log.arrival_time)
- unix_timestamp(vehicle_departure_log.departure_time)) MOD 86400/3600,(unix_timestamp(vehicle_departure_log.arrival_time) - unix_timestamp(vehicle_departure_log.departure_time))/3600)),0),'小时')
as departureDay,bc.name as departureName,bc1.name as arrivalName,
IF((IFNULL(vehicle_departure_log.mileage_end,0)-IFNULL(vehicle_departure_log.mileage_start,0))>0,IFNULL(vehicle_departure_log.mileage_end,0)-IFNULL(vehicle_departure_log.mileage_start,0),0) as mileage
from vehicle_departure_log
left join vehicle on vehicle_departure_log.vehicle_id = vehicle.id
LEFT JOIN branch_company bc ON vehicle_departure_log.departure_branch_company_id = bc.id
LEFT JOIN branch_company bc1 ON vehicle_departure_log.arrival_branch_company_id = bc1.id
<trim prefix="where">
1=1
<if test="numberPlate != null and numberPlate != ''">
and b.number_plate = #{numberPlate}
and vehicle.number_plate = #{numberPlate}
</if>
<if test="companyList != null and companyList.size() > 0">
and ( a.branch_company_id in (
<trim suffixOverrides=",">
<if test="time != null and time != ''">
and (vehicle_departure_log.arrival_time >= str_to_date(#{time}, '%Y-%m-%d %H')
or TO_DAYS(vehicle_departure_log.arrival_time)=TO_DAYS(str_to_date(#{time}, '%Y-%m-%d %H'))
or vehicle_departure_log.arrival_time is null
)
and
(
vehicle_departure_log.departure_time &lt;= str_to_date(#{time}, '%Y-%m-%d %H')
or TO_DAYS(vehicle_departure_log.departure_time)=TO_DAYS(str_to_date(#{time}, '%Y-%m-%d %H'))
or vehicle_departure_log.departure_time is null
)
</if>
</trim>
order by create_time desc
</select>
<select id="selectVoAllNotAllData" resultType="com.xxfc.platform.vehicle.pojo.VehicleDepartureLogVo">
select vehicle_departure_log.*,vehicle.number_plate,
/*IFNULL(DATEDIFF(vehicle_departure_log.arrival_time,vehicle_departure_log.departure_time),0)*/
CONCAT(IFNULL(floor((unix_timestamp(vehicle_departure_log.arrival_time) - unix_timestamp(vehicle_departure_log.departure_time)) / 86400),0),'天',
IFNULL(floor(IF((unix_timestamp(vehicle_departure_log.arrival_time) - unix_timestamp(vehicle_departure_log.departure_time))>86400,(unix_timestamp(vehicle_departure_log.arrival_time)
- unix_timestamp(vehicle_departure_log.departure_time)) MOD 86400/3600,(unix_timestamp(vehicle_departure_log.arrival_time) - unix_timestamp(vehicle_departure_log.departure_time))/3600)),0),'小时')
as departureDay,bc.name as departureName,bc1.name as arrivalName,
IF((IFNULL(vehicle_departure_log.mileage_end,0)-IFNULL(vehicle_departure_log.mileage_start,0))>0,IFNULL(vehicle_departure_log.mileage_end,0)-IFNULL(vehicle_departure_log.mileage_start,0),0) as mileage
from vehicle_departure_log
left join vehicle on vehicle_departure_log.vehicle_id = vehicle.id
LEFT JOIN branch_company bc ON vehicle_departure_log.departure_branch_company_id = bc.id
LEFT JOIN branch_company bc1 ON vehicle_departure_log.arrival_branch_company_id = bc1.id
<trim prefix="where" suffixOverrides="and">
<if test="numberPlate != null and numberPlate != ''">
vehicle.number_plate = #{numberPlate} and
</if>
<if test="companyList != null">
( vehicle_departure_log.departure_branch_company_id in (
<foreach collection="companyList" item="companyId">
<trim suffixOverrides=",">
#{companyId},
</trim>
</foreach>
)
or vehicle_departure_log.arrival_branch_company_id in (
<foreach collection="companyList" item="companyId">
<trim suffixOverrides=",">
#{companyId},
</trim>
</foreach>
)
)
</if>
<if test="time != null and time != ''">
and (vehicle_departure_log.arrival_time >= str_to_date(#{time}, '%Y-%m-%d %H')
or TO_DAYS(vehicle_departure_log.arrival_time)=TO_DAYS(str_to_date(#{time}, '%Y-%m-%d %H'))
or vehicle_departure_log.arrival_time is null
)
and
(
vehicle_departure_log.departure_time &lt;= str_to_date(#{time}, '%Y-%m-%d %H')
or TO_DAYS(vehicle_departure_log.departure_time)=TO_DAYS(str_to_date(#{time}, '%Y-%m-%d %H'))
or vehicle_departure_log.departure_time is null
)
</if>
</trim>
order by a.create_time desc
</select>
<select id="selectVoById" resultType="com.xxfc.platform.vehicle.vo.VehicleUpkeepLogVo">
select a.*, b.number_plate, c.name as branch_company_name
from vehicle_upkeep_log a
left join vehicle b on a.vehicle_id = b.id
left join branch_company c on a.branch_company_id = c.id
where a.id = #{id}
order by create_time desc
</select>
<select id="getItemsByLogId" resultType="com.xxfc.platform.vehicle.vo.VehicleUpkeepLogItemVo">
select a.*, b.name as item_name
from vehicle_upkeep_log_item a
left join vehicle_upkeep_item b on a.item_id = b.id
where a.log_id = #{id}
<select id="selectMileageByVehicleId" resultType="int">
select sum(mileage_end - mileage_start)
from vehicle_departure_log
where vehicle_id = #{vehicleId};
</select>
<select id="selectLastByVehicleId" resultType="com.xxfc.platform.vehicle.entity.VehicleUpkeepLog">
select *
from vehicle_upkeep_log
where vehicle_id = #{vehicleId}
order by create_time desc
limit 1
<select id="selectDayByVehicleId" resultType="String">
SELECT
CONCAT(IFNULL(floor(t.total_expire_minute / 86400),0),'天',IFNULL(floor(IF(t.total_expire_minute>86400,t.total_expire_minute MOD 86400/3600,
t.total_expire_minute/3600)),0),'小时')
FROM
(
SELECT
SUM(
unix_timestamp(arrival_time) - unix_timestamp(departure_time)
) AS total_expire_minute
FROM
vehicle_departure_log
WHERE
vehicle_id =#{vehicleId}
) t
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment