首页 > 其他分享 >实验中心课表合并

实验中心课表合并

时间:2023-04-12 14:57:12浏览次数:36  
标签:上机 experimentalcenter 合并 课表 课程 实验 实验课

实验室中心课表合并1(2023-04-06)

由于计算机技术实验中心从教务系统导出的课表有两种,一是实验课表,也就是现在系统中已经写出来的那个;另一个是上机课表。现在需要开发一个新的模块来实现上机课表的上传和展示,考虑到两个课表的excel文件中大多数字段都一致,现在准备将实验课和上机课的课表存在数据库中的一个表中。

序号 修改任务 完成情况
1 设计合并之后的modal并同步更新数据库中的表字段
2 后端url的设计
3 后端view的设计(包括对表格数据的处理)
4 后端serializer设计
5 前端界面设计(与实验课表风格一致)
6 修改现在已经写好的实验课表模块,对view、函数方法等命名进行设计并完成修改

思路:

1、设计合并之后的modal并同步更新数据库中的表字段

可以发现两个课表的相同字段有:周次、日期(需要处理)、时间(需要处理)、实验室(上课地点)、教师、专业班级、学生。不同的字段有:实验课程-课程序号、实验项目代码-课程代码、实验项目-课程名称、实验辅导教师-开课单位(这边将实验课表字段放在了前面,同时在实验课表和上机课表的列上来看,课程代码和课程名称列两个课表正好相反)。

添加课程类型字段(type_course)来对上机课和实验课进行区分;修改实验课程名称字段(experimental_name->experimental_name_or_number)将实验课名称和上机课的课程序号字段合并,通过课程类型字段来进行判断;实验课的实验项目字段和上机课的课程名称字段合并储存,字段名称为(experimental_item);实验课的实验项目代码字段和上机课的课程代码合并储存,字段名称为(experimental_code)。实验教师字段的处理:实验课表中有两个教师字段,一个是课程教师,一个是实验课辅导教师,如果实验课辅导教师 为空则填课程教师;上机课表中只有一个教师字段,即可以直接储存,但是上机课表中多出一个开课单位字段,这边只储存一个教师字段(teacher)。

2、后端url的设计

因为需要区分实验课和上机课,所以在最开始的url设计中插入了区分两者的单词:由原来的

r'^v1/experimentalcenter/(?P<id>\d+)/course/(?P<cid>\d+)/$'
r'^v1/experimentalcenter/(?P<id>\d+)/course/$'
r'^v1/experimentalcenter/(?P<id>\d+)/file/$'

分为两种,一是实验课表:

r'^v1/experimentalcenter/experiment/(?P<id>\d+)/course/(?P<cid>\d+)/$'
r'^v1/experimentalcenter/experiment/(?P<id>\d+)/course/$'
r'^v1/experimentalcenter/experiment/(?P<id>\d+)/file/$'

一是上机课表

r'^v1/experimentalcenter/computer/(?P<id>\d+)/course/(?P<cid>\d+)/$'
r'^v1/experimentalcenter/computer/(?P<id>\d+)/course/$'
r'^v1/experimentalcenter/computer/(?P<id>\d+)/file/$'

在实验课表页面上,首先展示的两个实验中心,该页面上的元素有一个是实验中心有多少节课,也就是“实验次数”这个字段,发现其调用的url

#实验中心API,访客权限即可
r'^v1/experimentalcenter/(?P<id>\d+)/$'
r'^v1/experimentalcenter/$'

由于将课表分为实验课表和上机课表之后,需要在两者的页面上分别展示实验课的数量和上机课的数量,所以这边对url进行了增加

实验课实验中心页面展示url

#实验课表实验中心页面API,访客权限即可
r'^v1/experimentalcenter/experiment/(?P<id>\d+)/$'
r'^v1/experimentalcenter/experiment/$'

上机课实验中心页面展示url

#上机课表实验中心页面API,访客权限即可
r'^v1/experimentalcenter/computer/(?P<id>\d+)/$'
r'^v1/experimentalcenter/computer/$'
3、后端view的设计(包括对表格数据的处理)

因为需要区分实验课和上机课,所以在最开始的view设计中插入了区分两者的单词:由原来的

class ExperimentalCenterCourseRetriveAPIView(generics.RetrieveAPIView):
class ExperimentalCenterCourseListAPIView(generics.ListAPIView):
class ExperimentalCenterCourseFileUploaderView(APIView):

分为两种,一是实验课表:

class ExperimentalCenterExperimentCourseRetriveAPIView(generics.RetrieveAPIView):
class ExperimentalCenterExperimentCourseListAPIView(generics.ListAPIView):
class ExperimentalCenterExperimentCourseFileUploaderView(APIView):

一是上机课表

class ExperimentalCenterComputerCourseRetriveAPIView(generics.RetrieveAPIView):
class ExperimentalCenterComputerCourseListAPIView(generics.ListAPIView):
class ExperimentalCenterComputerCourseFileUploaderView(APIView):

在实验课表页面上,首先展示的两个实验中心,该页面上的元素有一个是实验中心有多少节课,也就是“实验次数”这个字段,发现其调用的url

class ExperimentalCenterListAPIView(generics.ListCreateAPIView):
class ExperimentalCenterRetrieveAPIView(generics.RetrieveAPIView):

由于将课表分为实验课表和上机课表之后,需要在两者的页面上分别展示实验课的数量和上机课的数量,所以这边对view进行了增加

实验课实验中心页面展示view

class ExperimentalCenterExperimentListAPIView(generics.ListCreateAPIView):
class ExperimentalCenterExperimentRetrieveAPIView(generics.RetrieveAPIView):

上机课实验中心页面展示view

class ExperimentalCenterComputerListAPIView(generics.ListCreateAPIView):
class ExperimentalCenterComputerRetrieveAPIView(generics.RetrieveAPIView):
4、后端serializer设计

因为models对数据库字段进行了个别的修改设计,这边对serializer也应该同步进行字段修改。

因为models中的设计是将名称-序号、项目名字-课程名字、实验项目代码-课程代码这些合并储存,同时加上了课程类型字段,所以在序列化时也应该对相应的字段进行处理,也就是在serializer中加上课程类型字段和完成对字段的修改同步。

5、前端界面设计(与实验课表风格一致)

本来是课程管理->实验中心,现在需要设计实验课表和上机课表,所以进行修改:课程管理->实验课表、课程管理->上机课表、课程管理->其他课表

前端的url设计本来只有一个实验中心/center现在需要增加把实验中心变成实验课表和上机课表:/experiment/center/computer/center

修改SideBar侧边栏,修改Settingsurl全局定义,修改课程列表页面的url像后端发出正确请求。

6、修改现在已经写好的实验课表模块,对view、函数方法等命名进行设计并完成修改

由于url、view等的重新设计,所以需要将原有的代码进行修改,原本的上传模块只是对实验课课表进行上传处理,即因该将原本设计的url、view等进行修改,先将现有的代码修改,可以跑通之后再去修改新增模块”上机课表“的代码。

  • 后端url、view修改
  • 前端页面修改
  • 前端向后端请求时的url修改

实验室中心课表合并2(2023-04-10)

经过讨论,课表合并上没有太大的问题,通过,但是还有一些小的地方需要修改。

序号 修改任务 完成情况
1 课程调休模块中的添加和修改模块,在调整前和调整后的日期逻辑判断上用的是只能将课程往之后的时间调整,考虑到实际情况也存在将之后的课程提前上的情况,所以需要修改判断逻辑。
2 实验课表和上机课表中实验课程-课程序号、实验项目-课程名称,这两个字段在前端中展示都为上课的信息,这边把上机课中的课程序号字段在数据库中储存为课程名称,这样在前端展示的时候可以格式更加完整。
3 前端修改所有课程列表的课程展示字段,只需要展示有用的信息即可以,比如:访客大屏展示的时候,课程代码这个字段就可以去掉。
4 由于前端展示中要多展示出课程类型,也就是上机课和实验课,所以后端在返回的数据中应该加上type_course字段,故需要修改后端的serializers
5 在大屏展示页面标题栏加一个浏览器时间显示

标签:上机,experimentalcenter,合并,课表,课程,实验,实验课
From: https://www.cnblogs.com/hhhhuaz/p/17309778.html

相关文章

  • Java实验八
    //SortTestpublicclassSortTest{publicstaticvoidmain(String[]args){Sortupsup=newSortup();sup.sortup();Sortdownsup2=newSortdown();sup2.sortdown();}}  //Sortdownimportjava.util.Scanner;p......
  • UML类图实验报告
    一:首先在我们更好的理解UML类图之前,我先用几个简单的小例子把UML类图所存在的关系给表达清楚-_-!1)第一个叫泛化,名字听起来很高级,也就是我们常说的继承,就像古代的皇帝快要驾崩了,需要指定皇子来继承王位,但“继承”可要比皇子继承皇位(单继承)要牛多了,他给人的印象就像是“一人得到。......
  • 在EXCEL和WPS表格里实现邮件合并功能
    在EXCEL和WPS表格里实现邮件合并功能2020/3/2122:06:09 0人评论 10635次OFFICE邮件合并:在Office中,先建立两个文档:一个WORD包括所有文件共有内容的主文档(比如未填写的信封等)和一个包括变化信息的数据源EXCEL(填写的收件人、发件人、邮编等),然后使用邮件合并功能在主文档中插入......
  • HCIP-BGP反射器与联邦实验
      配置:一、进行IP地址划分将as2区域内部划分成一个网段172.16.0.0/16MA网段172.16.0.0/24172.16.1.0/24172.16.2.0/24172.16.3.0/24172.16.4.0/24172.16.5.0/24 用户网段(环回地址)172.16.6.0/24172.16.7.0/24172.16.8.0/24172.16.9.0/24172.16.10.0/24...........
  • #yyds干货盘点# LeetCode程序员面试金典:合并两个有序链表
    题目:将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。  示例1:输入:l1=[1,2,4],l2=[1,3,4]输出:[1,1,2,3,4,4]示例2:输入:l1=[],l2=[]输出:[]示例3:输入:l1=[],l2=[0]输出:[0]代码实现:classSolution{publicLis......
  • hdu-4533(线段树+区间合并)
    约会安排HDU-4553跟hdu-1540(线段树+区间合并)-魏老6-博客园(cnblogs.com)是一样,但是要写两个线段树。线段树维护,最长前缀pre,最长后缀suf,以及最大连续连续区间sum。1代表空,0代表时间被占了还有几个注意事项:当是DS时,只能查询和修改屌丝树;当是NS时,先判断屌丝树能不......
  • 禄米 干细胞实验室建设
    干细胞实验室主要是进行干细胞基础研究、临床应用研究及干细胞技术服务,包括各种组织细胞的来源干细胞体外鉴别、分离、纯化、扩增和培养等实验研究。 主要检测项目:干细胞培养、细胞检测、细胞扩增 干细胞实验室建设注意事项:1、从保温角度考虑实验室的围护及吊顶结构采用厚......
  • # 2023被行计网实验二数据链路层实验的设计性实验部分
    设计型实验(选作)一个公司需要组建局域网,公司主要有财务、人事、工程、研发、市场等部门,每个部门人数都不超过20人,另外公司还有一些公共服务器。请给出设计方案,并提供实验验证。要求满足:所有部门不能互相访问;每个部门都可以访问公共服务器。VLAN端口的分类交换机的端口可以......
  • 不需要第一行的多表合并(Power Query)
    问题:多工作表合并,但第一行不需要,标题行从第二行起。let源=Excel.Workbook(File.Contents("路径\文件名.xlsx")),规范表=Table.TransformColumns(源,{"Data",eachTable.PromoteHeaders(Table.Skip(_,1))}),删除列=Table.SelectColumns(规范表,{"Data"}),......
  • 多条数据并成一条后合并查询(Power Query)
    问题:两表合并,其中一表有重复的数据需要事先求和或合并let源=Excel.CurrentWorkbook(){[Name="表1"]}[Content],合并查询=Table.NestedJoin(源,{"订单号"},表2,{"订单号"},"表2",JoinKind.LeftOuter),展开=Table.ExpandTableColumn(合并查询,"表2......