美女做基網(wǎng)站微信上如何投放廣告
目錄
- 一、摘要
- 1.1 項(xiàng)目介紹
- 1.2 項(xiàng)目錄屏
- 二、功能模塊
- 2.1 功能性需求
- 2.1.1 數(shù)據(jù)中心模塊
- 2.1.2 科室醫(yī)生檔案模塊
- 2.1.3 預(yù)約掛號(hào)模塊
- 2.1.4 醫(yī)院時(shí)政模塊
- 2.2 可行性分析
- 2.2.1 可靠性
- 2.2.2 易用性
- 2.2.3 維護(hù)性
- 三、數(shù)據(jù)庫(kù)設(shè)計(jì)
- 3.1 用戶(hù)表
- 3.2 科室檔案表
- 3.3 醫(yī)生檔案表
- 3.4 醫(yī)生放號(hào)表
- 3.5 患者掛號(hào)預(yù)約表
- 3.6 醫(yī)院時(shí)政表
- 3.7 醫(yī)院留言表
- 四、系統(tǒng)展示
- 五、核心代碼
- 5.1 查詢(xún)醫(yī)生
- 5.2 醫(yī)生放號(hào)
- 5.3 置頂醫(yī)院新聞
- 5.4 查詢(xún)我的掛號(hào)數(shù)據(jù)
- 5.5 預(yù)約掛號(hào)
- 六、免責(zé)說(shuō)明
一、摘要
1.1 項(xiàng)目介紹
基于JAVA+Vue+SpringBoot+MySQL 的醫(yī)院門(mén)診預(yù)約掛號(hào)系統(tǒng),包含了科室管理模塊、醫(yī)生管理模塊、預(yù)約掛號(hào)模塊、醫(yī)院新聞模塊和留言板模塊,還包含系統(tǒng)自帶的用戶(hù)管理、部門(mén)管理、角色管理、菜單管理、日志管理、數(shù)據(jù)字典管理、文件管理、圖表展示等基礎(chǔ)模塊,醫(yī)院門(mén)診預(yù)約掛號(hào)系統(tǒng)基于角色的訪問(wèn)控制,給患者、醫(yī)院管理員使用,可將權(quán)限精確到按鈕級(jí)別,您可以自定義角色并分配權(quán)限,系統(tǒng)適合設(shè)計(jì)精確的權(quán)限約束需求。
1.2 項(xiàng)目錄屏
二、功能模塊
為了能讓開(kāi)發(fā)出來(lái)的預(yù)約掛號(hào)真正投入使用,所以需要對(duì)系統(tǒng)的需求加以分析設(shè)計(jì),以下分別對(duì)功能性需求和可行性?xún)煞矫娣謩e對(duì)預(yù)約掛號(hào)進(jìn)行需求分析。
2.1 功能性需求
本文設(shè)計(jì)的預(yù)約掛號(hào)系統(tǒng)的包括了系統(tǒng)數(shù)據(jù)中心模塊,用來(lái)存放管理系統(tǒng)通用的模塊,另外分別設(shè)計(jì)了科室/醫(yī)生檔案、預(yù)約掛號(hào)、醫(yī)院時(shí)政這三大模塊,用于存放系統(tǒng)的核心業(yè)務(wù)邏輯。
2.1.1 數(shù)據(jù)中心模塊
數(shù)據(jù)中心模塊包含了對(duì)醫(yī)院門(mén)診預(yù)約掛號(hào)系統(tǒng)的基礎(chǔ)模塊,比如管理誰(shuí)可以登陸這套系統(tǒng),記錄這些人登陸系統(tǒng)做了什么,不同的人擁有不同權(quán)限的管理。
2.1.2 科室醫(yī)生檔案模塊
科室醫(yī)生檔案模塊是對(duì)醫(yī)院科室、醫(yī)生的信息進(jìn)行管理,其中包括醫(yī)院所有科室、及科室下醫(yī)生的檔案,包含了科室名稱(chēng)、科室代碼,醫(yī)生姓名、醫(yī)生年齡、醫(yī)生學(xué)歷學(xué)位、開(kāi)始工作時(shí)間、畢業(yè)院校、職稱(chēng)、專(zhuān)業(yè)、醫(yī)生簡(jiǎn)介等,可以通過(guò)此模塊對(duì)科室、醫(yī)生進(jìn)行添加、編輯更新、刪除、查詢(xún)操作。
2.1.3 預(yù)約掛號(hào)模塊
醫(yī)院門(mén)診預(yù)約掛號(hào)管理系統(tǒng)錄入了各大醫(yī)院醫(yī)生的放號(hào)信息,包括不同職稱(chēng)醫(yī)生的掛號(hào)費(fèi)用,管理員在這個(gè)模塊進(jìn)行掛號(hào)費(fèi)用的設(shè)置和醫(yī)生的排班。
2.1.4 醫(yī)院時(shí)政模塊
醫(yī)院時(shí)政模塊是醫(yī)院的門(mén)面,模塊上放置了醫(yī)院發(fā)布的重要通知、醫(yī)生坐診停診信息和就診患者的留言信息?;颊呖梢圆樵?xún)管理員發(fā)布的時(shí)政新聞,也可以對(duì)醫(yī)院進(jìn)行評(píng)價(jià)留言,做到和醫(yī)院的數(shù)據(jù)交互。
2.2 可行性分析
2.2.1 可靠性
醫(yī)院門(mén)診預(yù)約掛號(hào)的數(shù)據(jù)真實(shí)性非常重要。所以為了保證預(yù)約掛號(hào)系統(tǒng)的數(shù)據(jù)準(zhǔn)確,要定時(shí)清除系統(tǒng)的冗余數(shù)據(jù),以便于對(duì)掛號(hào)數(shù)據(jù)進(jìn)行數(shù)據(jù)分析。
2.2.2 易用性
易用性是任何管理系統(tǒng)必須要遵循的原則,對(duì)于預(yù)約掛號(hào)系統(tǒng)也是如此。系統(tǒng)必須要易于就診患者使用,因?yàn)橄到y(tǒng)的開(kāi)發(fā)就是為了簡(jiǎn)化患者的就醫(yī)流程,不能因?yàn)橄到y(tǒng)的出現(xiàn)而讓就醫(yī)流程更復(fù)雜。
2.2.3 維護(hù)性
醫(yī)院門(mén)診要有自我保護(hù)機(jī)制,當(dāng)收到黑客非法攻擊是,需要擁有拋出異常的機(jī)制,不能陷入無(wú)限循環(huán)判斷而讓系統(tǒng)崩潰,造成患者掛號(hào)失敗的情況。
三、數(shù)據(jù)庫(kù)設(shè)計(jì)
3.1 用戶(hù)表
3.2 科室檔案表
3.3 醫(yī)生檔案表
3.4 醫(yī)生放號(hào)表
3.5 患者掛號(hào)預(yù)約表
3.6 醫(yī)院時(shí)政表
3.7 醫(yī)院留言表
四、系統(tǒng)展示
五、核心代碼
5.1 查詢(xún)醫(yī)生
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查詢(xún)醫(yī)生")
public Result<IPage<Doctor>> getByPage(@ModelAttribute Doctor doctor,@ModelAttribute PageVo page){QueryWrapper<Doctor> qw = new QueryWrapper<>();if(!ZwzNullUtils.isNull(doctor.getDoctorName())) {qw.like("doctor_name",doctor.getDoctorName());}if(!ZwzNullUtils.isNull(doctor.getPostLevel())) {qw.eq("post_level",doctor.getPostLevel());}if(!ZwzNullUtils.isNull(doctor.getSubjectId())) {qw.eq("subject_id",doctor.getSubjectId());}if(!ZwzNullUtils.isNull(doctor.getNoeDate()) && Objects.equals(doctor.getNoeDate(),"是")) {qw.inSql("id","SELECT id FROM t_doctor WHERE id IN(SELECT DISTINCT doctor_id FROM t_doctor_scheduling WHERE DATE = '" + DateUtil.today() + "')");}return new ResultUtil<IPage<Doctor>>().setData(iDoctorService.page(PageUtil.initMpPage(page),qw));
}
5.2 醫(yī)生放號(hào)
@RequestMapping(value = "/addNumber", method = RequestMethod.POST)
@ApiOperation(value = "醫(yī)生放號(hào)")
public Result<Object> addNumber(@RequestParam String doctorId,@RequestParam String date,@RequestParam int step,@RequestParam int number){Doctor doctor = iDoctorService.getById(doctorId);if(doctor == null) {return ResultUtil.error("醫(yī)生不存在");}if(number < 1) {return ResultUtil.error("放號(hào)數(shù)必須大于0");}for(int i = 1 ; i <= number; i ++) {DoctorScheduling ds = new DoctorScheduling();ds.setDoctorId(doctor.getId());ds.setDoctorName(doctor.getDoctorName());ds.setNumber(i + "");ds.setStep(step + "");ds.setDate(date);ds.setOrderFlag(0);iDoctorSchedulingService.saveOrUpdate(ds);}return ResultUtil.success("放號(hào)成功");
}
5.3 置頂醫(yī)院新聞
@RequestMapping(value = "/set_top_by_id", method = RequestMethod.POST)
@ApiOperation(value = "置頂醫(yī)院新聞")
public Result<Boolean> setTopById(@RequestParam String id){HospitalNews appDynamicNew=iHospitalNewsService.getById(id);if(appDynamicNew==null) {return ResultUtil.error("該動(dòng)態(tài)信息不存在");}if(appDynamicNew.getIsTop().equals("yes")) {appDynamicNew.setIsTop("no");}else {appDynamicNew.setIsTop("yes");}if(!iHospitalNewsService.saveOrUpdate(appDynamicNew)) {return ResultUtil.error("設(shè)置失敗");}return ResultUtil.success("設(shè)置成功");
}
5.4 查詢(xún)我的掛號(hào)數(shù)據(jù)
@RequestMapping(value = "/getMyOrderList", method = RequestMethod.POST)
@ApiOperation(value = "查詢(xún)我的掛號(hào)")
public Result<IPage<HospitalOrder>> getMyOrderList(@ModelAttribute HospitalOrder order,@ModelAttribute PageVo page){User currUser = securityUtil.getCurrUser();QueryWrapper<HospitalOrder> qw = new QueryWrapper<>();qw.eq("user_id",currUser.getId());qw.orderByDesc("create_time");if(!ZwzNullUtils.isNull(order.getDateTime())) {qw.eq("date_time",order.getDateTime());}if(!ZwzNullUtils.isNull(order.getDoctorName())) {qw.like("doctor_name",order.getDoctorName());}return new ResultUtil<IPage<HospitalOrder>>().setData(iHospitalOrderService.page(PageUtil.initMpPage(page),qw));
}
5.5 預(yù)約掛號(hào)
@RequestMapping(value = "/addOrder", method = RequestMethod.POST)
@ApiOperation(value = "新增掛號(hào)")
public Result<Object> addOrder(@RequestParam String orderId){User currUser = securityUtil.getCurrUser();DoctorScheduling ds = iDoctorSchedulingService.getById(orderId);if(ds == null) {return ResultUtil.error("號(hào)源不存在");}if(ds.getOrderFlag() > 0) {return ResultUtil.error("您手慢拉,該號(hào)已被別人預(yù)約!");}Doctor doctor = iDoctorService.getById(ds.getDoctorId());if(doctor == null) {return ResultUtil.error("醫(yī)生不存在");}ds.setOrderFlag(1);iDoctorSchedulingService.saveOrUpdate(ds);HospitalOrder ho = new HospitalOrder();ho.setUserId(currUser.getId());ho.setUserName(currUser.getNickname());ho.setOrderId(ds.getId());ho.setNumber(ds.getNumber());ho.setStep(ds.getStep());ho.setDateTime(ds.getDate());ho.setDoctorId(ds.getDoctorId());ho.setDoctorName(ds.getDoctorName());ho.setMoneyData(doctor.getOrderMoney());iHospitalOrderService.saveOrUpdate(ho);return ResultUtil.success("預(yù)約成功!");
}
六、免責(zé)說(shuō)明
- 本項(xiàng)目?jī)H供個(gè)人學(xué)習(xí)使用,商用授權(quán)請(qǐng)聯(lián)系博主,否則后果自負(fù)。
- 博主擁有本軟件構(gòu)建后的應(yīng)用系統(tǒng)全部?jī)?nèi)容所有權(quán)及獨(dú)立的知識(shí)產(chǎn)權(quán),擁有最終解釋權(quán)。
- 如有問(wèn)題,歡迎在倉(cāng)庫(kù) Issue 留言,看到后會(huì)第一時(shí)間回復(fù),相關(guān)意見(jiàn)會(huì)酌情考慮,但沒(méi)有一定被采納的承諾或保證。
下載本系統(tǒng)代碼或使用本系統(tǒng)的用戶(hù),必須同意以下內(nèi)容,否則請(qǐng)勿下載!
- 出于自愿而使用/開(kāi)發(fā)本軟件,了解使用本軟件的風(fēng)險(xiǎn),且同意自己承擔(dān)使用本軟件的風(fēng)險(xiǎn)。
- 利用本軟件構(gòu)建的網(wǎng)站的任何信息內(nèi)容以及導(dǎo)致的任何版權(quán)糾紛和法律爭(zhēng)議及后果和博主無(wú)關(guān),博主對(duì)此不承擔(dān)任何責(zé)任。
- 在任何情況下,對(duì)于因使用或無(wú)法使用本軟件而導(dǎo)致的任何難以合理預(yù)估的損失(包括但不僅限于商業(yè)利潤(rùn)損失、業(yè)務(wù)中斷與業(yè)務(wù)信息丟失),博主概不承擔(dān)任何責(zé)任。
- 必須了解使用本軟件的風(fēng)險(xiǎn),博主不承諾提供一對(duì)一的技術(shù)支持、使用擔(dān)保,也不承擔(dān)任何因本軟件而產(chǎn)生的難以預(yù)料的問(wèn)題的相關(guān)責(zé)任。