Development language: Java
Development tools: IDEA/Eclipse
Database: MYSQL5.7
Application service:Tomcat7/Tomcat8
Use framework: springboot+vue
JDK version: jdk1.8
The main modules of the medical service system include viewing administrators; home page, personal center, management of ordinary villagers, management of rural doctors, management of announcement information, management of rural clinics, management of health records, management of learning and training, management of assessment information, management of medical maps, management of medical treatment Drug management, type information management, purchase information management, message board management, administrator management, system management and other functions. The administrator in the system is mainly to store and manage all kinds of information safely and effectively, and can also manage, update and maintain the system, and have corresponding operating rights to the background.
system structure
The system architecture website system, the specific functions of this system are as follows:
Administrator function structure diagram, as shown in the figure
The functional structure diagram of rural doctors, as shown in the figure
The functional structure diagram of ordinary villagers, as shown in the figure
System detailed design
Front page home function module
Medical service system home page, announcement information, medical map, medical drugs, message feedback, personal center, background management, doctor consultation functions. The rendering of the homepage of the website is shown in the figure
Log in, register as an ordinary villager, log in and register as an ordinary villager by filling in the user name, password, name, ID card, mobile phone, email and other information on the ordinary villager registration page, as shown in the figure
Announcement information, submit it by filling in the announcement type, announcement content, release date, etc. on the announcement information page, as shown in the figure
medical map
For medical drugs, apply for purchase on the medical drug page by filling in information such as serial number, type, price, introduction, expiration date, and production date, as shown in the figure.
customer service
Administrator function module
Administrator login, the administrator logs in to the system by entering the user name, password, role and other information, as shown in the figure
The administrator can log into the medical service system to view the home page, personal center, management of ordinary villagers, management of rural doctors, management of announcement information, management of rural clinics, management of health records, management of learning and training, management of assessment information, management of medical maps, management of medical drugs, Type information management, purchase information management, message board management, administrator management, system management, etc., as shown in the figure
Assessment Information Management
rural clinic management
health records management
Purchase Information Management
rural doctor management
Medical map management
Medical drug management
Village doctor function module
Rural doctors can log into the medical service system to view the homepage, personal center, announcement information management, rural clinic management, health file management, emergency management, learning and training management, assessment information management, purchase information management, system management, etc., as shown in the figure.
Personal information
Announcement information management
rural clinic management
health records management
Learning training management
Assessment Information Management
Purchase Information Management
Ordinary villager function module
Ordinary villagers can log into the medical service system to view the home page, personal center, health file management, emergency management, message board management, etc., as shown in the figure
health records management
emergency management
Message board management
Part of the core code:
package com.controller;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;
import com.entity.YiliaoyaopinEntity;
import com.entity.view.YiliaoyaopinView;
import com.service.YiliaoyaopinService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MPUtil;
import com.utils.CommonUtil;
/**
* 医疗药品
* 后端接口
* @author
* @email
* @date 2020-12-29 17:16:24
*/
@RestController
@RequestMapping("/yiliaoyaopin")
public class YiliaoyaopinController {
@Autowired
private YiliaoyaopinService yiliaoyaopinService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,YiliaoyaopinEntity yiliaoyaopin, HttpServletRequest request){
EntityWrapper<YiliaoyaopinEntity> ew = new EntityWrapper<YiliaoyaopinEntity>();
PageUtils page = yiliaoyaopinService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yiliaoyaopin), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,YiliaoyaopinEntity yiliaoyaopin, HttpServletRequest request){
EntityWrapper<YiliaoyaopinEntity> ew = new EntityWrapper<YiliaoyaopinEntity>();
PageUtils page = yiliaoyaopinService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yiliaoyaopin), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( YiliaoyaopinEntity yiliaoyaopin){
EntityWrapper<YiliaoyaopinEntity> ew = new EntityWrapper<YiliaoyaopinEntity>();
ew.allEq(MPUtil.allEQMapPre( yiliaoyaopin, "yiliaoyaopin"));
return R.ok().put("data", yiliaoyaopinService.selectListView(ew));
}
/**
* 查询
*/
@RequestMapping("/query")
public R query(YiliaoyaopinEntity yiliaoyaopin){
EntityWrapper< YiliaoyaopinEntity> ew = new EntityWrapper< YiliaoyaopinEntity>();
ew.allEq(MPUtil.allEQMapPre( yiliaoyaopin, "yiliaoyaopin"));
YiliaoyaopinView yiliaoyaopinView = yiliaoyaopinService.selectView(ew);
return R.ok("查询医疗药品成功").put("data", yiliaoyaopinView);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
YiliaoyaopinEntity yiliaoyaopin = yiliaoyaopinService.selectById(id);
return R.ok().put("data", yiliaoyaopin);
}
/**
* 前端详情
*/
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") String id){
YiliaoyaopinEntity yiliaoyaopin = yiliaoyaopinService.selectById(id);
return R.ok().put("data", yiliaoyaopin);
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody YiliaoyaopinEntity yiliaoyaopin, HttpServletRequest request){
yiliaoyaopin.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(yiliaoyaopin);
yiliaoyaopinService.insert(yiliaoyaopin);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody YiliaoyaopinEntity yiliaoyaopin, HttpServletRequest request){
yiliaoyaopin.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(yiliaoyaopin);
yiliaoyaopinService.insert(yiliaoyaopin);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody YiliaoyaopinEntity yiliaoyaopin, HttpServletRequest request){
//ValidatorUtils.validateEntity(yiliaoyaopin);
yiliaoyaopinService.updateById(yiliaoyaopin);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
yiliaoyaopinService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
/**
* 提醒接口
*/
@RequestMapping("/remind/{columnName}/{type}")
public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
@PathVariable("type") String type,@RequestParam Map<String, Object> map) {
map.put("column", columnName);
map.put("type", type);
if(type.equals("2")) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
Date remindStartDate = null;
Date remindEndDate = null;
if(map.get("remindstart")!=null) {
Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindStart);
remindStartDate = c.getTime();
map.put("remindstart", sdf.format(remindStartDate));
}
if(map.get("remindend")!=null) {
Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindEnd);
remindEndDate = c.getTime();
map.put("remindend", sdf.format(remindEndDate));
}
}
Wrapper<YiliaoyaopinEntity> wrapper = new EntityWrapper<YiliaoyaopinEntity>();
if(map.get("remindstart")!=null) {
wrapper.ge(columnName, map.get("remindstart"));
}
if(map.get("remindend")!=null) {
wrapper.le(columnName, map.get("remindend"));
}
int count = yiliaoyaopinService.selectCount(wrapper);
return R.ok().put("count", count);
}
}
Get the source code:
like, favorite, follow, comment, scan the QR code below to get the source code