实现数据库检测今日是否已打卡

这个查询功能会在一次替补打卡的过程中检测两次,第一次在选中日期时,提示已存在,

但不会阻止继续操作,在保存时通过接口,才会真正阻止保存操作。

首先在前台将需要检查的时间和打卡用户的身份证号共同传入接口,业务层和控制层都是基本使用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的技术还是菜的一批啊

 

posted @ 2019-06-27 13:38  我永远喜欢石原里美  阅读(391)  评论(0编辑  收藏  举报