# leaveSystemBasedOnLoonflow **Repository Path**: Ekct00/leave-system-based-on-loonflow ## Basic Information - **Project Name**: leaveSystemBasedOnLoonflow - **Description**: 本系统是一个基于loonflow工单系统修改而来的请假系统。 - **Primary Language**: Unknown - **License**: WTFPL - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2020-12-05 - **Last Updated**: 2025-02-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #介绍 本系统是一个基于loonflow工单系统修改而来的请假系统。 ## 知识点 1. 什么是工单系统? 工单系统是一种专业名词,是指用于记录、处理、跟踪一项工作的完成情况。 2. 什么是工作流? 工作流(Workflow),是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。工作流建模,即将工作流程中的工作如何前后组织在一起的逻辑和规则,在计算机中以恰当的模型表達并对其实施计算。 3. 什么是loonflow? 基于django的工作流引擎系统,通过http接口调用。 可以作为企业内部统一的工作流引擎,提供诸如权限申请、资源申请、发布申请、请假、报销、it服务等所有工作流场景的服务。如果有一定的开发能力建议只使用后端引擎功能,前端根据场景定制开发可分散于各个内部后台管理系统(如人事、运维、监控、cmdb等等)。 #系统架构 由知识点3可知,我们需要自己搭建一个系统来配合loonflow收集处理工单。 因此本仓库包含两个项目: 1. leaveSystem 用于收集请假信息并提交给loonflow。 2. loonflow 用于设计请假(工作流)逻辑。 #开发流程 他们都是基于Django 下一步我们让他们跑起来 先让loonflow跑起来,因为leaveSystem需要他提供API 推荐使用vagrant 避免受苦^_^ 仓库跟目录有Vagrantfile ##Loonflow 前置软件: 1. Mysql 5.7+ 2. Redis 3. Python 3.6(loonflow 官方文档推荐) 顺序执行以下流程 ``` cd loonflow virtualenv py36 --python=python3.6 source py36/bin/activate pip install -r requirements/dev.txt ``` ``` 进入mysql 控制台,或者使用Navicat mysql -uroot -p 输入密码进入 CREATE DATABASE if not exists loonflownew DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; exit 退出 mysql --one-database loonflownew < loonflow/loonflow_init.sql ``` ``` python manage.py runserver 0.0.0.0:8000 运行 ``` http://localhost:8000 账号:admin 密码:loonflow123 ##leaveSystem ``` cd leaveSystem virtualenv py36 --python=python3.6 source py36/bin/activate pip install -r requirements.txt python manage.py makemigrations python manage.py migrate python createsuperuser.py python manage.py runserver 0.0.0.0:8001 运行 ``` http://localhost:8001 账号:admin 密码:admin #参考链接(参考了一下) 1. [lonnflow文档](https://github.com/blackholll/loonflow) 2. [shutongFlow](https://github.com/youshutong2080/shutongFlow) 3. [workflowdemo](https://github.com/jimmy201602/workflowdemo)