欢迎大家挑战一个复杂的数据库难题,望高手指教~~

cmsoft 2003-12-11 01:52:17
数据库表

tblTaskBaseInfo(任务基本信息表)
iID int not null identity 任务编号
root_ID int 对应父任务编号,如果没有父任务为0
task_Name varchar 任务名称
task_StartTime datetime 任务起始日期
task_EndTime datetime 任务结束日期

tblTaskBaseInfo是一个树型结构的任务表
父任务的起始与结束日期是取决于它的所有子任务中的最小起始日期与最大结束日期的


====任务受限条件表===
(一个任务可以任意个前置条件。但只有0个或1个受限类型和受限时间,如果有几个前置任务,受限条件为一个的话,则对应字几条记录中受限条件字段的值相同)
tblTaskLimit

iID int not null identity 编号
lc_TaskNo int 对应任务编号
lc_FrontTask varchar 前置任务编号(目的是,开始这个任务的前提是要完成它的前置任务)
lc_FrontCondition varchar 前置类型
lc_DeadLine datetime 截止时间
lc_LimitedType varchar 20 受限类型
lc_LimitedDate datetime 受限时间


受限类型有以下几种情况:

1.不得早于……完成 (1701)
2.不得晚于……完成 (1702)
3.不得早于……开始 (1703)
4.不得早于……完成 (1704)
5.必须完成于…… (1705)
5.必须开始于…… (1706)

以上"……"号代表受限日期,1701-1706代表受限类型编号


前置类型:
开始-开始 (1603) (两个任务一起开始)
开始-完成 (1604) (当前任务完成才能开始)
完成-开始 (1601) (完成前置任务才能开始当前任务)
完成-完成 (1602) (两个任务同时完成)

--1601-1604是代表对应前置类型编号

0.先查看任务的前置条件有哪些
1.(任务起始日期)如果限制条件存在,则要判断限制条件
2.(任务结束日期)没有限制条件存在,可以直接向前或向后移动日期(但不得在起始日期之前)
3.设置任务开始日期时,则限制条件自动设置为不得早于开始日期结束)


要求:
insert/update/delete一个任务基本信息

(因为任务有限制条件/前置任务,这样会造成联锁反应,所以相关的任务的起止时间要作修改)
...全文
36 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
OpenVMS 2004-01-04
  • 打赏
  • 举报
回复
关键是时间段如何安排
cmsoft 2004-01-01
  • 打赏
  • 举报
回复
测试数据结果跟MS Project的项目任务时间变更一样,你可以用MS Project测试一下结果,因为在数据库有测试数据出来的话,我也不必问大家了:)
因为的确很复杂,谢谢老j
j9988 2004-01-01
  • 打赏
  • 举报
回复
我前面说过:
给出对就每种类型测试数据,还有你要的结果.


可你就是不给,谁有办法理解这么复杂东西呢。总不能靠猜吧。
潜水的鱼 2003-12-27
  • 打赏
  • 举报
回复
眼都看花了,帮你顶下吧,真累
cmsoft 2003-12-27
  • 打赏
  • 举报
回复
再转,整个论坛里转一下
cmsoft 2003-12-24
  • 打赏
  • 举报
回复
大家帮我呀~~
fuhuakong 2003-12-23
  • 打赏
  • 举报
回复
帮你up
oldcold 2003-12-23
  • 打赏
  • 举报
回复
有点难度
cmsoft 2003-12-23
  • 打赏
  • 举报
回复
再顶顶:)
fornothing 2003-12-17
  • 打赏
  • 举报
回复
为了看到解决方法
帮你up
cmsoft 2003-12-13
  • 打赏
  • 举报
回复
不得晚于……完成 (1704)

我的要求是:

实现
insert/update/delete一个任务基本信息

(因为任务有限制条件/前置任务,这样会造成联锁反应,所以相关的任务的起止时间要作修改)
j9988 2003-12-13
  • 打赏
  • 举报
回复
1701=1704?

还有要给出对就每种类型测试数据,还有你要的结果.
用insert 语句写,这样大家就好理解了.也方便写代码.
HardThink 2003-12-12
  • 打赏
  • 举报
回复
mark
cmsoft 2003-12-11
  • 打赏
  • 举报
回复
谢谢各位~~
前提是不得修改表结构(如果重新设计全改动系统很多东东)
大家再帮我看看呀
realgz 2003-12-11
  • 打赏
  • 举报
回复
有点比较明白了,还是那个字:烦。
自己关起来慢慢写还差不多。
zjcxc 元老 2003-12-11
  • 打赏
  • 举报
回复
:

树形数据处理部分,参考我的贴子:
http://expert.csdn.net/Expert/topic/2285/2285830.xml?temp=.454632
kimurakenshin 2003-12-11
  • 打赏
  • 举报
回复
up up
realgz 2003-12-11
  • 打赏
  • 举报
回复
2.(任务结束日期)没有限制条件存在,可以直接向前或向后移动日期(但不得在起始日期之前)
没理解,而且不知道什么时候发生移动 移动有什么作用
realgz 2003-12-11
  • 打赏
  • 举报
回复
烦。看都得看5分钟才看懂大概意思。。。。
cmsoft 2003-12-11
  • 打赏
  • 举报
回复
just like MS Project Task Function~~

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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