JAVA签到系统的逻辑判断部分应该怎么判断?

qq_23261085 2018-01-11 03:27:15
补签功能
1.当天之前没有过签到,那么只能补签到当天的前一天。
例如今天11号,之前无签到次数,那么就只能补签到10号,11号必须是签到。
2.当天之前有过签到,那么就可以补签到当天,切换到次日,不能补签。
例如今天11号,之前有过1次签到,那么就可以补签到11号,(然后PC系统时间调整为12号时,不能补签)。括号里是我不懂的
地方,并没有判断出来如何达成这个条件。
注意: 如果没有限制这些条件其实就是不管今天是几号,点1次补签就都是从次数为1开始累加。
以下贴出我的代码思路,并没有实现,因为两种情况互斥了,还请大佬们看完我的思路帮我指点一下迷津。
if (当日Day - 1 > 签到总次数) { if (当日Day > 签到总次数) {
执行补签 执行补签
} else { } else {
不能补签,请签到! 不能补签,请签到!
} }






...全文
1135 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
thank_you52 2018-01-15
  • 打赏
  • 举报
回复
引用 10 楼 qq_23261085 的回复:
[quote=引用 9 楼 thank_you52 的回复:] 有一段代码,执行顺序签到(与今天是几号没关系),执行1次,签到次数就会加1,这样以此类推,到了每个月1号执行时,签到次数再从1开始。 1.怎么样判断,才能只签到至今天(今天的12号作为示例)为止 2.怎么样判断,才能只签到至今天(今天的12号作为示例)的前一天为止 单独建个变量flag,如果之前没有签到,变量为1,有则为0 ,然后 if (当日Day - flag> 签到总次数) { 执行补签 } else { 不能补签,请签到! }
这个问题我解决了。大神,我想问你另一个问题,我有点不懂。 每到一个新的月份 就把 签到次数归零,这应该怎么操作? 比如今天1月13号,我点了1次签到,签到次数+1。 时间切换到2月15号时点1次签到,签到次数应该显示为1,切换到3月26号,点1次签到 还应该是显示签到次数为1。 这个怎么判断?[/quote] 这个应该在你统计签到总数的时候处理,分为历史累计签到次数和当月签到次数,不知道你的数据库是怎么设计的,有没有记录下前一次签到的时间?
  • 打赏
  • 举报
回复
问题描述的不是特别清楚。。我觉得你应该为每个人增加一个每天的补签状态flag,true表示已经补签,false表示还未补签,假如今天是10号,在今天签到之前的总签到次数为n,则
if (n > 0) {
  if (!flag) {
      补签到10号;
     flag = true;
  }
} else {
  if (!flag) {
      补签到9号;
     flag = true;
  }
}
什么都不能 2018-01-14
  • 打赏
  • 举报
回复
你这是真实项目呢还是自己做着玩呢?补签是要经过人事的确认或者是直属领导确认,属于一个人事考勤流程,和休假、请假属于一个范畴,而且补签还需要涉及到考勤记录,比如 11号打开时间是11:00 ~ 18:00,那你再补签就不合适了,那就是旷工半天。
qq_23261085 2018-01-13
  • 打赏
  • 举报
回复
引用 6 楼 qq_38655879 的回复:
你做的是BS还是CS?
这个问题我解决了。大神,我想问你另一个问题,我有点不懂。 每到一个新的月份 就把 签到次数归零,这应该怎么操作? 比如今天1月13号,我点了1次签到,签到次数+1。 时间切换到2月15号时点1次签到,签到次数应该显示为1,切换到3月26号,点1次签到 还应该是显示签到次数为1。 这个怎么判断?
qq_23261085 2018-01-13
  • 打赏
  • 举报
回复
引用 9 楼 thank_you52 的回复:
有一段代码,执行顺序签到(与今天是几号没关系),执行1次,签到次数就会加1,这样以此类推,到了每个月1号执行时,签到次数再从1开始。 1.怎么样判断,才能只签到至今天(今天的12号作为示例)为止 2.怎么样判断,才能只签到至今天(今天的12号作为示例)的前一天为止 单独建个变量flag,如果之前没有签到,变量为1,有则为0 ,然后 if (当日Day - flag> 签到总次数) { 执行补签 } else { 不能补签,请签到! }
这个问题我解决了。大神,我想问你另一个问题,我有点不懂。 每到一个新的月份 就把 签到次数归零,这应该怎么操作? 比如今天1月13号,我点了1次签到,签到次数+1。 时间切换到2月15号时点1次签到,签到次数应该显示为1,切换到3月26号,点1次签到 还应该是显示签到次数为1。 这个怎么判断?
thank_you52 2018-01-12
  • 打赏
  • 举报
回复
有一段代码,执行顺序签到(与今天是几号没关系),执行1次,签到次数就会加1,这样以此类推,到了每个月1号执行时,签到次数再从1开始。 1.怎么样判断,才能只签到至今天(今天的12号作为示例)为止 2.怎么样判断,才能只签到至今天(今天的12号作为示例)的前一天为止 单独建个变量flag,如果之前没有签到,变量为1,有则为0 ,然后 if (当日Day - flag> 签到总次数) { 执行补签 } else { 不能补签,请签到! }
qq_23261085 2018-01-12
  • 打赏
  • 举报
回复
引用 6 楼 qq_38655879 的回复:
你做的是BS还是CS?
我重新描述一下吧。有一段代码,执行顺序签到(与今天是几号没关系),执行1次,签到次数就会加1,这样以此类推,到了每个月1号执行时,签到次数再从1开始。 1.怎么样判断,才能只签到至今天(今天的12号作为示例)为止 2.怎么样判断,才能只签到至今天(今天的12号作为示例)的前一天为止
qq_23261085 2018-01-12
  • 打赏
  • 举报
回复
引用 6 楼 qq_38655879 的回复:
你做的是BS还是CS?
cs
WejanLin 2018-01-12
  • 打赏
  • 举报
回复
你做的是BS还是CS?
qq_23261085 2018-01-11
  • 打赏
  • 举报
回复
引用 2 楼 shangjianli 的回复:
来,哥给你指点下
那你就说说呗 提提意见或者是解决思路
qq_23261085 2018-01-11
  • 打赏
  • 举报
回复
引用 3 楼 qq_38655879 的回复:
2.当天之前有过签到,那么就可以补签到当天,切换到次日,不能补签。 例如今天11号,之前有过1次签到,那么就可以补签到11号,(然后PC系统时间调整为12号时,不能补签)。括号里是我不懂的 这个逻辑有点看不懂。例如今天是11号,那我直接签到就行了,为啥还要补签?之前有签到过时指11号之前都有签到还是11号之前有过1次以上的签到?PC系统时间调整为12号时不能补签?这个是防止别人非法签到还是?
算是防止别人非法签到吧,虽然改成12号以后不管签到还是补签都只能到12号为止,但是防止用户点补签按钮,所以点补签按钮要提示错误。大神有何高见?
WejanLin 2018-01-11
  • 打赏
  • 举报
回复
2.当天之前有过签到,那么就可以补签到当天,切换到次日,不能补签。 例如今天11号,之前有过1次签到,那么就可以补签到11号,(然后PC系统时间调整为12号时,不能补签)。括号里是我不懂的 这个逻辑有点看不懂。例如今天是11号,那我直接签到就行了,为啥还要补签?之前有签到过时指11号之前都有签到还是11号之前有过1次以上的签到?PC系统时间调整为12号时不能补签?这个是防止别人非法签到还是?
高 斯林 2018-01-11
  • 打赏
  • 举报
回复
来,哥给你指点下
qq_23261085 2018-01-11
  • 打赏
  • 举报
回复
快来人啊啊啊
申请单位 申请编号 需求名称 客户资料管理系统 所属系统 联 系 人 联系电话 目 录 1 总体概述 3 业务需求 4 1.1 业务需求简述 4 1.2 具体业务需求 5 1.3 技术要求 9 1.3.1 技术要求 9 1.3.2 安全要求 9 1.3.3 运行要求 9 1.3.4 响应时间 9 1.3.5 帮助和培训 9 总体概述    满足客户管理员对客户资料的维护。 业务需求 业务需求简述 客户管理员账号管理:由系统管理员对客户资料管理系统分配客户管理员用户。 客户管理员签到签退:录入客户管理员账号和登陆密码,登陆客户资料管理系统,方可维护客户资料信息。 客户资料登记:主要对客户资料进行录入,并记录在系统上。 业务报表:主要提供客户管理员进行查询/打印客户开销户资料。 具体业务需求 业务需求1:客户管理员账号管理 n 系统管理员登陆客户资料管理系统后,创建、删除客户管理员账号,并可重置初始化客户管理员账号密码。 详细的描述 n.1 业务流程: 系统管理员打开客户资料管理系统系统显示用户登陆画面; 系统管理员录入登陆账号和密码,系统校验用户权限为系统管理员权限后,进入维护客户管理员账号画面; 创建客户管理员账号信息。 账号信息包括:客户管理员账号、密码、客户管理员姓名、创建时间、备注 查询时,可根据客户管理员账号或客户管理员姓名查询上述账户信息。 删除时,可根据客户管理员账号或客户管理员姓名查询上述账户信息后,让系统管理员确认是否需删除。 重置初始化密码:可根据客户管理员账号或客户管理员姓名查询上述账户信息,并提供系统管理员重置初始化客户管理员账号的密码。 说明: 唯一性判断:客户管理员账号。 删除要求:必须在备注上填写删除原因。 系统管理员账号维护:初始化到数据库中,登陆时读取数据库信息,匹配后才允许登陆客户资料管理系统系统管理员权限:系统管理员的权限只能维护客户管理员账号信息,不能维护客户资料信息。 n.2 …. 影响要素 业务需求2:客户管理员账号签到/签退 n 客户管理员登陆、退出客户资料管理系统。 详细的描述 n.1 业务流程: 客户管理员打开客户资料管理系统系统显示用户登陆画面; 客户管理员录入登陆账号和密码,系统校验用户权限为客户管理员权限后,进入客户管理系统; 客户管理员通过点击退出按钮或菜单退出系统。 说明: 系统使用权限:客户管理员登陆成功后,只能使用以下功能: 客户管理员密码修改,且只能修改本人密码功能。 客户资料登记维护功能。 业务报表功能。 签约银行账号排名报表。 密码修改:若客户管理员首次登陆系统,则必须提示客户管理员修改密码后方可使用系统。 n.2 …. 影响要素 业务需求3:客户管理员密码修改 n 客户管理员修改本人用户密码。 详细的描述 n.1 业务流程: 客户管理员登陆客户资料管理系统后,进入客户管理密码修改画面; 录入密码信息,系统同步更新客户管理员密码信息。 密码信息包括:旧密码、新密码、确认新密码。 说明: 密码要求:旧密码和新密码不能相同。 n.2 …. 影响要素 业务需求4:客户资料登记、查询、修改、销户 n 客户管理员对客户资料登记。 详细的描述 n.1 业务流程: 客户管理员根据客户的签约协议,在客户资料管理画面上进行资料录入; 录入的客户资料保留在客户管理系统。 登记资料内容有:姓名、证件类型、证件号码、出生日期、性别、邮编、联系电话、联系地址、银行账号。 查询时,可根据证件号码或者银行账号查询上述所登记的资料。 修改时,可根据证件号码或者银行帐号查询出上述资料后,让客户管理员修改所登记的资料。 销户时,可根据证件号码或者银行帐号查询出上述资料后,让客户管理员确认是否需销户。 说明: 唯一性判断:证件类型+证件号码为唯一。 签约要求:一个客户可以签约多张银行卡。 n.2 …. 影响要素 业务需求5:业务报表 n 客户管理员通过业务报表查询客户资料,并可以打印单笔的客户资料以及导出Excel。 详细的描述 n.1 业务流程 客户管理员在业务报表画面上录入查询信息进行查询。   查询时,可以根据客户开销户日期(提供时间段查询)、姓名、证件号码、银行账号查询客户签约信息。 查询成功后,客户资料展现在业务报表画面,并且每页最多显示20条记录,若超出20条记录,则需提供上下翻页查询功能。 查询成功后,提供将查询出来结果信息以Excel格式导出到本地。 查询成功后,客户管理员选在某个客户信息打印资料,具体打印格式如下: XXXX银行客户信息 开销户日期:XXXX/XX/XX——XXXX/XX/XX 打印日期:XXXX/XX/XX   客户名称:XXXXX 开户销户: [开户/销户]   证件类型:XXXXX 证件号码:XXXXXXXXXXX   签约银行账号: XXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXX 说明: 客户管理员可查询客户的开户、销户信息。 查询要素包括:姓名、证件类型、证件号码、出生日期、性别、邮编、联系电话、联系地址。 打印功能选做。 n.2 …. 影响要素 业务需求6:签约银行账号排名报表 n 客户管理员查询签约银行账号排名报表。 详细的描述 n.1 业务流程 客户管理员在签约银行账号排名报表画面上录入查询信息进行查询。   查询时,可以根据客户开销户日期(提供时间段查询)。 显示要素:签约银行帐号、客户姓名、协议数 查询成功后,客户资料展现在业务报表画面,并且每页最多显示20条记录,若超出20条记录,则需提供上下翻页查询功能。 说明: 客户管理员可查询客户的开户、销户的账户号信息。 查询要素包括:姓名、银行账号。 显示要求:按同一个客户名下签约银行账号的多少进行倒序显示。 n.2 …. 影响要素 技术要求 技术要求    交易画面展现使用:Java (J2SE或J2EE)    后台业务逻辑实现使用:Python    前台和后台报文可采用TCP/IP等通讯协议不限制,自行选择协议(需在接口文档中描述)    数据库:Mysql 安全要求    用户密码必须加密保存,加密算法可采用MD5、DES、3DES、BASE64等,自行选择或自定义算法(需在接口文档中描述) 运行要求    后台服务部署在Linux服务器;    提供windows平台客户端或浏览器的登录功能; 响应时间    响应每个操作要求应小于10秒。 帮助和培训    操作手册、数据库表说明等文档。
系统功能1、管理员管理:根据不同角色设置不同的管理权限;2、小区管理,管理多个小区资料,新增、修改、删除、摄像头管理等功能;3、小区摄像头管理:摄像头的新增、修改及删除功能;4、居民管理:居民资料新增,修改,删除,Excel批量导入,导出,居民人脸采集;5、访客登记:访客的新增,修改,删除,进入登记,离开登记,查询等功能;6、人脸识别:居民出入小区人脸识别功能的实现,使用腾讯AI人脸识别技术实现;7、出入记录:居民出入小区的人脸识别记录查询;8、小区地图:所有小区在地图的分布情况,使用百度地图实现;9、使用Echarts技术实现小区人员分类统计(柱状)图表;10、菜单管理:新增、修改、删除菜单功能(包括目录,菜单,按钮)11、角色管理:新增、修改、删除角色(系统角色、普通角色)12、系统日志:记录了系统中所有操作的日志,方便发现问题,查找原因;运行环境:  1、JDK1.8及以上版本  2、Tomcat 8.5及以上版本  3、MySql 5.7及以上版本  4、Redis开发工具:  1、前端开发工具:Visual Studio Code  2、后端开发工具:Intellij IDEA使用技术:  1、Vue2.x+ElementUI(前端)  2、Springboot+MyBatisPlus+Redis+Shiro+Swagger(后端)  3、人脸识别技术(腾讯AI)  4、MySql数据库技术  5、Redis缓存技术  6、百度地图  7、Echarts图表技术  8、POI Excel导入导出技术  9、Shiro权限控制:菜单管理,角色管理,权限管理(按钮及用户级别权限)  10、 Swagger接口配置管理,接口文档管理技术  11、Token单点技术(一个用户不能同时在多个设备登录使用)  12、前后端分离跨域设置等技术

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧