实现数据库检测今日是否已打卡
这个查询功能会在一次替补打卡的过程中检测两次,第一次在选中日期时,提示已存在,
但不会阻止继续操作,在保存时通过接口,才会真正阻止保存操作。
首先在前台将需要检查的时间和打卡用户的身份证号共同传入接口,业务层和控制层都是基本使用Boolean判断,所以直接上SQL:
SELECT COUNT(*) FROM BMGL_KQXX
WHERE sbsj >= #{date, jdbcType=VARCHAR} AND sbsj < to_char(to_date(#{date, jdbcType=VARCHAR}, 'yyyymmddhh24miss')+1, 'yyyymmddhh24miss') AND sfzh = #{sfzh, jdbcType=VARCHAR}
解释一波:这里的date是传过来的一个值,这里的处理是只将一个固定值传过来,如:201907121540,在SQL中将他的日期+1操作,变为201907131540,形成一整天的范围,在SQL中形成区间,sfzh即身份证号,则用于约束指定用户。
本来这个还不知道如何实现,还是问了数据组的同事才知道的,想想自己写SQL的技术还是菜的一批啊
本文来自博客园,作者:我永远喜欢石原里美,转载请注明原文链接:https://www.cnblogs.com/yuan-zhou/p/11096473.html