select e.employee_id, e.employee_number, e.employee_name, e.id_card_number, e.position, e.department, e.salary_unit, e.hourly_salary, e.daily_salary, e.monthly_salary, e.employee_status, e.hire_date, e.contact_phone, e.library_id, e.is_temporary, e.create_time, e.update_time, e.created_by, e.updated_by, e.remark, e.dept_id, qr.verification_status from dc_employee_info e left join ( select employee_id, verification_status from dc_employee_qr_code where (employee_id, generate_time) in ( select employee_id, max(generate_time) from dc_employee_qr_code group by employee_id ) ) qr on e.employee_id = qr.employee_id insert into dc_employee_info employee_number, employee_name, id_card_number, position, department, salary_unit, hourly_salary, daily_salary, monthly_salary, employee_status, hire_date, contact_phone, library_id, is_temporary, create_time, update_time, created_by, updated_by, remark, dept_id, #{employeeNumber}, #{employeeName}, #{idCardNumber}, #{position}, #{department}, #{salaryUnit}, #{hourlySalary}, #{dailySalary}, #{monthlySalary}, #{employeeStatus}, #{hireDate}, #{contactPhone}, #{libraryId}, #{isTemporary}, #{createTime}, #{updateTime}, #{createBy}, #{updateBy}, #{remark}, #{deptId}, update dc_employee_info employee_number = #{employeeNumber}, employee_name = #{employeeName}, id_card_number = #{idCardNumber}, position = #{position}, department = #{department}, salary_unit = #{salaryUnit}, hourly_salary = #{hourlySalary}, daily_salary = #{dailySalary}, monthly_salary = #{monthlySalary}, employee_status = #{employeeStatus}, hire_date = #{hireDate}, contact_phone = #{contactPhone}, library_id = #{libraryId}, is_temporary = #{isTemporary}, update_time = #{updateTime}, updated_by = #{updateBy}, remark = #{remark}, dept_id = #{deptId}, where employee_id = #{employeeId} delete from dc_employee_info where employee_id = #{employeeId} delete from dc_employee_info where employee_id in #{employeeId} insert into dc_employee_info (employee_number, employee_name, id_card_number, position, department, salary_unit, hourly_salary, daily_salary, monthly_salary, employee_status, hire_date, contact_phone, library_id, is_temporary, create_time, created_by, dept_id) values (#{item.employeeNumber}, #{item.employeeName}, #{item.idCardNumber}, #{item.position}, #{item.department}, #{item.salaryUnit}, #{item.hourlySalary}, #{item.dailySalary}, #{item.monthlySalary}, #{item.employeeStatus}, #{item.hireDate}, #{item.contactPhone}, #{item.libraryId}, #{item.isTemporary}, #{item.createTime}, #{item.createBy}, #{item.deptId})