加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

公选课选课筛选过程

(2010-09-05 13:26:41)
标签:

公选课

流程

杂谈

分类: 工作

筛选过程:

    1、刚开始是预选,大家随便都可以选,不受选课人数限制。

    2、进行筛选,管理系统--选课管理--选课名单处理--根据目前设定的限选门次自动筛选。(如果进行了一次筛选了,只是对超过教室人数的某几门课,进行筛选,刚选第2个,)

      现在用这个存储过程pr_xkmd_zdsx进行筛选,筛选之前要先将每个年级的选课门数改过来,因为初选时每个年级都是可以选2门,筛选时改成低年级1门。

    3、如果选修人数较少,少于20人的,刚停开,先在课表管理中,限选人数设为0,教室改为停开,然后在管理系统中--选课名单维护,将这些课程选的学生,手动的退掉。

    4、根据预选人数,给每门课程增加上课教室,增加时应注意,这个教室不会冲突,即不会跟正常上课冲突,跟借用冲突。

    5、有时会有这样的问题,学生做了学籍变动,转专业,从白云转到武进,那么他原来的选课就应该删除掉。公选开课课程放在gxkbk这个表中,由于每个学期都开差不多的课程,所以唯一区别是kcxh这个字段。学生选课信息放在xkmd这个表中。

      需要注意的是,xkmd这个表中,bj和bh这些字段是学籍变动之前的信息,所以要想查出哪些学生是跨校区选课,则需要用学生的学号查到当前学生所在的班级的班号(fn_xsxh_bh),再能过班号查找班能的所属校区,然后判断班级的所属校区和选的课程的限选校区的关系,如果一致,则是跨校区选课,需要退选。

    具体语句为select md.*,kbk.xxbmmc from xkmd md,gxkbk kbk
              where md.xq='10-11-1' and md.kcxh=kbk.kcxh and kbk.xq='10-11-1'
              and rtrim(kbk.xxbmmc)=rtrim(dbo.fn_bh_bmmc(dbo.fn_xsxh_bh(md.xh)))+',' and tx=0

 

    如果是更新的话,因为涉及到多表的操作,则需要用到

        select * from xkmd where idn in (select md.idn from xkmd md,gxkbk kbk
        where md.xq='10-11-1' and md.kcxh=kbk.kcxh and kbk.xq='10-11-1'
        and rtrim(kbk.xxbmmc)=rtrim(dbo.fn_bh_bmmc(dbo.fn_xsxh_bh(md.xh)))+',' and tx=0 )

    来检查是不是这些学生,

    然后进行更新表,进行退选。

    update xkmd  set tx=1 where idn in (select md.idn from xkmd md,gxkbk kbk
    where md.xq='10-11-1' and md.kcxh=kbk.kcxh and kbk.xq='10-11-1'
    and rtrim(kbk.xxbmmc)=rtrim(dbo.fn_bh_bmmc(dbo.fn_xsxh_bh(md.xh)))+',' and tx=0 )

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有