若依项目环境搭建及使用

目录

一、搭建若依项目

根据官网搭建若依开发环境:

后台

1、git clone 将远程的若依项目拉取到本地 

2、通过IDEA打开项目

3、将若依项目中 sql文件夹中的脚本在Navicat执行

4、修改数据库连接配置信息

5、修改项目基本配置信息 ---配置Redis

前台

1、npm install

2、npm run dev

二、远程redis切换为本地redis

windows版redis下载配置地址:

三、代码生成&数据字典使用

代码生成

1、给表、字段添加注释

2、在代码生成策略(编辑)中要指定下拉框对应的数据字典的类别

3、批量生成代码

4、生成代码略有缺陷,因为ID是随机的

数据字典使用

四、菜单管理

五、若依项目二次开发


一、搭建若依项目

若依是一款开源项目

首先进行百度:

若依项目环境搭建及使用_第1张图片

 若依项目环境搭建及使用_第2张图片

 若依项目环境搭建及使用_第3张图片

 

 进行登录:若依项目环境搭建及使用_第4张图片

 

以上是在线演示模式。


接下来是正式:

若依项目环境搭建及使用_第5张图片

 若依项目环境搭建及使用_第6张图片

 若依项目环境搭建及使用_第7张图片

根据官网搭建若依开发环境:

若依项目环境搭建及使用_第8张图片

后台

1、git clone 将远程的若依项目拉取到本地 

(点击下载页面括号内的链接跳转码云gitee)

若依项目环境搭建及使用_第9张图片

 若依项目环境搭建及使用_第10张图片

 若依项目环境搭建及使用_第11张图片

 若依项目环境搭建及使用_第12张图片

若依项目环境搭建及使用_第13张图片 若依项目环境搭建及使用_第14张图片

 若依项目环境搭建及使用_第15张图片

 2、通过IDEA打开项目

 接着打开IDEA软件:

 若依项目环境搭建及使用_第16张图片

 若依项目环境搭建及使用_第17张图片

 如果切换了一个新工作区间的话,一定要及时修改maven配置

若依项目环境搭建及使用_第18张图片

若依项目环境搭建及使用_第19张图片

 若依项目环境搭建及使用_第20张图片

 3、将若依项目中 sql文件夹中的脚本在Navicat执行

若依项目环境搭建及使用_第21张图片

 若依项目环境搭建及使用_第22张图片

 接着打开MySQL创建一个属于自己的若依开发库:

若依项目环境搭建及使用_第23张图片

 创建好之后

若依项目环境搭建及使用_第24张图片

把刚才拷贝到桌面去的两个sql表脚本 导入到ruoyi库中

若依项目环境搭建及使用_第25张图片

若依项目环境搭建及使用_第26张图片

 若依项目环境搭建及使用_第27张图片

4、修改数据库连接配置信息

若依项目环境搭建及使用_第28张图片

5、修改项目基本配置信息 ---配置Redis

若依项目环境搭建及使用_第29张图片

 在此类运行

若依项目环境搭建及使用_第30张图片

 若依项目环境搭建及使用_第31张图片

 若依项目环境搭建及使用_第32张图片

 若依后台启动成功!

 然后去下载一个vue.js的插件:

若依项目环境搭建及使用_第33张图片

 若依项目环境搭建及使用_第34张图片

下载完毕之后重启IDEA即可 

前台

1、npm install

若依项目环境搭建及使用_第35张图片

 若依项目环境搭建及使用_第36张图片

 这个时候就是考验你们的网速了.......

若依项目环境搭建及使用_第37张图片

 2、npm run dev

紧接着开始运行项目即可

若依项目环境搭建及使用_第38张图片

若依项目环境搭建及使用_第39张图片

若依项目就搭建完成啦!!!

二、远程redis切换为本地redis


windows版redis下载配置地址:


https://www.cnblogs.com/cang12138/p/8880776.html

若依项目环境搭建及使用_第40张图片

 根据其中的步骤安装。

若依项目环境搭建及使用_第41张图片

 若依项目环境搭建及使用_第42张图片

下载RedisDesktopManager: 

若依项目环境搭建及使用_第43张图片

 若依项目环境搭建及使用_第44张图片

 测试连接:若依项目环境搭建及使用_第45张图片

 若依项目环境搭建及使用_第46张图片

 OK即可

若依项目环境搭建及使用_第47张图片

 再次修改配置项目基本配置信息:若依项目环境搭建及使用_第48张图片

三、代码生成&数据字典使用

代码生成

1、给表、字段添加注释

2、在代码生成策略(编辑)中要指定下拉框对应的数据字典的类别

3、批量生成代码

4、生成代码略有缺陷,因为ID是随机的

运行ssm.sql的脚本:

若依项目环境搭建及使用_第49张图片

若依项目环境搭建及使用_第50张图片

 进入项目找到 系统工具 ——> 代码生成

若依项目环境搭建及使用_第51张图片

 若依项目环境搭建及使用_第52张图片

 导入患者信息表:若依项目环境搭建及使用_第53张图片

 若依项目环境搭建及使用_第54张图片

 若依项目环境搭建及使用_第55张图片

  导入门诊信息表:若依项目环境搭建及使用_第56张图片

 若依项目环境搭建及使用_第57张图片

若依项目环境搭建及使用_第58张图片

 可以解压到桌面:

 若依项目环境搭建及使用_第59张图片

但是其中ruoyi\vue\views\system\archives中的index.vue中它性别选择是 文本框,因此我们要改变成 下拉框 ,接下来就要用到数据字典

数据字典使用

新的业务中需要用到的字典在系统管理中提前配置好

若依项目环境搭建及使用_第60张图片

若依项目环境搭建及使用_第61张图片

 若依项目环境搭建及使用_第62张图片

 若依项目环境搭建及使用_第63张图片

若依项目环境搭建及使用_第64张图片

 若依项目环境搭建及使用_第65张图片

 若依项目环境搭建及使用_第66张图片

 若依项目环境搭建及使用_第67张图片

若依项目环境搭建及使用_第68张图片

 依次增加状态:

若依项目环境搭建及使用_第69张图片

然后去到系统工具——>代码生成:

若依项目环境搭建及使用_第70张图片

若依项目环境搭建及使用_第71张图片

 

若依项目环境搭建及使用_第72张图片

 若依项目环境搭建及使用_第73张图片

再解压到桌面 

 再去查看index.vue:若依项目环境搭建及使用_第74张图片

 “dict”  就使用到了数据字典

接着把刚解压到桌面的vue文件打开,在main下找到这两个文件夹 :

若依项目环境搭建及使用_第75张图片

若依项目环境搭建及使用_第76张图片

 将其拷贝到若依项目所在文件夹里面的ruoyi-system——>src——>main:

若依项目环境搭建及使用_第77张图片

后端就搞好了;

然后前端

同样把 生成下来的api 和 views 放到 ruoyi-ui 内的 src 下:

若依项目环境搭建及使用_第78张图片

 覆盖进去:若依项目环境搭建及使用_第79张图片

 然后在 MySQL 里面 新建查询 去运行两个sql脚本:

若依项目环境搭建及使用_第80张图片

 

出现这两个结果就好了。

完毕之后,关闭后台,用JRebel启动:

若依项目环境搭建及使用_第81张图片

 运行完之后

若依项目的ruoyi-system文件下的com.ruoyi.system包就会自动添加了刚拷的代码:(如下图)

若依项目环境搭建及使用_第82张图片

我们去前端测试:

若依项目环境搭建及使用_第83张图片

患者信息内无数据,我们测试 增加/修改/删除 功能能否成功:

 若依项目环境搭建及使用_第84张图片

这里会遇到报错: 

若依项目环境搭建及使用_第85张图片

这时我们需要手动修改代码:

若依项目环境搭建及使用_第86张图片

package com.ruoyi.system.controller;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.logging.SimpleFormatter;
import javax.servlet.http.HttpServletResponse;

import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
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.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.domain.TMedicalCostPersonArchives;
import com.ruoyi.system.service.ITMedicalCostPersonArchivesService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;

/**
 * 患者信息Controller
 * 
 * @author ruoyi
 * @date 2022-09-29
 */
@RestController
@RequestMapping("/system/archives")
public class TMedicalCostPersonArchivesController extends BaseController
{
    @Autowired
    private ITMedicalCostPersonArchivesService tMedicalCostPersonArchivesService;

    /**
     * 查询患者信息列表
     */
    @PreAuthorize("@ss.hasPermi('system:archives:list')")
    @GetMapping("/list")
    public TableDataInfo list(TMedicalCostPersonArchives tMedicalCostPersonArchives)
    {
        startPage();
        List list = tMedicalCostPersonArchivesService.selectTMedicalCostPersonArchivesList(tMedicalCostPersonArchives);
        return getDataTable(list);
    }

    /**
     * 导出患者信息列表
     */
    @PreAuthorize("@ss.hasPermi('system:archives:export')")
    @Log(title = "患者信息", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, TMedicalCostPersonArchives tMedicalCostPersonArchives)
    {
        List list = tMedicalCostPersonArchivesService.selectTMedicalCostPersonArchivesList(tMedicalCostPersonArchives);
        ExcelUtil util = new ExcelUtil(TMedicalCostPersonArchives.class);
        util.exportExcel(response, list, "患者信息数据");
    }

    /**
     * 获取患者信息详细信息
     */
    @PreAuthorize("@ss.hasPermi('system:archives:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") String id)
    {
        return AjaxResult.success(tMedicalCostPersonArchivesService.selectTMedicalCostPersonArchivesById(id));
    }

    /**
     * 新增患者信息
     */
    @PreAuthorize("@ss.hasPermi('system:archives:add')")
    @Log(title = "患者信息", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody TMedicalCostPersonArchives tMedicalCostPersonArchives)
    {
        String username= SecurityUtils.getUsername();
        SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddHHmmss");
        tMedicalCostPersonArchives.setId(username+sdf.format(new Date()));
        return toAjax(tMedicalCostPersonArchivesService.insertTMedicalCostPersonArchives(tMedicalCostPersonArchives));
    }

    /**
     * 修改患者信息
     */
    @PreAuthorize("@ss.hasPermi('system:archives:edit')")
    @Log(title = "患者信息", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody TMedicalCostPersonArchives tMedicalCostPersonArchives)
    {
        return toAjax(tMedicalCostPersonArchivesService.updateTMedicalCostPersonArchives(tMedicalCostPersonArchives));
    }

    /**
     * 删除患者信息
     */
    @PreAuthorize("@ss.hasPermi('system:archives:remove')")
    @Log(title = "患者信息", businessType = BusinessType.DELETE)
	@DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable String[] ids)
    {
        return toAjax(tMedicalCostPersonArchivesService.deleteTMedicalCostPersonArchivesByIds(ids));
    }
}

再 尝试增加一次: 

若依项目环境搭建及使用_第87张图片

 

修改:

若依项目环境搭建及使用_第88张图片

 若依项目环境搭建及使用_第89张图片

 删除:

 

 若依项目环境搭建及使用_第90张图片

四、菜单管理

找到菜单管理

 点击新增:

若依项目环境搭建及使用_第91张图片

新增之后:

若依项目环境搭建及使用_第92张图片

患者信息修改到患者管理菜单下:

若依项目环境搭建及使用_第93张图片

 若依项目环境搭建及使用_第94张图片

 若依项目环境搭建及使用_第95张图片

 OK——

门诊信息修改到患者管理菜单下:

若依项目环境搭建及使用_第96张图片

若依项目环境搭建及使用_第97张图片

若依项目环境搭建及使用_第98张图片 OK——

再次刷新页面

最终菜单呈现效果如下:

若依项目环境搭建及使用_第99张图片

 后面菜单设置就按这种方式即可。

如果要把若依官网的菜单隐藏起来: 

若依项目环境搭建及使用_第100张图片

若依项目环境搭建及使用_第101张图片

 刷新:

若依项目环境搭建及使用_第102张图片

五、若依项目二次开发

1、找到前端页面,添加功能按钮

2、给功能按钮添加js方法

若依项目环境搭建及使用_第103张图片

 再复制一个建档按钮:

若依项目环境搭建及使用_第104张图片

 效果:

若依项目环境搭建及使用_第105张图片

 若依项目环境搭建及使用_第106张图片

若依项目环境搭建及使用_第107张图片

 若依项目环境搭建及使用_第108张图片

 

 

package com.ruoyi.system.domain.dto;

import com.ruoyi.system.domain.TMedicalCostOutpatientInfo;
import com.ruoyi.system.domain.TMedicalCostPersonArchives;

/**
 * @author 杨总
 * @create 2022-09-29 23:57
 */
public class ArchivesDto {
    private TMedicalCostPersonArchives archives;//这个属性要与前端formdto中的key保持一致
    private TMedicalCostOutpatientInfo info;

    public TMedicalCostPersonArchives getArchives() {
        return archives;
    }

    public void setArchives(TMedicalCostPersonArchives archives) {
        this.archives = archives;
    }

    public TMedicalCostOutpatientInfo getInfo() {
        return info;
    }

    public void setInfo(TMedicalCostOutpatientInfo info) {
        this.info = info;
    }
}

 

TMedicalCostPersonArchivesController:
/**
     * 建档
     */
    @PreAuthorize("@ss.hasPermi('system:archives:add')")
    @Log(title = "患者信息", businessType = BusinessType.INSERT)
    @PostMapping("/jiandang")
    public AjaxResult jiandang(@RequestBody ArchivesDto dto)
    {
        //获取到前端传递到后端 个人档案相关信息
        TMedicalCostPersonArchives tMedicalCostPersonArchives = dto.getArchives();
        String username= SecurityUtils.getUsername();
        SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddHHmmss");
      //患者档案ID
        String archivesID=username+sdf.format(new Date());
        tMedicalCostPersonArchives.setId(archivesID);
//      只是将个人档案信息存储到数据库
        int res = tMedicalCostPersonArchivesService.insertTMedicalCostPersonArchives(tMedicalCostPersonArchives);
        TMedicalCostOutpatientInfo info=dto.getInfo();
        info.setId(Long.valueOf((new Date().getTime()+"").substring(0,9)));
        info.setPersonid(archivesID);
        //将患者门诊卡信息添加到数据库
         res = infoService.insertTMedicalCostOutpatientInfo(info);
        return toAjax(res);
    }

若依项目环境搭建及使用_第109张图片

 

 

 运行效果:

点击建档若依项目环境搭建及使用_第110张图片

填写相关信息之后

若依项目环境搭建及使用_第111张图片

修改: 

 若依项目环境搭建及使用_第112张图片

 若依项目环境搭建及使用_第113张图片

 

删除: 

 若依项目环境搭建及使用_第114张图片

 若依项目环境搭建及使用_第115张图片

 建档增删改查功能完毕!

今日分享就到这里,再会啦!

你可能感兴趣的:(servlet,若依)