日期:2014-05-19  浏览次数:20579 次

自动排序问题,有点复杂,请高手设计个存储过程,谢谢!!
我遇到的问题比较复杂,希望大家帮帮我。在此先谢过!!
有三个表分别是JOBS,ITEMS,LOGIC
JOBS中有JCODE(任务编号),BEGINTIME(任务开始时间),ENDTIME(结束时间)该表用来保存任务,
ITEMS中有JCODE(从JOBS中继承过来),PCODE(人员编号),ECODE(设备编号),BETINTIME(单元开始时间),ENDTIME(结束时间)该表用来保存一个任务中包含的单元,USETIME(使用时间)
LOGIC中有JCODE(从JOBS中继承过来),FIRSTITEM(第一个单元编号),SECONDITEM(第二个单元编号)该表保存一个任务中单元之间的前后关系

说明一下,单元和单元之间的关系有三中情况,其一:一个单元对多个单元;其二:多个单元对一个单元;其三:一个单元对一个单元;每个任务的第一个单元开始时间为任务开始时间,最后一个单元结束时间为任务结束时间。前一个单元的结束时间是后一个单元的开始时间

排序要求:
一、先将所有任务按照LOGIC里面描述的顺序排列好,并且自动修改好每个ITEM的BEGINTIME,ENDTIME(每个任务的第一个ITEM时间不变,从第二个ITEM开始根据USETIME自动修改BEGINTIME和ENDTIME)
二、所有任务单独排序以后,根据PCODE和ECODE冲突规则再次排序;规则定义:如果多个ITEM指定同一个PCODE或ECODE在有交叉的时间段内那么JCODE较大的ITEM的BEGINTIME将被设置成JCODE较小的ITEM的ENDTIME,完成设置以后需要再次执行步骤一,为JCODE较大的任务单独排序

哪为大哥可以将我的要求用存储过程来实现啊?100分送上,不够再加!!谢谢

------解决方案--------------------
搂主提供点测试数据吧~

最好提供建表脚本和测试用 insert 语句
------解决方案--------------------
关注
------解决方案--------------------

------解决方案--------------------
不同任务中的单元的编号唯一否?
------解决方案--------------------
个人认为:其实就是两层嵌套循环嘛,里面递加时间,然后update每个记录而已……
------解决方案--------------------
楼主,你发点例子数据,有时间就帮你瞧瞧。。。~

呵呵。。弄数据太麻烦