select mf.id, mf.face_name, mf.birth_date,
CASE
WHEN LENGTH(birth_date) = 15 THEN
-- 15位身份证号,提取出生年份、月份、日期并计算年龄
FLOOR(DATEDIFF(CURDATE(), STR_TO_DATE(CONCAT('19', SUBSTRING(birth_date, 7, 6)), '%Y%m%d')) / 365.25)
WHEN LENGTH(birth_date) = 18 THEN
-- 18位身份证号,提取出生年份、月份、日期并计算年龄
FLOOR(DATEDIFF(CURDATE(), STR_TO_DATE(SUBSTRING(birth_date, 7, 8), '%Y%m%d')) / 365.25)
ELSE
NULL
END AS age,
mf.face_phone, mf.face_url,
mf.is_work, mf.remark, mf.create_time,mf.use_time,mf.dept_id,d.dept_name,
mf.bp_high,
mf.bp_low,
mf.br,
mf.hr,
mf.hrv,
mf.spo2,
mf.hd,
mf.temperature
from mine_face mf
inner join sys_dept d on mf.dept_id = d.dept_id
insert into mine_face
id,
face_name,
birth_date,
face_phone,
face_url,
is_work,
remark,
create_time,
use_time,
face_byte,
dept_id,
#{id},
#{faceName},
#{birthDate},
#{facePhone},
#{faceUrl},
#{isWork},
#{remark},
#{createTime},
#{useTime},
#{faceByte},
#{deptId},
update mine_face
face_name = #{faceName},
birth_date = #{birthDate},
face_phone = #{facePhone},
face_url = #{faceUrl},
is_work = #{isWork},
remark = #{remark},
create_time = #{createTime},
dept_id = #{deptId},
use_time=#{useTime},
face_byte = #{faceByte},
where id = #{id}
update mine_face
bp_high = #{bpHigh},
bp_low = #{bpLow},
br = #{br},
hr = #{hr},
hrv = #{hrv},
hd = #{hd},
spo2 = #{spo2},
temperature = #{temperature},
where id = #{id}
delete from mine_face where id = #{id}
delete from mine_face where id in
#{id}