replace into att_source_data(name, id_number, org_id, org_name, att_current_day,
att_current_time, att_type, att_address, att_lon, att_lat, data_source, remark)
values (#{params.name}, #{params.idNumber}, #{params.orgId}, #{params.orgName},
#{params.attCurrentDay}, #{params.attCurrentTime}, #{params.attType},
#{params.attAddress}, #{params.attLon}, #{params.attLat}, #{params.dataSource}, #{params.remark})
insert into att_data(user_id, org_id, att_current_day, att_status, att_type)
values (#{userId}, #{orgId}, #{attCurrentDay}, #{attStatus}, #{attType})
replace into att_day_report(att_current_day, org_id, normal_num, late_num, early_num, skipping_num,
leave_num, address_error_num, ein_error_num, rest_num, out_num)
values (#{params.attCurrentDay}, #{params.orgId}, #{params.normalNum}, #{params.lateNum},
#{params.earlyNum}, #{params.skippingNum}, #{params.leaveNum},
#{params.addressErrorNum}, #{params.einErrorNum}, #{params.restNum}, #{params.outNum})
insert into att_month_report(user_id, name, org_id, org_name, att_current_month,
required_days, normal_num, late_num, early_num, skipping_num,
leave_num, address_error_num, ein_error_num, rest_num, out_num, business_trip_num)
values (#{params.userId}, #{params.userName}, #{params.orgId}, #{params.orgName},
#{params.attCurrentMonth}, #{params.requiredDays}, #{params.normalNum}, #{params.lateNum},
#{params.earlyNum}, #{params.skippingNum}, #{params.leaveNum},
#{params.addressErrorNum}, #{params.einErrorNum}, #{params.restNum}, #{params.outNum}, #{params.businessTripNum})
insert into sys_holiday(date, name, type)
values (#{date}, #{name}, #{type})
insert into att_data_update(user_id, org_id, att_current_day, att_status, att_type)
values (#{userId}, #{orgId}, #{attCurrentDay}, #{attStatus}, #{attType})
replace into att_work_abnormal(user_id, user_name,org_id, att_current_day,att_current_time, att_address)
values (#{item.userId}, #{item.name},#{item.orgId}, #{item.attCurrentDay}, #{item.attCurrentTime},
#{item.attAddress})
update att_data set att_current_time = #{params.attCurrentTime},
att_address = #{params.attAddress}, att_lon = #{params.attLon}, att_lat = #{params.attLat},
data_source = #{params.dataSource},
error_remake = #{params.remark},
att_status = CASE
WHEN att_status in (SELECT dict_value
FROM sys_dict_data
where dict_type = 'att_status' and (is_leave = '1' or is_leave = '2') ) THEN att_status
ELSE #{params.attStatus}
END
where user_id = #{params.userId} and org_id = #{params.orgId}
AND att_current_day = #{params.attCurrentDay} and att_type = #{params.attType};
update att_data_update set att_current_time = #{params.attCurrentTime},
att_address = #{params.attAddress}, att_lon = #{params.attLon}, att_lat = #{params.attLat},
data_source = #{params.dataSource},
error_remake = #{params.remark},
att_status = CASE
WHEN att_status in (SELECT dict_value
FROM sys_dict_data
where dict_type = 'att_status' and (is_leave = '1' or is_leave = '2')) THEN att_status
ELSE #{params.attStatus}
END
where is_update = 0 and user_id = #{params.userId} and org_id = #{params.orgId}
and att_current_day = #{params.attCurrentDay} and att_type = #{params.attType}
update att_data set att_status = #{v.attStatus},org_id = #{v.orgId}
where user_id = #{v.userId} and att_current_day = #{v.attCurrentDay} and att_type = #{v.attType}
and att_status = 0
update att_data_update set att_status = #{v.attStatus},org_id = #{v.orgId}
where is_update = 0 and user_id = #{v.userId}
and att_current_day = #{v.attCurrentDay} and att_type = #{v.attType}
and att_status = 0
delete
from att_source_data
where att_current_day = #{date} and data_source != 3;
update att_data
set att_current_time = null,
att_status = 0,
att_address = null,
att_lon = null,
att_lat = null
where att_current_day = #{date};
update att_data_update
set att_current_time = null,
att_status = 0,
att_address = null,
att_lon = null,
att_lat = null
where att_current_day = #{date};
delete
from att_source_data
where att_current_day = #{date} and data_source != 3;
delete
from att_data
where att_current_day = #{date};
delete
from att_data_update
where att_current_day = #{date};
delete
from att_month_report
where att_current_month = DATE_FORMAT(#{pushDate}, '%Y-%m')