README.md 30 KB

logo

RuoYi v3.8.1

基于SpringBoot+Vue前后端分离的Java快速开发框架

平台简介

若依是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。

内置功能

  1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
  2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
  3. 岗位管理:配置系统用户所属担任职务。
  4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
  5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
  6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
  7. 参数管理:对系统动态配置常用参数。
  8. 通知公告:系统通知公告信息发布维护。
  9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  10. 登录日志:系统登录日志记录查询包含登录异常。
  11. 在线用户:当前系统中活跃用户状态监控。
  12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
  13. 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
  14. 系统接口:根据业务代码自动生成相关的api接口文档。
  15. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
  16. 缓存监控:对系统的缓存信息查询,命令统计等。
  17. 在线构建器:拖动表单元素生成相应的HTML代码。
  18. 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。

    com.warewms
    ├──ruoyi-admin              //web服务入口Controller管理模块(业务表生成的Controller层代码可以放在这里的project包下面)
    │    │    └──project                //这里写你的项目业务代码Controller
    │    │    └──system                 //系统自带Controller
    │    │    └──启动类          //springboot项目启动类(默认启动地址http://localhost:8080)
    │    ├──install.sh               //linux环境下部署运行的脚本,运行后会把项目注册成系统级服务(当kill掉会自动重启,保证服务高可用存活),
    │    │                           //如果执行生成的start.sh和stop.sh在服务器上面存在两个“??”的符号。需要自己文件手动重命名去掉。注册好后可以service junior-server start 启动项目!!!
    │    ├──remove.sh                //linux环境下移除部署运行的脚本,会删掉注册好的系统级服务,即service junior-server start ,service junior-server stop...(status,restart)等命令失效
    │    ├──start.bat                //windows 下的项目部署启动脚本
    ├──ruoyi-common             //通用模块(通用工具类等)
    ├──ruoyi-framework          //框架核心模块(包含redis,druid,Log等)
    ├──ruoyi-generator          //代码生成器模块
    ├──ruoyi-quartz             //定时任务模块
    ├──ruoyi-system             //系统模块(javaBean,mapper,service等逻辑的模块,业务表生成的代码(除了controller)都可以放在这里的project包下面)
    │         └──project                //这里写你的项目业务相关代码(除了Controller之外)
    │         └──system                 //系统自带功能
    ├──ruoyi-ui                 //前端项目Vue工程(默认启动地址http://localhost:81)
    ├──doc                      //说明文档文件夹
    ├──sql                      //sql脚本文件夹
    │   └──create_db.sql                //生成数据库和用户
    │   └──create_business.sql          //用于存放你们自己业务表的sql
    │   └──quartz.sql                   //用于存放定时任务sql
    │   └──ry_20201021.sql              //系统基本表自带的sql
    ├──pom.xml                  //项目整体依赖
    
    

若依官方文档

介绍 | RuoYi

自定义代码结构

下面是除去若依源码之外的代码结构。

ruoyi-admin

├── init
│   └── StartService.java //启动服务类 初始化任务可以写在这里
└── web
    ├── controller
    │   └── warewms
    │       ├── ams
    │       │   ├── ActTransactionLogController.java //库存事务
    │       │   ├── AsnSoStrategyController.java //出入库策略
    │       │   ├── FlowConfigEventController.java //事件调用配置
    │       │   ├── FlowConfigHeaderController.java //流程配置
    │       │   ├── InvLotLocIdController.java //库存信息
    │       │   ├── InvLotattController.java //批次
    │       │   ├── LineCallController.java //
    │       │   ├── LocationPriorityHeaderController.java //路径规划
    │       │   ├── LocationViewController.java //
    │       │   ├── LotattConfigController.java //
    │       │   └── WcsTaskController.java //任务管理
    │       ├── api
    │       ├── base
    │       │   ├── BaseCustomerController.java //客户信息
    │       │   ├── BaseLocationInfoController.java //库位信息
    │       │   ├── BaseLocationZoneController.java //库区信息
    │       │   ├── BaseSkuController.java //物料信息
    │       │   ├── BaseSkuTypeController.java //物料分类
    │       │   ├── BaseSupplierController.java //供应商信息
    │       │   ├── BaseWarehouseController.java //仓库信息
    │       │   └── CodeSkuRelationshipController.java //条码品号关联信息
    │       ├── pda //pda调用
    │       │   ├── PdaController.java
    │       │   ├── PdaDocQcController.java
    │       │   └── PdaInvLotLocIdController.java
    │       └── wms
    │           ├── asn
    │           │   └── WmsDocAsnHeaderController.java //入库
    │           ├── box
    │           │   └── WmsBoxInfoController.java //容器管理
    │           ├── order
    │           │   ├── ActAllocationDetailsController.java //分配
    │           │   └── WmsDocOrderHeaderController.java //出库
    │           └── qc
    │               └── DocQcHeaderController.java //验收
------------------------------------------------------------------------------------
└── resources
│   ├── application-dev.yml
│   ├── application.yml //配置文件
│   ├── logback.xml //日志管理
│   └── mybatis
│   │   └── mybatis-config.xml //mybatis配置

warms-ams

├── agv
│   └── ndc
│       ├── AciService.java //ndc通信服务
│       ├── common
│       │   ├── Aci.java //
│       │   ├── ByteUtil.java //进制操作
│       │   ├── CRC16Util.java //循环冗余校验
│       │   └── ValType.java //
│       ├── config
│       │   └── TestTagConfig.java //
│       ├── domain //通讯实体类
│       │   ├── AmsHexdefineDetail.java //任务定义
│       │   ├── AmsHexdefineHeader.java //指令定义
│       │   ├── AmsNdcEvent.java //ndc反馈事件代码字典
│       │   └── AmsTask.java //任务列表
│       ├── entity
│       │   ├── AciInfo.java //
│       │   ├── CallbackResult.java //
│       │   ├── CarStatus.java //
│       │   ├── EventBean.java //
│       │   ├── Messageb.java //
│       │   └── Order.java //
│       ├── mapper
│       │   ├── AmsHexdefineDetailMapper.java
│       │   ├── AmsHexdefineHeaderMapper.java
│       │   ├── AmsNdcEventMapper.java
│       │   └── AmsTaskMapper.java
│       ├── service
│       │   ├── AgvInteractingService.java //ndc通讯交互
│       │   ├── IAmsHexdefineDetailService.java //任务定义
│       │   ├── IAmsHexdefineHeaderService.java //指令定义
│       │   ├── IAmsNdcEventService.java //Ndc反馈事件代码字典
│       │   ├── IAmsTaskService.java //任务管理
│       │   ├── SocketBufferService.java //NDC消息拆包
│       │   ├── StatusUpdateService.java //任务状态反馈
│       │   └── impl
│       │       ├── AgvInteractingServiceImpl.java
│       │       ├── AmsHexdefineDetailServiceImpl.java
│       │       ├── AmsHexdefineHeaderServiceImpl.java
│       │       ├── AmsNdcEventServiceImpl.java
│       │       ├── AmsTaskServiceImpl.java
│       │       ├── SocketBufferServiceImpl.java
│       │       └── StatusUpdateServiceImpl.java
│       └── thread
│           └── AutoTaskThread.java //自动下发任务
├── asn //入库
│   ├── domain
│   │   ├── WmsDocAsnDetails.java //明细
│   │   └── WmsDocAsnHeader.java //单头
│   ├── form
│   │   ├── LotattForm.java //
│   │   ├── PaForm.java //
│   │   ├── StockForm.java //
│   │   ├── StockingListForm.java //
│   │   └── UnlockForm.java //
│   ├── mapper
│   │   ├── WmsDocAsnDetailsMapper.java
│   │   └── WmsDocAsnHeaderMapper.java
│   ├── service
│   │   ├── IWmsDocAsnDetailsService.java
│   │   ├── IWmsDocAsnHeaderService.java
│   │   └── impl
│   │       ├── WmsDocAsnDetailsServiceImpl.java
│   │       └── WmsDocAsnHeaderServiceImpl.java
│   └── vo
│       ├── SearchStockSkuVO.java //
│       ├── SearchStockVO.java //
│       ├── StockingListVO.java //
│       └── WmsDocAsnDetailsVO.java //
├── box //
│   ├── domain
│   │   └── WmsBoxInfo.java
│   ├── form
│   │   └── AddBoxForm.java
│   ├── mapper
│   │   └── WmsBoxInfoMapper.java
│   └── service
│       ├── IWmsBoxInfoService.java
│       └── impl
│           └── WmsBoxInfoServiceImpl.java
├── business //
│   ├── BusinessServiceImpl.java
│   ├── IBusinessService.java
│   └── domain
│       ├── FilterLockInvLocationDTO.java //
│       ├── LocationSortComparator.java //
│       └── LocationSortDTO.java //
├── common
│   └── vo
│       └── DictVO.java //
├── config
│   ├── domain
│   │   ├── AsnSoStrategy.java //出入库策略
│   │   ├── FlowConfigDetails.java //流程配置
│   │   ├── FlowConfigEvent.java //事件调用配置
│   │   ├── FlowConfigHeader.java //流程配置
│   │   ├── LocationPriorityDetails.java //路径规划
│   │   ├── LocationPriorityHeader.java //路径规划
│   │   ├── LotattConfig.java //
│   │   ├── dto
│   │   │   ├── AgvCallDTO.java //AGV呼叫业务模型
│   │   │   ├── AgvCallItemDTO.java //入库业务模型
│   │   │   ├── InWarehouseDTO.java //出库业务模型
│   │   │   ├── LotattDTO.java //批次属性业务
│   │   │   └── OutWarehouseDTO.java
│   │   ├── form
│   │   │   └── FlowConfigForm.java
│   │   └── vo
│   │       ├── FlowConfigDetailsVO.java //流程配置
│   │       ├── FlowConfigHeaderVO.java //流程配置
│   │       ├── FlowConfigLotattVO.java //
│   │       ├── FlowConfigVO.java //流程配置
│   │       ├── LocationPriorityDetailsVO.java //库位优先级
│   │       ├── LocationPriorityHeaderVO.java //库位优先级
│   │       └── LotattConfigVO.java
│   ├── mapper
│   │   ├── AsnSoStrategyMapper.java //出入库策略
│   │   ├── FlowConfigEventMapper.java //事件调用配置
│   │   ├── FlowConfigHeaderMapper.java //流程配置
│   │   ├── LocationPriorityHeaderMapper.java //出入库策略
│   │   └── LotattConfigMapper.java
│   └── service
│       ├── IAsnSoStrategyService.java //出入库策略
│       ├── IFlowConfigEventService.java //事件调用配置
│       ├── IFlowConfigHeaderService.java //事件调用配置
│       ├── ILocationPriorityHeaderService.java //库位优先级
│       ├── ILotattConfigService.java //
│       ├── LocationAllocationStrategy.java //
│       └── impl
│           ├── AsnSoStrategyServiceImpl.java
│           ├── FlowConfigEventServiceImpl.java
│           ├── FlowConfigHeaderServiceImpl.java
│           ├── LocationPriorityHeaderServiceImpl.java
│           └── LotattConfigServiceImpl.java
├── inv //库存
│   ├── domain
│   │   ├── ActTransactionLog.java //事务信息
│   │   ├── InvLotAtt.java //批次信息
│   │   ├── InvLotLocId.java //库存信息
│   │   ├── form
│   │   │   ├── InvLocIdSearchFrom.java
│   │   │   ├── InvLotLocIdAdjForm.java
│   │   │   ├── InvLotLocIdForm.java
│   │   │   └── InvLotLocIdMoveForm.java
│   │   └── vo
│   │       └── InvLotLocIdLotattVO.java
│   ├── mapper
│   │   ├── ActTransactionLogMapper.java
│   │   ├── InvLotAttMapper.java
│   │   └── InvLotLocIdMapper.java
│   └── service
│       ├── IActTransactionLogService.java //事务
│       ├── IInvLotAttService.java //批次
│       ├── IInvLotLocIdService.java //库存信息
│       └── impl
│           ├── ActTransactionLogServiceImpl.java
│           ├── InvLotAttServiceImpl.java
│           └── InvLotLocIdServiceImpl.java
├── lineCall //物料拉动
│   ├── domain
│   │   ├── form
│   │   │   ├── LineCallDetailsForm.java
│   │   │   ├── LineCallForm.java
│   │   │   └── LineCallListFrom.java
│   │   └── vo
│   │       └── LineCallVO.java
│   └── service
│       ├── ILineCallService.java
│       └── impl
│           └── LineCallServiceImpl.java
├── locationView //库位视图
│   ├── domain
│   │   ├── form
│   │   │   └── LocationViewForm.java
│   │   └── vo
│   │       ├── LocationViewInfoVO.java
│   │       ├── LocationViewLotattVO.java
│   │       └── LocationViewVO.java
│   └── service
│       └── LocationViewService.java
├── order //出库
│   ├── domain
│   │   ├── ActAllocationDetails.java
│   │   ├── WmsDocOrderDetails.java
│   │   └── WmsDocOrderHeader.java
│   ├── dto
│   │   └── WmsDocOrderDTO.java
│   ├── form
│   │   ├── AllocationForm.java
│   │   ├── ArrangeStockForm.java //
│   │   ├── CancelOrderForm.java
│   │   ├── CheckOutForm.java //
│   │   ├── CheckOutInfoForm.java
│   │   ├── CheckOutSearchForm.java
│   │   ├── InvTallyForm.java
│   │   ├── PickForm.java
│   │   └── PickInfoForm.java
│   ├── mapper
│   │   ├── ActAllocationDetailsMapper.java
│   │   ├── WmsDocOrderDetailsMapper.java
│   │   └── WmsDocOrderHeaderMapper.java
│   ├── service
│   │   ├── IActAllocationDetailsService.java
│   │   ├── IWmsDocOrderDetailsService.java
│   │   ├── IWmsDocOrderHeaderService.java
│   │   └── impl
│   │       ├── ActAllocationDetailsServiceImpl.java
│   │       ├── WmsDocOrderDetailsServiceImpl.java
│   │       └── WmsDocOrderHeaderServiceImpl.java
│   └── vo
│       ├── CheckOutVO.java
│       ├── PickingListVO.java
│       └── StockOrderVO.java
├── qc //验收
│   ├── domain
│   │   ├── DocQcDetails.java
│   │   ├── DocQcHeader.java
│   │   ├── form
│   │   └── vo
│   │       └── DocQcListVo.java
│   ├── mapper
│   │   ├── DocQcDetailsMapper.java
│   │   └── DocQcHeaderMapper.java
│   └── service
│       ├── IDocQcDetailsService.java
│       ├── IDocQcHeaderService.java
│       └── impl
│           ├── DocQcDetailsServiceImpl.java
│           └── DocQcHeaderServiceImpl.java
└── task //任务
    ├── domain
    │   ├── WcsTask.java
    │   └── form
    │       └── TaskDispositionForm.java
    ├── dto
    │   └── WcsTaskLocationDTO.java
    ├── form
    │   └── AddTaskForm.java
    ├── mapper
    │   └── WcsTaskMapper.java
    └── service
        ├── IWcsTaskService.java
        ├── TaskDispatchService.java
        └── impl
            └── WcsTaskServiceImpl.java
-------------------------------------------------------------------------------------------
└── resources			.
	└── mapper
    ├── ams
    │   ├── ActTransactionLogMapper.xml
    │   ├── AmsHexdefineDetailMapper.xml
    │   ├── AmsHexdefineHeaderMapper.xml
    │   ├── AmsNdcEventMapper.xml
    │   ├── AmsTaskMapper.xml
    │   ├── AsnSoStrategyMapper.xml
    │   ├── FlowConfigEventMapper.xml
    │   ├── FlowConfigHeaderMapper.xml
    │   ├── InvLotAttMapper.xml
    │   ├── InvLotLocIdMapper.xml
    │   ├── LocationPriorityHeaderMapper.xml
    │   ├── LotattConfigMapper.xml
    │   ├── WcsTaskMapper.xml
    │   └── WmsDocAsnDetailsMapper.xml
    ├── box
    │   └── WmsBoxInfoMapper.xml
    ├── docAsn
    │   └── WmsDocAsnHeaderMapper.xml
    ├── docOrder
    │   ├── ActAllocationDetailsMapper.xml
    │   ├── WmsDocOrderDetailsMapper.xml
    │   └── WmsDocOrderHeaderMapper.xml
    └── docQc
        ├── DocQcDetailsMapper.xml
        └── DocQcHeaderMapper.xml

warewms-base

.
├── constant
│   └── Constant.java
├── domain
│   ├── BaseCustomer.java
│   ├── BaseIdsequence.java
│   ├── BaseLocationInfo.java
│   ├── BaseLocationZone.java
│   ├── BaseSku.java
│   ├── BaseSkuType.java
│   ├── BaseSupplier.java
│   ├── BaseWarehouse.java
│   ├── CodeSkuRelationship.java
│   ├── SysIdsequence.java
│   ├── dto
│   │   └── BaseLocationInfoSameColDTO.java
│   ├── form
│   │   └── BasLocationForm.java
│   └── vo
│       ├── BasLocationTreeSelectVO.java
│       ├── BaseLocationLotattListVO.java
│       ├── BaseLocationLotattVO.java
│       ├── CodeSkuRelationshipVO.java
│       ├── LotattInfo.java
│       ├── LotattVO.java
│       └── TreeSelectVO.java
├── mapper
│   ├── BaseCustomerMapper.java
│   ├── BaseIdsequenceMapper.java
│   ├── BaseLocationInfoMapper.java
│   ├── BaseLocationZoneMapper.java
│   ├── BaseSkuMapper.java
│   ├── BaseSkuTypeMapper.java
│   ├── BaseSupplierMapper.java
│   ├── BaseWarehouseMapper.java
│   └── CodeSkuRelationshipMapper.java
├── service
│   ├── IBaseCustomerService.java
│   ├── IBaseIdsequenceService.java
│   ├── IBaseLocationInfoService.java
│   ├── IBaseLocationZoneService.java
│   ├── IBaseSkuService.java
│   ├── IBaseSkuTypeService.java
│   ├── IBaseSupplierService.java
│   ├── IBaseWarehouseService.java
│   ├── ICodeSkuRelationshipService.java
│   └── impl
│       ├── BaseCustomerServiceImpl.java
│       ├── BaseIdsequenceServiceImpl.java
│       ├── BaseLocationInfoServiceImpl.java
│       ├── BaseLocationZoneServiceImpl.java
│       ├── BaseSkuServiceImpl.java
│       ├── BaseSkuTypeServiceImpl.java
│       ├── BaseSupplierServiceImpl.java
│       ├── BaseWarehouseServiceImpl.java
│       └── CodeSkuRelationshipServiceImpl.java
└── utils
    ├── CommonUtils.java
    └── IdSequenceUtils.java
-------------------------------------------------------------------------------------------
└── resources
		└── mapper
    	└── base
        ├── BaseCustomerMapper.xml
        ├── BaseIdsequenceMapper.xml
        ├── BaseLocationInfoMapper.xml
        ├── BaseLocationZoneMapper.xml
        ├── BaseSkuMapper.xml
        ├── BaseSkuTypeMapper.xml
        ├── BaseSupplierMapper.xml
        ├── BaseWarehouseMapper.xml
        └── CodeSkuRelationshipMapper.xml

ruoyi-ui

├── api
│   ├── ams
│   │   ├── allocation.js
│   │   ├── config.js
│   │   ├── flowConfig.js
│   │   ├── invLotLocId.js
│   │   ├── lineCall.js
│   │   ├── locationPriority.js
│   │   ├── locationView.js
│   │   ├── transactionLog.js
│   │   └── wcsTask.js
│   ├── base
│   │   ├── baseSku.js
│   │   ├── customer.js
│   │   ├── locationInfo.js
│   │   ├── locationZone.js
│   │   ├── relationship.js
│   │   ├── skuType.js
│   │   ├── supplier.js
│   │   └── warehouse.js
│   ├── box
│   │   └── boxInfo.js
│   ├── docAsn
│   │   └── docAsn.js
│   ├── docOrder
│   │   └── docOrder.js
│   ├── login.js
│   ├── menu.js
└── views
    ├── ams
    │   ├── config
    │   │   └── index.vue
    │   ├── flowConfig
    │   │   └── index.vue
    │   ├── inv
    │   │   ├── invLotLocId
    │   │   │   ├── adjDialog.vue
    │   │   │   └── index.vue
    │   │   └── locationView
    │   │       └── index.vue
    │   ├── lineCall
    │   │   └── index.vue
    │   ├── locationPriority
    │   │   └── index.vue
    │   ├── task
    │   │   └── index.vue
    │   └── transactionLog
    │       └── index.vue
    ├── base
    │   ├── baseSku
    │   │   ├── index.vue
    │   │   └── skuSearchDialog.vue
    │   ├── customer
    │   │   └── index.vue
    │   ├── locationInfo
    │   │   └── index.vue
    │   ├── locationZone
    │   │   └── index.vue
    │   ├── relationship
    │   │   └── index.vue
    │   ├── skuType
    │   │   └── index.vue
    │   ├── supplier
    │   │   └── index.vue
    │   └── warehouse
    │       └── index.vue
    ├── components
    │   └── icons
    │       ├── element-icons.js
    │       ├── index.vue
    │       └── svg-icons.js
    ├── dashboard
    │   ├── BarChart.vue
    │   ├── LineChart.vue
    │   ├── PanelGroup.vue
    │   ├── PieChart.vue
    │   ├── RaddarChart.vue
    │   └── mixins
    │       └── resize.js
    ├── error
    │   ├── 401.vue
    │   └── 404.vue
    ├── index.vue
    ├── index_v1.vue
    ├── login.vue
    ├── monitor
    │   ├── cache
    │   │   └── index.vue
    │   ├── druid
    │   │   └── index.vue
    │   ├── job
    │   │   ├── index.vue
    │   │   └── log.vue
    │   ├── logininfor
    │   │   └── index.vue
    │   ├── online
    │   │   └── index.vue
    │   ├── operlog
    │   │   └── index.vue
    │   └── server
    │       └── index.vue
    ├── redirect.vue
    ├── register.vue
    ├── system
    │   ├── config
    │   │   └── index.vue
    │   ├── dept
    │   │   └── index.vue
    │   ├── dict
    │   │   ├── data.vue
    │   │   └── index.vue
    │   ├── menu
    │   │   └── index.vue
    │   ├── notice
    │   │   └── index.vue
    │   ├── post
    │   │   └── index.vue
    │   ├── role
    │   │   ├── authUser.vue
    │   │   ├── index.vue
    │   │   └── selectUser.vue
    │   └── user
    │       ├── authRole.vue
    │       ├── index.vue
    │       └── profile
    │           ├── index.vue
    │           ├── resetPwd.vue
    │           ├── userAvatar.vue
    │           └── userInfo.vue
    ├── tool
    │   ├── build
    │   │   ├── CodeTypeDialog.vue
    │   │   ├── DraggableItem.vue
    │   │   ├── IconsDialog.vue
    │   │   ├── RightPanel.vue
    │   │   ├── TreeNodeDialog.vue
    │   │   └── index.vue
    │   ├── gen
    │   │   ├── basicInfoForm.vue
    │   │   ├── editTable.vue
    │   │   ├── genInfoForm.vue
    │   │   ├── importTable.vue
    │   │   └── index.vue
    │   └── swagger
    │       └── index.vue
    └── wms
        ├── allocation
        │   └── index.vue
        ├── box
        │   └── index.vue
        ├── docAsn
        │   ├── docAsnDetails-add-or-update.vue
        │   ├── docAsnDetails.vue
        │   ├── docAsnHeader-add-or-update.vue
        │   └── index.vue
        └── docOrder
            ├── docOrderDetails-add-or-update.vue
            ├── docOrderDetails.vue
            ├── docOrderHeader-add-or-update.vue
            └── index.vue