<?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.qs.serve.modules.baz.mapper.BazVisitInstanceMapper" >
<resultMap id= "bazVisitInstanceMap" type= "com.qs.serve.modules.baz.entity.BazVisitInstance" >
<result property= "id" column= "id" />
<result property= "title" column= "title" />
<result property= "visitId" column= "visit_id" />
<result property= "targetType" column= "target_type" />
<result property= "visitState" column= "visit_state" />
<result property= "visitorId" column= "visitor_id" />
<result property= "visitorCode" column= "visitor_code" />
<result property= "visitorName" column= "visitor_name" />
<result property= "targetId" column= "target_id" />
<result property= "targetCode" column= "target_code" />
<result property= "targetName" column= "target_name" />
<result property= "targetLocalX" column= "target_local_x" />
<result property= "targetLocalY" column= "target_local_y" />
<result property= "targetAddress" column= "target_address" />
<result property= "targetMapAddress" column= "target_map_address" />
<result property= "finishedTime" column= "finished_time" />
<result property= "missLocalFlag" column= "miss_local_flag" />
<result property= "remark" column= "remark" />
<result property= "positionStatusContent" column= "position_status_content" />
<result property= "positionStatus" column= "position_status" />
<result property= "createTime" column= "create_time" />
<result property= "updateTime" column= "update_time" />
<result property= "tenantId" column= "tenant_id" />
<result property= "delFlag" column= "del_flag" />
<result property= "createBy" column= "create_by" />
<result property= "updateBy" column= "update_by" />
</resultMap>
<sql id= "bazVisitInstanceSql" >
baz_visit_instance.`id`,
baz_visit_instance.`title`,
baz_visit_instance.`visit_id`,
baz_visit_instance.`target_type`,
baz_visit_instance.`visit_state`,
baz_visit_instance.`visitor_id`,
baz_visit_instance.`visitor_code`,
baz_visit_instance.`visitor_name`,
baz_visit_instance.`target_id`,
baz_visit_instance.`target_code`,
baz_visit_instance.`target_name`,
baz_visit_instance.`target_local_x`,
baz_visit_instance.`target_local_y`,
baz_visit_instance.`target_address`,
baz_visit_instance.`target_map_address`,
baz_visit_instance.`finished_time`,
baz_visit_instance.`miss_local_flag`,
baz_visit_instance.`remark`,
baz_visit_instance.`position_status_content`,
baz_visit_instance.`position_status`,
baz_visit_instance.`create_time`,
baz_visit_instance.`update_time`,
baz_visit_instance.`tenant_id`,
baz_visit_instance.`del_flag`,
baz_visit_instance.`create_by`,
baz_visit_instance.`update_by` </sql>
<select id= "selectBazVisitInstanceList" parameterType= "com.qs.serve.modules.baz.entity.BazVisitInstance" resultMap= "bazVisitInstanceMap" >
SELECT
ins_flow.remark as summary,
ins_flow2.submit_time as sign_time,
ins_flow3.submit_time as out_time,
<include refid= "bazVisitInstanceSql" />
FROM `baz_visit_instance` `baz_visit_instance`
left join (
select baz_visit_instance_flow.remark,baz_visit_instance_flow.visit_instance_id from baz_visit_instance_flow where flow_biz_type = '3'
) ins_flow on ins_flow.visit_instance_id = baz_visit_instance.id
left join (
select baz_visit_instance_flow.submit_time,baz_visit_instance_flow.visit_instance_id from baz_visit_instance_flow where flow_biz_type = '1'
) ins_flow2 on ins_flow2.visit_instance_id = baz_visit_instance.id
left join (
select baz_visit_instance_flow.submit_time,baz_visit_instance_flow.visit_instance_id from baz_visit_instance_flow where flow_biz_type = '2'
) ins_flow3 on ins_flow3.visit_instance_id = baz_visit_instance.id
<where >
<if test= "query.id != null" > and `baz_visit_instance`.`id` = #{query.id}</if>
<if test= "query.title != null and query.title != ''" > and `baz_visit_instance`.`title` = #{query.title}</if>
<if test= "query.visitId != null" > and `baz_visit_instance`.`visit_id` = #{query.visitId}</if>
<if test= "query.targetType != null and query.targetType != ''" > and `baz_visit_instance`.`target_type` = #{query.targetType}</if>
<if test= "query.visitState != null" > and `baz_visit_instance`.`visit_state` = #{query.visitState}</if>
<if test= "query.visitorId != null and query.visitorId != ''" > and `baz_visit_instance`.`visitor_id` = #{query.visitorId}</if>
<if test= "query.visitorCode != null and query.visitorCode != ''" > and `baz_visit_instance`.`visitor_code` like concat('%',#{query.visitorCode},'%')</if>
<if test= "query.visitorName != null and query.visitorName != ''" > and `baz_visit_instance`.`visitor_name` like concat('%',#{query.visitorName},'%')</if>
<if test= "query.targetId != null and query.targetId != ''" > and `baz_visit_instance`.`target_id` = #{query.targetId}</if>
<if test= "query.targetCode != null and query.targetCode != ''" > and `baz_visit_instance`.`target_code` like concat('%',#{query.targetCode},'%') </if>
<if test= "query.targetName != null and query.targetName != ''" > and `baz_visit_instance`.`target_name` like concat('%',#{query.targetName},'%')</if>
<if test= "query.targetLocalX != null and query.targetLocalX != ''" > and `baz_visit_instance`.`target_local_x` = #{query.targetLocalX}</if>
<if test= "query.targetLocalY != null and query.targetLocalY != ''" > and `baz_visit_instance`.`target_local_y` = #{query.targetLocalY}</if>
<if test= "query.targetAddress != null and query.targetAddress != ''" > and `baz_visit_instance`.`target_address` = #{query.targetAddress}</if>
<if test= "query.targetMapAddress != null and query.targetMapAddress != ''" > and `baz_visit_instance`.`target_map_address` = #{query.targetMapAddress}</if>
<if test= "query.finishedTime != null" > and `baz_visit_instance`.`finished_time` = #{query.finishedTime}</if>
<if test= "query.missLocalFlag != null" > and `baz_visit_instance`.`miss_local_flag` = #{query.missLocalFlag}</if>
<if test= "query.remark != null and query.remark != ''" > and `baz_visit_instance`.`remark` = #{query.remark}</if>
<if test= "query.positionStatus != null and query.positionStatus != ''" > and `baz_visit_instance`.`position_status` = #{query.positionStatus}</if>
<if test= "query.createTime != null" > and `baz_visit_instance`.`create_time` = #{query.createTime}</if>
<if test= "query.updateTime != null" > and `baz_visit_instance`.`update_time` = #{query.updateTime}</if>
<if test= "query.tenantId != null and query.tenantId != ''" > and `baz_visit_instance`.`tenant_id` = #{query.tenantId}</if>
<if test= "query.delFlag != null and query.delFlag != ''" > and `baz_visit_instance`.`del_flag` = #{query.delFlag}</if>
<if test= "query.createBy != null and query.createBy != ''" > and `baz_visit_instance`.`create_by` = #{query.createBy}</if>
<if test= "query.updateBy != null and query.updateBy != ''" > and `baz_visit_instance`.`update_by` = #{query.updateBy}</if>
<if test= "query.queryUserIds!=null and query.queryUserIds.size > 0" >
and `baz_visit_instance`.`visitor_id` in
<foreach collection= "query.queryUserIds" item = "selectId" index= "i" open= "(" close= ")" separator= "," >
#{selectId}
</foreach>
</if>
<if test= "query.ignoreUserId != null and query.ignoreUserId != ''" > and `baz_visit_instance`.`visitor_id` != #{query.ignoreUserId}</if>
<if test= "query.queryStartDate != null" > and `baz_visit_instance`.`create_time` > = #{query.queryStartDate}</if>
<if test= "query.queryEndDate != null" > and `baz_visit_instance`.`create_time` < = #{query.queryEndDate}</if>
</where>
order by `baz_visit_instance`.`create_time` desc
</select>
</mapper>