charging_pile/common/target/classes/mapper/StaffMapper.xml

118 lines
4.9 KiB
XML
Raw Normal View History

<?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.hcy.common.mapper.staff.StaffMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.hcy.common.entity.staff.Staff">
<!-- <id column="id" property="id"/>
<result column="create_id" property="createId"/>
<result column="create_time" property="createTime"/>
<result column="update_id" property="updateId"/>
<result column="update_time" property="updateTime"/>
<result column="company_id" property="companyId"/>
<result column="account_id" property="accountId"/>
<result column="account_chart_id" property="accountChartId"/>
<result column="is_add_next_level" property="isAddNextLevel"/>
<result column="is_reallocate" property="isReallocate"/>
<result column="tenant_id" property="tenantId"/>-->
</resultMap>
<select id="page" resultType="com.hcy.common.dto.result.StaffResultDto">
select a.*,
b.sn as userSn,
b.avatar as avatarUri,
b.nickname,
b.username,
b.mobile
from la_staff a
left join la_user b on a.user_id = b.id
<where>
a.is_delete = 0
<if test="form.status != null">
and a.status = #{form.status}
</if>
<if test="form.userInfo != null and form.userInfo != ''">
and (b.nickname like concat('%', #{form.userInfo}, '%') or
b.mobile like concat('%', #{form.userInfo}, '%'))
</if>
<if test="form.staffInfo != null and form.staffInfo != ''">
and (a.sn like concat('%', #{form.staffInfo}, '%')
or a.name like concat('%', #{form.staffInfo}, '%')
or a.mobile like concat('%', #{form.staffInfo}, '%'))
</if>
<if test="form.isRecommend != null">
and a.is_recommend = #{form.isRecommend}
</if>
<if test="form.provinceId != null">
and a.province_id = #{form.provinceId}
</if>
<if test="form.cityId != null">
and a.city_id = #{form.cityId }
</if>
<if test="form.districtId != null">
and a.district_id = #{form.districtId}
</if>
<if test="form.userInfo != null and form.userInfo != ''">
and (b.nickname like concat('%', #{form.userInfo}, '%') or
b.mobile like concat('%', #{form.userInfo}, '%'))
</if>
<if test="form.isReceiveOrder != null">
and a.is_receive_order = #{form.isReceiveOrder}
</if>
<if test="form.isOrder != null">
and a.is_order = #{form.isOrder}
</if>
<if test="form.isReceiveOrder != null and form.isOrder != null">
and ((a.id NOT IN (
SELECT DISTINCT
staff_id
FROM
la_order
WHERE
is_delete = 0
AND ( order_status = 1 OR order_status = 2 )
AND is_dispatch = 1
AND ( appoint_time_start &gt; ${form.appointTimeStart} AND appoint_time_end &lt; ${form.appointTimeEnd} )) or a.is_operational = 1)
or a.is_operational = 1)
</if>
</where>
order by a.create_time desc
</select>
<select id="getReceiveOrderStaffByOrderId" resultType="com.hcy.common.entity.staff.Staff">
SELECT
*
FROM
la_staff
WHERE
is_delete = 0
and FIND_IN_SET((
SELECT
gc.id
FROM
la_order AS o
LEFT JOIN la_order_goods AS og ON o.id = og.order_id
LEFT JOIN la_goods AS g ON g.id = og.goods_id
LEFT JOIN la_goods_category AS gc ON gc.id = g.category_id
WHERE
o.id = #{orderId}
),
goods_category_ids)
</select>
<select id="getNotPhysicalExaminationStaff" resultType="com.hcy.common.entity.staff.Staff">
SELECT
s.*
FROM
la_staff AS s
LEFT JOIN la_staff_physical_examination AS spe ON spe.staff_id = s.id
<where>
s.is_delete = 0
AND (s.physical_examination is null or s.physical_examination = '')
AND (spe.`status` != 0 or spe.`status` is null)
<if test="keyword != null and keyword != ''">
AND (s.name like CONCAT('%',#{keyword},'%') or s.sn like CONCAT('%',#{keyword},'%') or s.mobile like CONCAT('%',#{keyword},'%'))
</if>
</where>
</select>
</mapper>