利用django打造自己的工作流平台(二):疫情统计系统
相关文章:
利用django打造自己的工作流平台(一):从EXCEL到流程化运作
本文是“利用django打造自己的工作流平台”系列文章的第二篇,在自己开发的工作流平台中添加了一个用于排查统计可能受感染人员的项目,可用于公司、部门对员工以及各行政单位对辖区内的人员进行受感染情况的跟踪和统计,为疫情防控贡献一点力量。演示试用地址[点击此处],两个试用账号/密码为:testuser1/testuser1, testuser2/testuser2。
对人员的排查流程如下图1所示:

图1.可能受感染人员的排查流程
疫情统计项目主页如图2所示:

图2.疫情统计项目首页
点击疫情统计项目主页上的“创建条目”链接,即可弹出新页面用于录入人员信息,填好相关信息后点击创建按钮即可,如图3所示:

图3.用于录入人员信息的页面
对于已经录入的人员信息,在疫情统计项目首页点击对应的姓名即可查看人员的详细信息;此外还可以根据图1中的流程更改人员状态。如下图4中张三当前处于"筛查中"状态,根据图1中的流程在页面下方自动生成“确认感染”、“疑似感染”、“排除感染”、“更新信息”四个按钮,前三个按钮会将人员的“当前状态”分别修改为“已确认”、“疑似”、“已排除”,与图1中的流程图一致;最后一个按钮用于将更新后的表单数据刷写到数据库,不进行状态修改。

图4.用于查看和修改已录入人员的页面
在工作流平台中添加疫情统计这个项目非常简单,只需要如下几个步骤:
1.在FSM.py中定义项目的处理流程,并在TRANS_TABLE_DICT添加项目名字和项目处理流程组成的字典项;绿色字体是列出的git新增项。

2.定义项目的model和form,用于确定使用哪些字段记录人员信息,以及字段的表现形式(文本框or下拉框等);其中model是核心,form可由model生成,主要定义各字段的显示行高、列宽等。

3.定义完model和form后,将相应的字典项填入FormAndModelDict,一级字典的key是项目名称'patient_stat',二级字典的key分别是项目中文名、项目使用的model、项目使用的form等;此外还需要将项目名称'patient_stat'添加到PRJ_NAME_LIST中,PRJ_NAME_LIST定义了各项目在工作流平台首页的排列顺序。

4. 执行python manage.py makemigrations和python manage.py migrate两条命令,将定义好的model迁移到数据库;
5.执行ps aux | grep wsgi,查看uwsgi的进程号,然后执行kill -9 9301杀死uwsgi进程;然后执行 uwsgi flow_uwsgi.ini重启uwsgi进程,项目就可以使用了。

利用django打造自己的工作流平台(二):疫情统计系统的更多相关文章
- 利用django打造自己的工作流平台(一):从EXCEL到流程化运作
因工作所需以及管理个人一些日常事项,自己基于django(一个基于python的web框架,详细介绍可查阅相关资料)开发了一个简易的工作流平台[平台地址].本文首先简要介绍工作流平台的设计思想及其在项 ...
- 利用django打造自己的工作流平台(三):团队成员任务跟踪系统
近期受疫情影响公司食堂不开放,为解决同事们的吃饭问题,部门需要在每周五统计下周的订餐情况:员工根据个人意愿选择是否从公司订下周的午餐和晚餐,一旦确定一周保持不变. 通常要完成一次部门内员工的订餐信息收 ...
- [Python] 利用Django进行Web开发系列(二)
1 编写第一个静态页面——Hello world页面 在上一篇博客<[Python] 利用Django进行Web开发系列(一)>中,我们创建了自己的目录mysite. Step1:创建视图 ...
- 利用django创建一个投票网站(二)
创建你的第一个 Django 项目, 第二部分 这一篇从第一部分(zh)结尾的地方继续讲起.本节我们将继续写 Web 投票应用,并主要关注 Django 提供的自动生成的管理页面(admin site ...
- Django打造大型企业官网(二)
三.项目环境搭建 3.1.创建项目环境和安装包 创建django项目 mkvirtualenv DjangoProject workon DjangoProject pip install -i ht ...
- 利用django框架,手把手教你搭建数据可视化系统(一)
如何使用django去构建数据可视化的 web,可视化的结果可以呈现在web上. 使用django的MTV模型搭建网站 基础铺垫-MTV模型 Created with Raphaël 2.1.0Req ...
- 2018.2最新-Scrapy+elasticSearch+Django打造搜索引擎(二)
请问您今天要来个引擎吗? 工欲善其事必先利其器 最终项目上线演示地址: http://search.mtianyan.cn 第二节:我们搞搞比利,搞搞环境的搭建.Github地址: https://g ...
- Python分布式爬虫打造搜索引擎完整版-基于Scrapy、Redis、elasticsearch和django打造一个完整的搜索引擎网站
Python分布式爬虫打造搜索引擎 基于Scrapy.Redis.elasticsearch和django打造一个完整的搜索引擎网站 https://github.com/mtianyan/Artic ...
- SharePoint 2013 工作流平台的选项不可用
问题描述 当我想创建一个SharePoint 2013 工作流的时候,打开SharePoint 2013 Designer(一下简称SPD),发现没有SharePoint 2013 工作流的选项.原来 ...
随机推荐
- Django框架之ORM的相关操作之多对多三种方式(五)
在之前的博客中已经讲述了使用ORM的多对多关系表,现在进行总结一下: 1.ORM自动帮助我们创建第三张表 2.手动创建第三张表,第三张表使用ForeignKey指向其他的两张表关联起来 3.手动创建第 ...
- 吴裕雄 python 神经网络——TensorFlow实现回归模型训练预测MNIST手写数据集
import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mnist = input_dat ...
- php头像上传插件
最近找到了一个比较简单实用的php头像上传插件,兼容IE8及以上等主流浏览器,分享给大家.效果如下: 1.首页效果图:默认显示默认图片. 2.点击图片(拥有裁剪框,可以拖动.缩放.裁剪头像等功能,注意 ...
- shell中遍历数组的几种方式
#!/bin/bash arr=( '你好') length=${#arr} echo "长度为:$length" # for 遍历 for item in ${arr[*]} d ...
- HDU 1241 Oil Deposits(经典DFS)
嗯... 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1241 很经典的一道dfs,但是注意每次查到一个@之后,都要把它变成“ * ”,然后继续dfs ...
- C语言:利用指针解决:统计一个长度为2的字符串在另外一个字符串中出现的次数。
//统计一个长度为2的字符串在另外一个字符串中出现的次数. #include <conio.h> #include <stdio.h> #include <string. ...
- jmeter csv 插件讲解
1.变量名称 name,pwd 格式表示因为文本中分割默认是逗号所以变量设置也是按此格式如果想按其他格式可以在分隔符栏自定义 2.忽略首行: 有的csv读取你希望读取的数据有header如: user ...
- Linux - 常用GUI软件
1. gdebi -- 可以代替Ubuntu software安装软件 2. System monitor -- 监控流量 3. uget -- 下载软件 4. Okular -- pdf reade ...
- CSS:定位概述
background-position 背景定位 如果,说浮动, 关键在一个 "浮" 字上面, 那么 我们的定位,关键在于一个 "位" 上. PS: 定位是我们 ...
- elasticsearch数据组织结构
elasticsearch数据组织结构 1. mapping 1.1. 简介 mapping:意为映射关系,特别是指组织结构.在此语境中可理解为数据结构,包括表结构,表约束,数据类型等 ...