gz_att/bonus-modules/bonus-system/src/main/resources/mapper/att/WechatPushMapper.xml

186 lines
8.3 KiB
XML
Raw Normal View History

2024-12-04 00:03:55 +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">
<mapper namespace="com.bonus.system.att.dao.WechatPushDao">
<insert id="insertWechatPerson">
insert into gz_attendance_wechat.sys_user_wechat(user_id,user_name,phone,password,is_pd,is_face,update_time,is_cadre)
values(#{userId},#{userName},#{phone},#{password},#{isPd},#{isFace},#{updateTime},#{isCadre})
</insert>
<insert id="insertWebFace">
2024-12-04 18:31:58 +08:00
insert into sys_user_face(user_id,applied_face,applied_face_features,new_face,new_face_features,is_check,collection_time,examine_time)
values(#{userId},#{appliedFace},#{appliedFaceFeatures},#{newFace},#{newFaceFeatures},#{isCheck},#{collectionTime},#{examineTime})
2024-12-04 00:03:55 +08:00
</insert>
<insert id="insertWebLeave" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
insert into leave_apply(leave_form_id,submit_id,user_id,user_name,org_id,org_name,type,
leave_type,leave_reason,leave_start_date,leave_start_interval,leave_end_date,leave_end_interval,
leave_duration,examine_user_id,examine_opinion,examine_time,examine_status,host_user_id,
host_user_name,is_agree,location,source,create_user_id,create_time,update_user_id,update_time,remark)
values(#{leaveFormId},#{submitId},#{userId},#{userName},#{orgId},#{orgName},#{type},
#{leaveType},#{leaveReason},#{leaveStartDate},#{leaveStartInterval},#{leaveEndDate},
#{leaveEndInterval},#{leaveDuration},#{examineUserId},#{examineOpinion},#{examineTime},
#{examineStatus},#{hostUserId},#{hostUserName},#{isAgree},#{location},#{source},
#{createUserId},#{createTime},#{updateUserId},#{updateTime},#{remark})
</insert>
<insert id="insertWechatLeave">
insert IGNORE into leave_apply(id,leave_form_id,submit_id,user_id,user_name,org_id,org_name,type,
leave_type,leave_reason,leave_start_date,leave_start_interval,leave_end_date,leave_end_interval,
leave_duration,examine_user_id,examine_opinion,examine_time,examine_status,host_user_id,
host_user_name,is_agree,location,source,create_user_id,create_time,update_user_id,update_time,remark)
values(#{id}#{leaveFormId},#{submitId},#{userId},#{userName},#{orgId},#{orgName},#{type},
#{leaveType},#{leaveReason},#{leaveStartDate},#{leaveStartInterval},#{leaveEndDate},
#{leaveEndInterval},#{leaveDuration},#{examineUserId},#{examineOpinion},#{examineTime},
#{examineStatus},#{hostUserId},#{hostUserName},#{isAgree},#{location},#{source},
#{createUserId},#{createTime},#{updateUserId},#{updateTime},#{remark})
</insert>
<update id="updateWechatPerson">
update gz_attendance_wechat.sys_user_wechat set user_name = #{userName},phone = #{phone},
password = #{password},update_time = #{updateTime},is_cadre = #{isCadre},is_face = #{isFace}
where user_id = #{userId}
</update>
<update id="updateWebPassword">
update sys_user set password = #{password} where user_id = #{userId}
</update>
<update id="updateWebOpenId">
update sys_user set open_id = #{openId} where user_id = #{userId}
</update>
<update id="updateWechatIsPd">
update gz_attendance_wechat.sys_user_wechat set is_pd = #{isPd} where user_id = #{userId}
</update>
<update id="updateWebFace">
2024-12-04 18:31:58 +08:00
update sys_user_face set new_face = #{newFace},new_face_features = #{newFaceFeatures},is_check = #{isCheck},
collection_time = #{collectionTime},examine_time = #{examineTime}
2024-12-04 00:03:55 +08:00
where user_id = #{userId}
</update>
<update id="updateWechatIsFace">
update gz_attendance_wechat.sys_user_wechat set is_face = #{isFace} where user_id = #{userId}
</update>
<update id="checkWechatIsFace">
update gz_attendance_wechat.sys_user_face_wechat
<if test="isCheck == '1'">
set is_check = #{isCheck},applied_face = new_face,applied_face_features = new_face_features
</if>
<if test="isCheck == '2'">
set is_check = #{isCheck},new_face = null,new_face_features = null
</if>
2024-12-04 11:13:15 +08:00
where user_id = #{userId}
2024-12-04 00:03:55 +08:00
</update>
<update id="updateWechatLeave">
update gz_attendance_wechat.leave_apply_wechat set id = #{id} where uuid = #{uuid}
</update>
<delete id="deleteWechatLeave">
delete gz_attendance_wechat.leave_apply_wechat where id is not null And uuid is not null
</delete>
<select id="getPersonList" resultType="com.bonus.system.api.domain.SysUser">
SELECT
su.user_id,
su.user_name,
su.phone,
su.`password`,
IF(applied_face is null,1,su.is_face) as isFace,
pd.org_id,
IF
( pd.org_id IS NOT NULL, 1, 0 ) isPd,
su.update_time,
su.open_id
FROM
sys_user su
LEFT JOIN (
SELECT
suo.user_id,
suo.org_id
FROM
sys_user_org suo
INNER JOIN sys_organization so ON so.id = suo.org_id
LEFT JOIN att_group_person_relation ag on ag.user_id = suo.user_id and ag.is_active = '1'
WHERE
so.is_active = '1'
AND suo.is_active = '1'
AND so.is_department = '1' and ag.group_id is not null
) pd ON pd.user_id = su.user_id
LEFT JOIN sys_user_face sw ON sw.user_id = su.user_id
WHERE
is_active = '1'
GROUP BY
user_id
</select>
<select id="getWeChatPersonList" resultType="com.bonus.system.api.domain.SysUser">
SELECT
*
FROM
gz_attendance_wechat.sys_user_wechat
WHERE is_active = '1'
</select>
<select id="getWeChatFaceList" resultType="com.bonus.system.att.entity.AttFaceBean">
SELECT
*
FROM
gz_attendance_wechat.sys_user_face_wechat
</select>
<select id="getWebFaceList" resultType="com.bonus.system.att.entity.AttFaceBean">
SELECT
*
FROM
sys_user_face
</select>
<select id="getWechatLeaveList" resultType="com.bonus.system.evection.entity.EvectionBean">
select * from gz_attendance_wechat.leave_apply_wechat where is_active = '1' and id is null
</select>
<select id="getOrgInfoByUserId" resultType="com.bonus.system.basic.domain.SysOrg">
SELECT
2024-12-05 10:46:34 +08:00
distinct
2024-12-04 00:03:55 +08:00
user_id,
org_id AS id,
org_name,
att_range,
so.lon,
so.lat
FROM
att_group_person_relation ag
LEFT JOIN sys_organization so ON so.id = ag.org_id
LEFT JOIN att_group_setting agt on agt.group_id = ag.group_id and agt.is_active = '1'
AND so.is_active = '1'
WHERE
ag.is_active = '1'
AND ag.user_id = #{userId}
2024-12-05 10:46:34 +08:00
limit 1
2024-12-04 00:03:55 +08:00
</select>
<select id="getWebLeaveList" resultType="com.bonus.system.evection.entity.EvectionBean">
SELECT
*
from
leave_apply
where is_active = '1'
</select>
<select id="getWechatAttList" resultType="com.bonus.system.att.entity.AttSourceDataBean">
SELECT
*
from
gz_attendance_wechat.att_source_data_wechat
where is_active = '1' and is_outside_att = '0'
</select>
<select id="getOrgInfoByUserName" resultType="com.bonus.system.basic.domain.SysOrg">
SELECT
2024-12-05 10:46:34 +08:00
distinct
2024-12-04 00:03:55 +08:00
ag.user_id,
ag.org_id AS id,
so.org_name,
agt.att_range,
so.lon,
so.lat
FROM
att_group_person_relation ag
LEFT JOIN sys_organization so ON so.id = ag.org_id AND so.is_active = '1'
LEFT JOIN att_group_setting agt on agt.group_id = ag.group_id and agt.is_active = '1'
LEFT JOIN sys_user su ON su.user_id = ag.user_id AND su.is_active = '1'
WHERE
su.user_name = #{userName}
2024-12-05 10:46:34 +08:00
limit 1
2024-12-04 00:03:55 +08:00
</select>
</mapper>