00:01
各位大家好,我们继续来开发医院排班功能,刚才我们完成了点击某一个科室,然后显示排班的信息,把这个我们做到了,然后下面我们继续来开发,下面咱们做什么呢?给各位来说一下,比如说大家看当我点击这个科时,这里边显示是不是它的相关的排班信息啊,比如说想实现点击里边的某一个日期,然后把这个排班的详细信息在页面的下面部分做显示,所以下面我们就来做这个功能。那这个功能呢,首先我们还是写个接口,然后整个前端在接口里边我们要怎么做呢?大家看啊,咱是不是要根据我的医院的编号,包括科室编号,以及里边这个日期是不是做个查询啊,然后查出来之后把数据在页面中做个显示,那下面我们给他就做一下,首先先来编写这个查询排班的详细信息,这个接口。
01:02
那我在里边写一下,来到这个筛掉CTRL里边,那我就来写这个接口,我在里面写一下根据。医院的编号。还有这个叫做科室的编号,以及咱们这个工作的日期,然后咱们查询出排班的这个详细的这个信息。这是我们做的事情,那下面我们来写一下,首先我们创建这么一个方法,咱先写一个A片ofator,然后加个value value中加这个名字,查询排班等详情信息,然后下面加上这个方法,咱们来一个艾提交,在里边给它起个名字,这个名字比如叫这个get schedule。D time。后面加上相关的参数,参数是有这么三个,那这三个我们来写一下,第一个医院编号,第二个科室编号,第三个工作日期,工作日期,比如说我们叫这个work date。
02:12
这样的话,咱们把这个就写出来了,写完之后下面加上方法public。Result加上get shadow detail。然后方法中呢,咱们把这三个值得到。用到这个pass注解,把它快速得到一下,那我们用它快速改一下,第一个值原编号,第二个值科室编号,第三个指是里边这个工作日期,我把这个给它演示。拿过来就是里边这个work date,这样的话咱们把值得到,然后得到值之后,下面呢,咱们肯定是调用service里边的方法,把这个做实线,那我们来调一下啊,筛掉service里边我们加个方法,这些方法比如我们就叫这个get筛掉。
03:01
底态,呃,为了区分啊,我把底态要写到前面,我来跟那个稍微区分一下啊,然后里边三个参数,第一个意元编号,第二个部分编号,第二个第三个工作日期,然后最终呢,因为我们现在查出它的详情信息,里边肯定会有很多的内容,那这内容呢,比如说再让他返回就是一个。历次集合。这个我们叫list例子中的泛型,就加上里面这个schedule,把这个我们做到,然后呢,各位看这个schedule里边就是这些基本值啊,包括这些,比如咱们项里边进行封装可以了,包括当然里边如果有一些额外信息,咱可以放到这个判物里面去,之前咱也这么做过,所以现在把这个结构我们就写出来了,然后写完之后,最终咱们把它做上这么一个理退。我们写一下。瑞退。加上这个result.ok传入一个list,这样的话呢,我们就完成了CTRL里边这个基本开发,这单就写出来了,然后写完之后呢,咱们下面来编写啊,这个service在service里边来写这个方法的调用,那我们来写一下啊,四二中首先把这方法我们先创建出来。
04:23
然后来到它的实现类中,在实现类中咱们来实现一下这个方法。那这个方法怎么实现呢?因为咱们现在要查这个排班信息,咱们调的是不是肯定是调用咱们那个repary或者说mongo他们里边的方法,然后咱们去查询ODB,那现在我就直接来查一下,我们调这个筛掉。Re,然后咱们加这个方法,方法里边呢,根据三个参数,咱们加上那个就是标准的一个命名规范啊,那这编写规范我就把这个名字给各位直接复制过来。
05:00
然后咱们看一下,之前咱都说过啊,在规范中你看首先我们叫find schedule by,后面加上第一个叫做hot code,第二个叫dp code,第三个叫我,然后里边传入咱们的三个参数,那我来传一下啊,第一个。好的,扣的。第二个第1P扣,第三个是咱们那个日期,但是日期各位注意啊,我这里边写的是不是一个字符串,咱们把字符串需要变成一个日期那个类型,那我们来变一下啊,直接就new一个data time这个工具类,然后在data time中咱们用里边那个就是work。Date把它就是变成这么一个date类型啊,那我们写一下啊,就是work date,然后点上一个叫to这个。Date这样的话,把它就变成一个日期类型,然后各位看这个to date返回的类型是不是一个date,就咱们的日期类型,这样的话把这就写出来了,然后写完之后呢,最终让他返回到肯定也是一个例子集合。
06:09
我们加上一个。筛掉。然后这个名字我们就要这个筛掉粒子了,这样的话这个就完成了,完成之后咱们在这个筛掉re里边把这方法创建出来就可以了,这方法创建之后,在这个mango Rep里边会帮我们按照这个结构,根据参数做个查询,这部分不需要我们写了,因为这里边已经帮我们做了封装。所以现在这个方法我们就写完了,然后洗完之后就是现在这个结果,咱给它re应该就可以了啊,比如现在我把这个筛掉list子做个re寸就可以了,但是这个存之后呢,里边的数据应该不完整,比如说我们现在啊,想显得更完整点,显示什么,我想在里边又包含咱们的医院的名称,又包含咱们这个就是科室名称,包括像包含你是星期几,比如你是周一,周二周三,所以这些纸呢,我在里边给它再来显示一下,而这些值在筛掉里边并没有对应的属性,所以咱为了能够显示是不是可以把它放到咱那个。
07:18
Time里边是给它设进去啊,所以我们现在咱就这么来做,再查出里边一些其他的值,为了咱们后面显示中更加方便。那怎么做呢?给大家写一下啊,就是现在我这个例子啊,咱就把里面的纸给哈往里边塞,或者里边put进去是不是可以了啊,那我来写一下啊,这里我先加个注释,第一部分根据我们的参数去查询我们的这个网格DB。得到粒子集合,然后第二部分咱们把得到的粒子集合给它变利。便利之后呢,向里面设置一些其他的值,这个值咱们设了这么三个,包含你的,比如说医院的名称,我们的科室的名称,还包括你的日期对应的那个就是是。
08:09
星期,比如你是星期一,星期二还是星期三等等,所以咱们下面做这个事情,那给各位来写一下啊,咱就把这个筛掉。List直接用这个STEM流的方式操作,用这种操作更加方便,我们上STEM,然后点上一个for,里边加上一个item,咱加上一个就是。拉姆的表达式。然后item里边呢,我们把它做封装,这个封装呢,比如一会儿咱在下面写一个封装方法,比我们叫这个就是呃,Package。这个筛酒就是包装咱们这个那种。在里边把item给号穿进去,比如说咱在里边做这个封装。这个啊,是我们写的一个结构,这各位应该能看懂,之前咱都这么写过,就是咱们把这个例子集合用什么流的方式做过遍历,然后向里面设置,就是一会儿我们要这三个值,医院名称,科室名称,包括它对应的星期的这么一个值。
09:17
那这个写完之后,咱下面把这个方法我们给套创建一下啊,就把这方法做个创建。这个方法就是封装,咱们那个就是。排班的详情里边的其他的一些值值主要是这三个,我把这个给各位标注出来,然后咱们下面在里边就来做一下这个具体这个封装啊,咱们看这过程我们该怎么做,那我在里边给大家我就来写一下啊。首先第一个咱们就先来设置一下这个医院的这个名称,那我来设置啊,怎么设置呢?咱就直接来这个叫做就是我们这个。
10:00
筛啊,往这里面设置,比如这个名字,我给它改成就叫这个筛。是它,然后咱们像shadow里边设置它的值,因为shadow里边呢,咱刚才看到有一个属性叫PP是一个map集合,所以咱们先得到map集合,然后往里边put值是不是可以了,那我来写一下啊,Get这个。Time,然后点上一个put在里边,我们写它的参数名字,我叫host STEM,然后写它的值,这个值呢,咱可以通过查询得到,就是用那个好的PI service得到,那我们看一下啊,好的PI service刚才咱已经注入过了,包括在里边有这个方法。是不是后续名称咱们刚才接口中应该写过,那我现在在里边,我们就直接把它用下啊。用hospital threat里面这个方法叫做get hospital name,然后通过schedule把里面这个就是I值得到get这个。
11:04
好的好的。所以大家看这一行代码,就是根据医院编号得到医院名称,并且把医院名称在里边给它塞进去了,这是我们的第一个值,然后第二个呢,咱们来设置这个叫科室名称,然后里边写一下科室名称,我们用筛掉点get p。点上put里边加个名字,我们叫dp name,然后它也是查询service中的方法做实现,我们就调这个department service,那咱们把它先注入起来,然后咱做个调用,我注入到这个位置啊。加一个奥,这个叫department。Service。就是这个名字。然后一会儿在里边咱再写着方法,这方法应该暂时没有,咱马上来实现啊,我先把这个结构写出来,第二底帕里边这个方法,这方法比如起个名字,我就叫这个get,这个DP。
12:07
这个内就得到你的科室的这个名称,然后在里边传入咱们的参数,包含你的医院编号,还有这个。科室编号我们给他串一下啊,Get这个DP扣档这方法咱们一会完成,把名字返回可以了,然后除了这个之外,最后一个咱们再来设立一下你的日期对应的那个星期的那个值,那咱来设置啊,筛掉点get p。我写一下。点上put这个值,我们起个名字,比如之前咱们应该写过那个名字,比如我们看一下啊,这个星期应该是在我们这个之前写的,里边有一个结构,比如我们找到啊。应该是在我们当时写的这里边。
13:01
咱们把这个方法先找到,就刚才我们刚写过。里边有一个will,有它那个名字,就这里边我们找到应该叫day of week这单词在起名就叫这个名字。然后把它。拿过来啊,叫这个day of week,然后把它转成咱们的星期,而星期方法刚才咱们用过get day of week,在里边传入你那个相关的参数,那这参数咱就new上一个date time里边用这个筛掉,点get里面这个叫做。Work date得到你这个值,然后把它转成信息,所以这样的话呢,咱这方法中就完成了它的其他值设置,包含医院名称,科室名称,还有对应的信息,然后最终返问历史的这个集合,就会有它的数据。然后写完之后,我们最后还有这个写法,就是根据这个把它查出来,因为这个方法没有咱们给他写一下啊这个方法。
14:04
我写一下啊,就这个厚度。角的位置。根据我们的科室的编号。还有你的医院的编号,然后去查询科室的名称。这个方法咱们现在把这个写出来,比如让它返回一个词缀,就是一个名称。然后咱们在这个。Service的实现类中,把这方法我们做个实现。就是里边的这个方法,在这里边,最终咱们就调用咱那个庞中的方法,我们做个实现就可以了,那我们来调一下啊。Department re,水,然后里边有这个方法,这个方法也是按照咱那种规范,然后把这个名字给大家直接复制了啊。这个名字。把它拿过来。我们叫get depend by house code和这个dp code,然后咱们传入两个参数。
15:04
DEP扣倒。最终返回咱们这个结果就是这个department。所以这样的话呢,这个咱们就完成了里边的这么一个写法啊,当然里边有这么一个方法,根据它查出这个值,然后这个得到之后呢,下面咱做个判断,如果说它返回到这个department这个对象,它不等于空,那咱就直接退这个部门的名称。一下啊,Get这个dp name。这样的话呢,我们现在把这个结构应该就最终完成了,就是关于我们这个,根据我们的。医院编号。科室编号,还有你的工作日期,然后查询它的详情内容,咱们在里边,我们调了这个方法,最终做一个查询,就刚才写到里边的。
16:01
这个地方。做了查询,然后查询之后有些值。值也完成了设置,那现在接口就开发完成了,然后完成之后呢,咱们下面把这服务给他重启一下,最终咱通过swagger把接口做个测试,看一下最终的效果是怎么样的,那咱下面给他就来具体弄一下哈,看一下最终的效果。现在服务器已经重启了,然后咱们打开swa,找到我们刚才写的接口,就是里边的这个接口,在里边的传入咱的参数,第一个参数医院编号,那我到里边找一个编号,把这个咱就给它复制过来。然后第二个是在那个科氏编号,也就是这个值,我把它也是复制过来。另外第三个是我们的工作日期,那咱们找一个日期,比如我们这个日期。
17:00
我把它复制过来。比如说我们就写一个2021年1月28号,然后现在我点try it out。大家看这结果。我们看到数据是不出来了,然后咱们看具体内容啊,首先P里边是你这个就是星期科室医院名称,然后这里边是你的工作时间,根据工作时间查出来这一天是不是他的排班的详情信息,比如说咱们看到他这个医师,包括它里边这个基本内容啊,包括他擅长的哪些科室等等,所以现在我们就完成的根据医院编号,科室编号,还有工作日期查询出排班等详情内容。这是关于接口开发,然后接口写完之后,咱们下面就开始整合它的前端,在前端里边完成最终的这么一个显示。
我来说两句