请大家给一点思路

问题描述

现在我用struts2+hibernate+spring写一个单位值班程序,现实情况是每个人值班一个星期,下个星期就是另一个人值班.我目前是这样做的:建两个表,一个是值班排布表(duty),另一个是值班明细表(dutyinfo).duty表里有值班人姓名(username)和值班顺序ID(orderid),dutyinfo表里有username,orderid,值班开始时间(begintime)和值班结束时间(endtime).我写得有一个排班方法:就是每到星期一根据传到的ID和duty表里的总记录比较,如果ID<总记录数,那么返回ID+1,如果ID=总记录,那么返回"1",其他就返回该ID.然后在action里根据排班方法返回的ID(其实就是获得本周的值班顺序ID)查到一条duty记录,保存在dutyinfo里.现在我想问下:1.我的思路有没有问题?2.有没有做个类似程序的,能不能给点更好一点的建议?3.就是当到星期一这一天,我每访问该action都会执行一遍该排班方法,很影响效率(当然你可以说根据dutyinfo里的时间叛断在这一周的记录是不是不为空,不为空就不执行,但我老觉得这思路有点笨,并且实现起到太绕了)4.访问该action我传了一个静态的值班顺序ID值,如何让他活起来?谢谢各位!

解决方案

1.你想到的现实情况太少了,不可能"每个人值班一个星期,下个星期就是另一个人值班",应该会存在中途换班的情况吧,例如A有事要请假,就没有人值班啦?2.duty和dutyinfo两张表都包含username,orderid字段,个人建议可以改成三张表,人员表,值班时间表,人员值班中间表。

时间: 2024-09-20 23:41:52

请大家给一点思路的相关文章

android-设计ANDROID程序,实现以下功能,请 大神给出一点思路

问题描述 设计ANDROID程序,实现以下功能,请 大神给出一点思路 (1)在界面上显示数字和模拟时钟,默认显示手机的当前系统时间,(2)通过日期.时间控件设置时间,并且在数字和模拟时钟中显示我的想法是建两个Activity一个用于显示数字和模拟时钟,另一个用于显示日期时间控件,主要是第二个问题,日期时间控件中设置好的时间是不是通过Calendar获取?然后传到数字和模拟时钟所在Activity但是这样就不知道数字和模拟时钟怎样读取Calendar数据 解决方案 Calendar可以的,使用比较

亦子剑:请给网络一点自由的空间

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 亦子剑 曾经,一句经典地道出了网络特质的话非常流行:"在网上没人知道你是条狗."但也许以后不但有人知道在网上你是条狗,而且还会知道你是条 什么样的狗!据<重庆商报>的报道,重庆市公安局关于加强国际联网备案管理的通告已获市政府法制办审查通过,该通告规定在自己家里上网也要在公安机关备案登记,从发布之日起开始实施.拒

c++新手,请大神提供思路

问题描述 c++新手,请大神提供思路 如何获得用户的登录信息,从而获得用户的基本信息:比如如何从教务网登陆界面获得学生登录信息从而查看该生的基本信息? 解决方案 可以用抓包工具抓个包,得到提交的数据,然后可以用CInternetSession类相关的模拟提交即可. 解决方案二: 如果你连socket,wininet等什么都不会的话,建议使用Wireshark等抓包软件抓包并分析,它里面对报文封包分析的很详细的. 解决方案三: C++发送HTTP请求,可以用WInHttp类库等,获取对应的页面返回

c语言-求大神解释C语言题,请解释详细一点,谢谢

问题描述 求大神解释C语言题,请解释详细一点,谢谢 下面的代码输出什么? #include int main(void) { int i; int a[5]; for (i = 0; i <= 5; ++i) { a[i] = -i; printf("a[%d] = %dn", i, a[i]); } return 0; } 解决方案 #include<stdio.h> void main() { int i=0; int a[5]={0,0,0,0,0}; for

请给云计算一点宽容

在宣传云计算的时候,我们往往会强调:永远在线,永不丢失,永远可用.但所有做云计算的都心理明白,现实离这个差了远了.例如上周国内某大型云服务厂商的香港机房中断服务 12 小时,算是大灾难了.云服务中断的原因很多,包括:线路不通,底层云硬件设施故障,合作伙伴服务故障,新功能更新失败,磁盘满了,CPU 100%,DDoS 攻击等等.其中有些是可以通过努力解决的,有些是通过努力都很难解决的(例如国内复杂的网络环境).既然这么多问题,还要用云服务吗?答案是:Yes! 使用云服务的优势大家都知道,比如成本低

关于mysql 3.0的注射的一点思路_漏洞研究

mysql 3.0的注射   对mysql的注射主要是靠union 的联合查询,但union只对版本4.0以上的有用,对3.0以下的就没用了..........   所以在mysql 3.0的数据库里没办法使用union进行跨表查询,但可以使用load_file   但是也不可以直接使用union替换出来. 下面就是我的一点思路:   得到版本:   mysql> select * from user where userid=1 and length(version())<10;   Emp

迷惑中:请解救(关于Domino) 思路缠绕.

问题描述 尊敬的各位开发者,你们好.小弟我现在在一家软件公司工作,我应聘的是Java软件开发,当时也参加过Java培训,现在到公司后,他们让我做Domino开发,我感觉我Java开发和Domino开发是两个不同领域,而且刚接触到Domino感觉学起来需要时间,不知道Domino开发和Java开发是否都会在开发利用用到.不知道我以后开发还用Java不用,不知道Domino开发前途怎么样,现在很迷惑.因为学的Java,很想做Java开发,害怕学了Domino开发以前学的Java就不会用了..请高手指

各位实现图片新闻...给一点思路..

问题描述 像这样的图片新闻http://junshi.daqi.com/editor/slide/ent_slide/2408662/1.html如何实现呢...是存储在数据库..还是存储在目录里.数据库里的字段如何放呢..请哪位提示一下..给个思路就行.. 解决方案 解决方案二:数据库保存图片路径.一个主表,一个子表.主表保存标题之类的,子表保存图片路径和主表的ID.解决方案三:这个是放在数据库里的.<imgsrc="showimg.aspx?id=xxx"/>在页面上改

像一些论坛中用户输入密码连续5次错误,它就在一段时间能不能登录,这个功能是如何实现,还请各位给个思路

问题描述 像这样一个问题,应该采样什么方式来实现,自己想了一下,似乎没什么思路,肯请各达人指点 解决方案 解决方案二:锁定帐号嘛记录登录密码输入错误次数和时间保存到数据库中下次登录的时候比较---也可以简单的cookie记录,这个清理cookie记录就无效了解决方案三:如楼上不赞成cookie解决方案四:大多数不是锁定帐号.而是cookies加ip.因为,usrA这个帐号,某人重复试的时候,被锁定了,本人这时上就上不去.我试过很多网站,因为我是adsl拔号的,断开重拔一次,IP变了,就能重log